2

我有一个来自 Reactome 的 sbml 模型,您可以从https://reactome.org/content/detail/R-HSA-156581下载它并单击 sbml。对于<reaction>,其中一些具有 的属性<listOfModifiers>,我正在尝试使用 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()
4

1 回答 1

2

libsbml API 旨在直接模仿 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())
于 2021-01-22T05:25:13.977 回答