フラックス比を制約として設定するにはどうすればよいですか?

719016

一部のデータセットでは、シミュレーションに組み込みたい固定フラックス比を観察することがあります。CBMPyでこれを行うにはどうすればよいですか?

たとえば、ここからモデルがあり、コハク酸の流出とピルビン酸の流出の比率を2.0に制限したいと思います。私は個々の反応に制約を設定する方法を知っています:

import cbmpy

# downloaded from http://bigg.ucsd.edu/models/e_coli_core
ecoli = cbmpy.CBRead.readSBML3FBC('e_coli_core.xml')

ecoli.setReactionBounds('R_EX_pyr_e', 1.0, 1000.0)
ecoli.setReactionBounds('R_EX_succ_e', 2.0, 1000.0)

# solve the model
cbmpy.doFBA(ecoli)

# get all reaction values
solution = ecoli.getReactionValues()
print(solution['R_EX_pyr_e'])
print(solution['R_EX_succ_e'])

この場合、比率は正しいですが、すべての条件で満たされるという制約としてどのように追加できますか?

クレブ

これは確かに流束均衡分析(FBA)の一般的なアプローチであり、addUserConstraintこの関数使用してこれを実現できます

コードサンプル全体は次のようになります(以下の説明)。

import cbmpy as cbm

# downloaded from http://bigg.ucsd.edu/models/e_coli_core
ecoli = cbm.CBRead.readSBML3FBC('e_coli_core.xml')

# make a clone of the original model
ecoli_ratio = ecoli.clone()

# add the desired user constraint; explanation follows below
ecoli_ratio.addUserConstraint("pyr_succ_ratio", fluxes=[(1.0, 'R_EX_pyr_e' ),(-0.5, 'R_EX_succ_e')], operator='=', rhs=0.0)

# now we have to set only one flux bound; if you think it is naturally excreted, this step is not needed
ecoli_ratio.setReactionBounds('R_EX_succ_e', 4.0, cbm.INF)

cbm.doFBA(ecoli_ratio)
solution = ecoli_ratio.getReactionValues()
print("{}: {}".format("succinate excretion rate", solution['R_EX_succ_e']))
print("{}: {}".format("pyruvate excretion rate", solution['R_EX_pyr_e']))

これは印刷されます

succinate excretion rate: 4.0
pyruvate excretion rate: 2.0

ご覧のとおり、比率は2.0希望どおりです。

もう少し説明:

制約は

J_succ / J_pyr = 2.0

に書き換えることができます

J_succ = 2.0 J_pyr

そして最後に

J_pyr - 0.5 J_succ = 0

それはまさに私たちが渡すものfluxesですaddUserConstraint

fluxes=[(1.0, 'R_EX_pyr_e' ),(-0.5, 'R_EX_succ_e')], operator='=', rhs=0.0)

以下を印刷することにより、ユーザー定義の制約を確認できます。

print(ecoli_ratio.user_constraints)
{'pyr_succ_ratio': {'operator': 'E', 'rhs': 0.0, 'fluxes': [(1.0, 'R_EX_pyr_e'), (-0.5, 'R_EX_succ_e')]}}

これは辞書であるため、次の操作を行うだけで制約を削除できます。

del ecoli_ratio.user_constraints['pyr_succ_ratio']
print(ecoli_ratio.user_constraints)
{}

ただし、モデルに大きな変更を加えるたびにクローンを作成することを強くお勧めします。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Autolayoutを使用してUIScrollviewに制約を設定するにはどうすればよいですか?

分類Dev

行列を使用してJuliaで制約を設定するにはどうすればよいですか?

分類Dev

iOSでプログラムによってアスペクト比の制約を設定するにはどうすればよいですか?

分類Dev

amadeus-java SDKを使用してフライトの料金設定と予約をテストするにはどうすればよいですか?

分類Dev

`__class __.__ name__`をクラス属性として設定するにはどうすればよいですか?

分類Dev

インデックスを変数として設定するにはどうすればよいですか?

分類Dev

AutoLayout制約の定数をスーパービューのパーセンテージとして設定するにはどうすればよいですか?

分類Dev

インターフェイスをC#ジェネリック型制約として使用するにはどうすればよいですか?

分類Dev

設定した場所だけでなく、クラス全体で制約にアクセスするにはどうすればよいですか?

分類Dev

制約を設定し、テキストサイズに比例してプログラムで画像を増やすにはどうすればよいですか?

分類Dev

Highchartsを使用してテキストボックスからグラフに動的な値を設定するにはどうすればよいですか?

分類Dev

UILabelと2つのUIImageViewの間に制約を設定するにはどうすればよいですか?

分類Dev

コントローラに制約を設定するにはどうすればよいですか?

分類Dev

テーブルビューフッターでUIViewの制約をプログラムで設定するにはどうすればよいですか?

分類Dev

UIViewのカスタムサブクラスに制約を設定するにはどうすればよいですか?

分類Dev

Xamarin XAMLで、スタイルを使用してRelativeLayoutに制約を設定するにはどうすればよいですか?

分類Dev

OpenGLでテクスチャを背景として設定するにはどうすればよいですか?

分類Dev

クラスの変数に値を設定して表示するにはどうすればよいですか?

分類Dev

スプライトを背景画像として設定するにはどうすればよいですか?

分類Dev

Androidでブラウザの意図をフルスクリーンモードとして設定するにはどうすればよいですか?

分類Dev

クラスメソッドをイベントハンドラーとして設定するにはどうすればよいですか?

分類Dev

Windows 7ラップトップをBluetoothアクセスポイントとして設定するにはどうすればよいですか?

分類Dev

環境変数をgulpタスクとして設定するにはどうすればよいですか?

分類Dev

GNOMEをデフォルトのデスクトップ環境として設定するにはどうすればよいですか?

分類Dev

すべてのチェックボックスとそのラベルを左側に次々に設定するにはどうすればよいですか?

分類Dev

ブラックリストに載っている単語を無視するために正規表現ベースの制約を使用してRubyonRailsルートを定義するにはどうすればよいですか?

分類Dev

基本クラスのインスタンスを子クラスの属性として設定するにはどうすればよいですか?

分類Dev

プライマリグラフィックカードを決定して設定するにはどうすればよいですか?

分類Dev

チェックボックスとラジオボタンにデフォルト値を設定するにはどうすればよいですか?

Related 関連記事

  1. 1

    Autolayoutを使用してUIScrollviewに制約を設定するにはどうすればよいですか?

  2. 2

    行列を使用してJuliaで制約を設定するにはどうすればよいですか?

  3. 3

    iOSでプログラムによってアスペクト比の制約を設定するにはどうすればよいですか?

  4. 4

    amadeus-java SDKを使用してフライトの料金設定と予約をテストするにはどうすればよいですか?

  5. 5

    `__class __.__ name__`をクラス属性として設定するにはどうすればよいですか?

  6. 6

    インデックスを変数として設定するにはどうすればよいですか?

  7. 7

    AutoLayout制約の定数をスーパービューのパーセンテージとして設定するにはどうすればよいですか?

  8. 8

    インターフェイスをC#ジェネリック型制約として使用するにはどうすればよいですか?

  9. 9

    設定した場所だけでなく、クラス全体で制約にアクセスするにはどうすればよいですか?

  10. 10

    制約を設定し、テキストサイズに比例してプログラムで画像を増やすにはどうすればよいですか?

  11. 11

    Highchartsを使用してテキストボックスからグラフに動的な値を設定するにはどうすればよいですか?

  12. 12

    UILabelと2つのUIImageViewの間に制約を設定するにはどうすればよいですか?

  13. 13

    コントローラに制約を設定するにはどうすればよいですか?

  14. 14

    テーブルビューフッターでUIViewの制約をプログラムで設定するにはどうすればよいですか?

  15. 15

    UIViewのカスタムサブクラスに制約を設定するにはどうすればよいですか?

  16. 16

    Xamarin XAMLで、スタイルを使用してRelativeLayoutに制約を設定するにはどうすればよいですか?

  17. 17

    OpenGLでテクスチャを背景として設定するにはどうすればよいですか?

  18. 18

    クラスの変数に値を設定して表示するにはどうすればよいですか?

  19. 19

    スプライトを背景画像として設定するにはどうすればよいですか?

  20. 20

    Androidでブラウザの意図をフルスクリーンモードとして設定するにはどうすればよいですか?

  21. 21

    クラスメソッドをイベントハンドラーとして設定するにはどうすればよいですか?

  22. 22

    Windows 7ラップトップをBluetoothアクセスポイントとして設定するにはどうすればよいですか?

  23. 23

    環境変数をgulpタスクとして設定するにはどうすればよいですか?

  24. 24

    GNOMEをデフォルトのデスクトップ環境として設定するにはどうすればよいですか?

  25. 25

    すべてのチェックボックスとそのラベルを左側に次々に設定するにはどうすればよいですか?

  26. 26

    ブラックリストに載っている単語を無視するために正規表現ベースの制約を使用してRubyonRailsルートを定義するにはどうすればよいですか?

  27. 27

    基本クラスのインスタンスを子クラスの属性として設定するにはどうすればよいですか?

  28. 28

    プライマリグラフィックカードを決定して設定するにはどうすればよいですか?

  29. 29

    チェックボックスとラジオボタンにデフォルト値を設定するにはどうすればよいですか?

ホットタグ

アーカイブ