したがって、前の質問は明らかに賢明ではありませんでした。したがって、ここに言い換えられた元の質問があります:
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 'Name' を持つモデル オブジェクトが作成されます。これは非常に単純な質問であり、適切な関数が見つかった場合、その答えは非常に簡単です。後で、反応/代謝物/などを徐々に追加して、目的の反応を割り当てることができます。もちろん直接利用することも可能cbm.CBModelTools.quickDefaultBuild
ですが、reaction/species/boundary/objectiveを追加するために必要な引数を用意する必要があります。