所以前面的问题显然没有被明智地提出。所以这是改写后的原始问题:
我正计划从 nothong 建立一个新的 GSMM(即我需要一个空模型,0 反应/代谢物/隔间/GPR/注释,但具有工具箱将接受的适当模型结构)。
我曾经使用 Matlab 和 COBRA 工具箱,但最近改用 Python 和 cbmpy 工具箱。我知道如何通过 COBRA 在 Matlab 中创建模型结构,但不知道如何使用 cbmpy 在 python 中创建模型结构。我对cmbpy的功能真的不熟悉,在这里寻求帮助。
有几种方法可以满足我的需求:
最愚蠢的方法:读取现有模型并删除其所有内容。
import cbmpy as cbm mod = cbm.CBRead.readSBML3FBC('example.xml') for ri in mod.getSpeciesIds(): mod.deleteSpecies(ri, also_delete = 'reaction')
同样,以“mod.delete ....”开头的不同功能将清除所有内容。最终你会得到一个干净的空模型。
按照 Cleb 的建议,我查看了源代码并找到了我需要的功能
import cbmpy as cbm mod = cbm.CBModel.Model('Name') mod.createSpecies('M_a_c',boundary=False,value=float('nan'),name='AA',compartment='c',charge=None,chemFormula='C2H2O2') mod.createSpecies('M_b_c',boundary=False,value=float('nan'),name='BB',compartment='c',charge=None,chemFormula='CHO') mod.createReaction('R_AB',reversible=False) mod.createReactionReagent('R_AB','M_a_c',-1.0) mod.createReactionReagent('R_AB','M_b_c',2)
然后创建一个 ID 为“名称”的模型对象。这是一个非常简单的问题,如果您找到了正确的功能,它的答案也非常简单。稍后您可以逐渐添加反应/代谢物/等并指定目标反应。当然也可以直接使用cbm.CBModelTools.quickDefaultBuild
,但您需要准备必要的参数来添加反应/物种/边界/目标。