Как прочитать атрибуты файла sbml с помощью libsbml

У меня есть модель sbml от Reactome, вы можете скачать ее с https://reactome.org/content/detail/R-HSA-156581 и нажав sbml. Для <reaction>, некоторые из них имеют атрибут , и я пытаюсь использовать для этого libsbml или cobrapy.

Мой код читает файл sbml, но как получить атрибут для <listOfModifiers>?

      sbml_test_file = "./R-HSA-156581.sbml"

# Using the libSBML python API
# http://model.caltech.edu/software/libsbml/5.18.0/docs/formatted/python-api/libsbml-python-reading-files.html
reader = libsbml.SBMLReader()
document = reader.readSBML(sbml_test_file)
model = document.getModel()

1 ответ

API libsbml предназначен для прямой имитации структуры самого SBML. Итак, когда у вас есть модель, вы получаете реакции от модели, а когда у вас есть реакция, вы получаете модификаторы реакции:

          import libsbml
    
    sbml_test_file = "R-HSA-156581.sbml"
    reader = libsbml.SBMLReader()
    document = reader.readSBML(sbml_test_file)
    model = document.getModel()
    for r in range(model.getNumReactions()):
        rxn = model.getReaction(r)
        for m in range(rxn.getNumModifiers()):
            mod = rxn.getModifier(m)
            print(mod.getId(), "in reaction", rxn.getId())
Другие вопросы по тегам