Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
1
代謝シミュレーションの実行
2015/8/27-8
山口大学集中講義
2
内容
1. Octaveのインストール
2. Woctave+OpenCOBRAのインストール
3. E. coli Core Model
4. FBAの実行
5. 目的関数の変更
– 理論最大収率の計算
6. フラックスの上限下限の変更
– 培養条件の変更(好気、嫌気)
– 1遺伝子破壊の実行
7. 代謝反応の追加
8. 網羅的1遺伝子破壊の実行
– 必須遺伝子
– コハク酸生産
9. 網羅的2重遺伝子破壊の実行
– コハク酸生産
3
インストールするソフトウェアなど
• GNU Octave
– 数値解析ソフトウェア
– 商用ソフトMatlabに類似
• Woctave
– OctaveにGUI環境を付与
• COBRA toolbox
– FBAに使用するプログラム群
• E.coli core model
– 大腸菌の中心代謝経路のモデル
4
配布データリスト
• Octave-3.6.4-vs2010-setup.exe
– Octaveインストールファイル
• 「WOctave_1_5_0_bin」フォルダ
– WOctaveプログラム
– 「program」フォルダ
• 実習で使用するプログラム類
• 「cobra」フォルダ
– シミュレーション用toolbox
• 「function」フォルダ
– 清水研自作プログラム類
– 「Helper フォルダ」 • vcredist_x64.exe
– Octaveのインストールでエラーが生じたときにインストール(windows 64bit用)
• vcredist_x86.exe
– Octaveのインストールでエラーが生じたときにインストール(windows 32bit用)
5
Octaveのダウンロード (0)
• USBメモリからコピーする場合
– octave-3.6.4-vs2010-setup.exe
– をデスクトップにコピー
– =>Octaveのインストール(1)までスキップ
• HPからダウンロードする場合
• =>Octaveのダウンロード(1)から
6
Octaveのダウンロード (1)
• 阪大 清水研で検索
メンバー
7
Octaveのダウンロード (2)
松田史生
8
Octaveのダウンロード (3)
Octave-3.6.4-vs2010-
setup.exeダウンロード
マニュアル
9
Octaveのダウンロード (4)
クリックすると自動出来に
ダウンロードが始まる
10
Octaveのインストール (1)
• ダウンロードしたファイル「octave-3.6.4-vs2010-
setup.exe」を実行
• セットアップは基本的にデフォルトの設定でOK
11
Octaveのインストール (2)
• インストール先は変更化
• パス上に日本語が含まれない方がトラブルが生じにくい
12
Octaveのインストール (3)
• セットアップ終了
13
Octaveのインストール (4)
ここにコマンドを打つ
1+1 [リターン]
quit [リターン]
14
WOctave, OpenCOBRA のダウンロード(0)
• USBメモリからコピーする場合
– USBメモリのWOctave_1_5_0_binを
– C:¥にコピーする。
– WOctave, OpenBobra のインストール(1)までスキップ
• HPからダウンロードする場合 • WOctave, OpenBobra のダウンロード(1)から
15
Woctave+COBRAのダウンロード(1)
WOctave + COBRAtoolbox
+ 演習用スクリプト
マニュアル
16
Woctave+COBRAのインストール(1)
• Woctave_1.5.0.zipファイルをダブルクリック
• ファイルを全て展開
17
WOctaveのインストール(2)
• C:¥WOctave1_5_0_bin となるようにする。
C: ドライブ直下
WOctave1_5_0_bin
18
WOctaveのインストール(3)
• 「C:¥WOctave_1_5_0_bin¥bin」の、「WOctave」を実行
「Woctave.exe」を実行
19
WOctaveのインストール(4)
• Octaveの保存場所が指定されていないというエラーが出る
• 「OK」をクリック
20
WOctaveのインストール(5)
• WOctaveが起動起動する
21
• Octaveのパスを設定し、再起動
WOctaveのインストール(6)
(1)クリック
(2) 「bin」を選択
(3) 「OK」をクリックし、
プログラムを手動で
再起動
22
WOctaveのインストール(7)
フォルダ
変数 コマンド
入力場所
エディタ
23
openCOBRA
• openCOBRA
– The COnstraints Based Reconstruction and Analysis
(COBRA)
• http://opencobra.sourceforge.net/openCOBRA/
– ゲノムスケール代謝モデルを用いたシミュレーションに関連するプログラム
• MatlabとPython用
– Octaveでは一部の関数について使用可能
• 代謝モデルのインポート(Octave一部非対応)
• 遺伝子破壊シミュレーション
• 代謝反応の追加
24
COBRAのインストール(1)
• Woctaveといっしょにインストール済
25
実習で使用する関数とCOBRA toolboxを
使用するために
1. 下記フォルダに移動
– WOctave_1_5_0_bin¥program
クリック
C:¥WOctave_1_5_0_
bin¥program
を選んでOK
26
実習で使用する関数とCOBRA toolboxを
使用するために
addpath(genpath(pwd))
と入力してリターン
addpath : Octaveの認識パス(フォルダ)に新しいパスを追加
genpath : サブフォルダを含むパスを取得
pwd : 現在のフォルダのパス
Warning がでても無視
27
実習で使用する関数とCOBRA toolboxを
使用するために
changeCobraSolver('glpk')と入力してリターン
下記の結果が得られればOK
ans = 1
28
実習で使用する関数とCOBRA toolboxを
使用するために
program1 と入力してリターン
左下のVariablesにいろいろ出てきたらOK
29
代謝モデル:E. coli core model
• E. coli core model
– 大腸菌の中枢代謝経路を中心とした小スケールのモデル
• 解糖系、TCA回路、アミノ酸代謝etc..
• 95代謝反応、72代謝物質
– http://sbrg.ucsd.edu/Downloads/EcoliCore
• ecoli_core_model.xls
– 代謝反応、代謝物質リスト
• ecoli_core_model.xml
– SBML形式で記述された代謝モデル
• ecoli_core_model.mat
– xlsやSBML形式で記述された代謝モデルをMatlab/Octaveで読み込んだデータ
「WOctave_1_3_2_bin¥program」 フォルダ内にダウンロード済み
30
E. coli core modelのエクセルファイル
• ecoli_core_model.xls
– Metabolites
• 代謝物質リスト
– Reactions
• 代謝反応リスト
– rxn max and min
• 各代謝反応の代謝フラックスの上限下限
• 目的関数の情報
– Ecoli_core_S
• 代謝モデルの量論係数行列
• 代謝マップEcCore.xlsx
– シミュレーション結果を代謝マップでみるためのファイル
31
代謝シミュレーションの流れ
1. 代謝モデルを読み込む
– load(‘ecoli_core_model.mat’);
2. シミュレーション条件を設定する
– 目的関数の設定
• model = changeObjective(model, ‘Biomass_Ecoli_core_w_GAM’);
– グルコース取込み速度の設定
• model = changeRxnBounds(model, ‘EX_glc(e)’, -10, ’b’)
– 酸素供給条件の設定 (option)
• model = changeRxnBounds(model, ‘EX_o2(e)’, -5, ’b’)
– 遺伝子破壊 (option)
• model = changeRxnBounds(model, ‘ALCD2x’, 0, ’b’);
3. シミュレーションを実行する
– result = optimizeCbModel(model);
4. シミュレーション結果を解析する
– エクセルで解析
32
代謝モデルの読み込み(1)
• WOctaveで下記コマンドを入力
• 変数
– model
• 代謝モデルの情報を含む変数、構造体であり下記の変数を含む
– 「model.rxn」と入力することで各変数にアクセス可能
• rxns
– 反応の名前
• mets
– 代謝物質の名前
• S
– 化学量論係数行列
– 行:代謝物質、列:代謝反応
• lb
– 各反応のフラックスの下限値
• ub
– 各反応のフラックスの上限値
• c
– 目的関数の設定
load(‘ecoli_core_model.mat’)
エクセルファイル情報をOctave/Matlabのデータ形式に
変更したファイル
33
代謝モデルの読み込み(2)
確認したい変数を
ダブルクリック
変数を選択することで、
中身を確認可能
34
代謝シミュレーションの実行(1)
• 代謝シミュレーションを実行する
エラーが生じなければ、
代謝モデル使いの仲間入りです!!
• 初期計算条件
– グルコース取込み速度
• 10 mmol/gDCW/h
– 酸素供給速度
• 制限無し (好気条件)
・下記のエラーが出た場合
「error: ‘error: No solver found. call
changeCobraSolver(solverName)」
・対処
「changeCobraSolver(‘glpk’) 」を実行
load(‘ecoli_core_model.mat’)
result = optimizeCbModel(model);
35
代謝シミュレーションの実行(2)
• FBAsolution = optimizeCbModel(model, osenseStr, minNorm,
allowLoops)
• 入力
– model
• 代謝モデルの変数
– osenseStr
• 目的関数を最大にするか最小にするかを指定
• 最大化:‘max’ (デフォルト)、最小化:‘min’
• 出力
– FBAsolution
• 代謝シミュレーションの結果が入力される変数
• x
– 全ての代謝フラックスの値
• f
– 目的関数のフラックスの値
– デフォルトの場合は、増殖速度
36
計算結果の確認(1)
• 計算結果を出力し、エクセルで確認する
– flux2txt(fileName, result.x)
• fileName: 出力のテキストファイルの名前
• result.x: FBAの結果のフラックスデータ
1. 下記を実行すると「test.txt」ファイルができる
• flux2txt(‘test.txt’, result.x)
2. ファイルを開き、全てコピー
3. 「Ecoli_core_model.xls」ファイルの「reactions (result)」シートの右端の列に貼り付け
37
計算結果の確認(2)
(1)貼り付け vss (Gur = -10, O2ur = -1000)
の列と結果が等しいはず
38
計算結果を代謝マップ上で確認(1)
1. 「test.txt」ファイルファイルを開き、全てコピー
2. 「代謝マップEcCore.xlsx」ファイルの「代謝マップ」シートの「Flux1」の列に貼り付け
(1)貼り付け
39
計算結果を代謝マップ上で確認(2)
代謝フラックスの計算結果
40
目的関数の変更(1)
• 目的関数の変更
– 目的生産物質に変更し、理論最大収率を計算
– モデルの構築時に、基質(グルコースなど)から目的代
謝物質に至る代謝反応が完全につながっているかを確認
• 使用関数
– changeObjective
• 使用プログラムファイル
– program2_1.m
– program2_2.m
41
目的関数の変更(2)
• model = changeObjective(model,rxnNameList,objectiveCoeff)
• 入力
– model
• model変数
– rxnNameList
• 新しい目的関数にする反応名 (model.rxnsに対応する反応名)
– objectiveCoeff (※オプション)
• 目的関数の係数(重み付け) Default = 1
• 例) Biomassに1:Objective function = 1 x Biomass
• Biomassに1、コハク酸に0.01
• Objective function = 1 x Biomass + 0.01 x Succinate
• 出力
– model
• 新しい目的関数がセットされたmodel変数
42
目的関数の変更(3)
• 例題
– 目的関数を「コハク酸」に変更して、理論最大収率を計算する
# program2_1
clear
load('ecoli_core_model.mat');
changeCobraSolver('glpk');
# 目的関数の変更:コハク酸
model = changeObjective(model,'EX_succ(e)');
# 目的関数の係数が'1'となっている反応がコハク酸か確認
ind = find(model.c ~= 0);
disp(model.rxns(ind))
# FBAを実行
result = optimizeCbModel(model);
# コハク酸生産速度の表示
disp(result.f)
#対糖収率(c-mol)の表示
disp((result.f * 4) / (-result.x(28) * 6)*100)
#対糖収率(グラム)の表示
disp((result.f * 118.09) / (-result.x(28) * 180.16)*100)
1. flux2txt(‘suc.txt’, result.x)
2. 「suc.txt」ファイルを開き、全てコピー
3. 「Ecoli_core_model.xls」ファイルの「reactions (result)」シートの右端の列に貼り付け
4. 「代謝マップEcCore.xlsx」ファイルの「代謝マップ」シートの「Flux1」の列に貼り付け
43
目的関数の変更(4)
• 例題
– 目的関数を「コハク酸」に変更して、理論最大収率を計算する
#実行結果
{
[1,1] = EX_succ(e)
}
Production rate (mmol/gDCW/h) # コハク酸生産速度(mmol/gDCW/h)
16.384
Yield (c-mol/cmol%) # 対糖コハク酸収率(c-mol)
109.23
Yield (g/g%) # 対糖コハク酸収率(グラム)
107.39
44
目的関数の変更(4)
• 練習問題
– 目的関数を「乳酸」に変更して、理論最大収率を計算する
– 乳酸の排出反応は「'EX_lac_D(e)'」
– 乳酸の分子量:「90.08」
• 回答
• program2_2.m
45
フラックスの上限・下限の変更 (1)
• フラックスの上限下限の変更
– 遺伝子破壊、発現抑制、過剰発現を表現する
• 例) 遺伝子破壊:上限/下限共に「0」
– 培養環境を入力する
• 例) 酸素供給速度
• 使用関数
– changeRxnBounds
• 使用プログラム
– program3_1
– program3_2
– program3_3
– program3_4
46
フラックスの上限・下限の変更 (2)
• model = changeRxnBounds(model,rxnNameList,value,boundType)
• 入力
– model
• コブラ形式の代謝モデル
– rxnNameList
• 変更対象の反応名
– value
• フラックスの制限値
– boundType
• 制限の種類
• ‘u’ – 上限のみ, ‘l’ – 下限のみ, ‘b’ – 両方(Default = 'b')
• 出力
– model
• フラックスの上限・下限が更新された代謝モデル
47
培養条件の変更(1)
• 例題
– 酸素取込み速度を変更し、生産物の変化を調べる。
– 条件1:完全好気「制限無し」
– 条件2:微好気「5」
– 条件3:完全嫌気「0」
グルコース取込み速度
10 mmol/gDCW/h
# program3_1
clear
load('ecoli_core_model.mat');
changeCobraSolver('glpk');
# 好気条件
model = changeRxnBounds(model,'EX_o2(e)',1000,'u');
model = changeRxnBounds(model,'EX_o2(e)',-1000,'l');
result1 = optimizeCbModel(model);
# 微好気条件
model = changeRxnBounds(model,'EX_o2(e)',-5,'b');
result2 = optimizeCbModel(model);
# 完全嫌気条件
model = changeRxnBounds(model,'EX_o2(e)',0,'b');
result3 = optimizeCbModel(model);
48
培養条件の変更(2)
酸素供給が設定通りに変化している
酢酸生産速度が変化
エタノールとギ酸の
生産速度が増加
# 計算結果の確認
1. flux2txt('test3_1.txt', [result1.x,result2.x,result3.x])
2. 「test3_1.txt」ファイルを開き、「Ecoli_core_model.xls」ファイルの「reactions (result)」シートの右端の列に貼り付け
49
培養条件の変更(4)
• 酸素取込み速度を細かく変化させ、生産する物質の変化をFigureに描画する。
# program3_2
clear
load('ecoli_core_model.mat');
changeCobraSolver('glpk');
# 酸素取込み速度の最小値と最大値を設定
minOUR = 0;
maxOUR = 25;
fOxygen(model, minOUR, maxOUR);
– グルコース取込み速度
• 10 mmol/gDCW/h
– 酸素取込み速度
• 「0~25 mmol/gDCW/h」の間で「1」ずつ変化
– 生産物質の解析
• エタノール、乳酸、酢酸、ギ酸、コハク酸
50
培養条件の変更(5)
# fOxygen function result = fOxygen(model, minOUR, maxOUR);
# 解析範囲の酸素取込み速度
oxy = [minOUR:1:maxOUR];
# 結果を確認したい代謝物質を設定exMets=[{'Biomass_Ecoli_core_w_GAM'},{'EX_ac(e)'},{'EX_etoh(e)'},{'EX_for(e)'},{'EX_lac_D(e)'},
{'EX_succ(e)'}];
# 計算結果において結果を確認したい代謝物質のインデックスを獲得
indExMets=findRxnIDs(model,exMets);
# 酸素濃度を変更し、FBAを実行
for i=1:size(oxy,2)
model=changeRxnBounds(model,'EX_o2(e)',-oxy(i),'b');
result{i}=optimizeCbModel(model);
products(:,i) = result{i}.x(indExMets);
end
# 結果をグラフに記述
figure;
plot(oxy,products,'.-');
legend(model.rxns(indExMets));
xlabel('Oxygen uptake rate (mmol/gDCW/hr)')
ylabel('Production rate (mmol/gDCW/h)')
51
培養条件の変更(6)
• 酸素供給速度と物質生産の関係
エタノール
酢酸
ギ酸
Biomass
乳酸とコハク酸
酸素供給速度
物質生産速度
嫌気 好気
52
Figureの操作方法
Figureを
クリップボードに
コピー
Figureのサイズを
変更したときに、
図の描写を最適化
Figureの
縮尺を戻す
「右クリックとドラッグ」で
選択範囲を拡大可能
53
遺伝子破壊(1)
• 遺伝子破壊の影響を予測する。
– 対象の反応のフラックスの範囲を上限・下限とも「0」に設定
• 例) – alcohol dehydrogenaseの破壊
• model = changeRxnBounds(model, ‘ALCD2x’ ,0,’b’);
• ALCD2x
– [c] : etoh + nad <==> acald + h + nadh
– コハク酸取込み反応の破壊
• model = changeRxnBounds(model, ‘SUCCt2_2’ ,0,’b’);
• SUCCt2_2
– (2) h[e] + succ[e] --> (2) h[c] + succ[c]
54
遺伝子破壊(2)
• 嫌気条件下で生産される代謝物質の合成反応の破壊の影響を調べる。
• 計算条件
– 通気条件
• 完全嫌気
– 計算対象
1. 野生型株
2. pfl破壊株
– pyruvate formate lyase
– [c] : coa + pyr --> accoa + for
– 計算条件
– グルコース取込み速度
• 10 mmol/gDCW/h
– 酸素取込み速度
• 0mol/gDCW/h
55
遺伝子破壊(3)
# program3_3
clear
load('ecoli_core_model.mat');
changeCobraSolver('glpk');
# 完全嫌気条件
model = changeRxnBounds(model,'EX_o2(e)',0,'b');
# 野生型株
result1 = optimizeCbModel(model);
# pfl破壊
model = changeRxnBounds(model,'PFL',0,'b');
result2 = optimizeCbModel(model);
# pfl破壊株の酸素取込み速度の影響を解析
fOxygen(model, 0, 25);
title('delta-pfl')
# データのエクスポート
flux2txt('test3_3.txt', [result1.x,result2.x]);
1. 「test3_3.txt」ファイルを開き、全てコピー
2. 「Ecoli_core_model.xls」ファイルの「reactions (result)」シートの右端の列に貼り付け
3. 「代謝マップEcCore.xlsx」ファイルの「代謝マップ」シートの「Flux1」の列に貼り付け
遺伝子破壊(3)
56
遺伝子破壊(4)
• pfl破壊により代謝状態が変化
エタノール
酢酸
ギ酸
酢酸
エタノール
野生型株 pfl破壊株
57
遺伝子破壊(5)
• 練習問題
– 嫌気条件下でのコハク酸生産を目指す。
– 完全嫌気条件下において、生産速度が高い物質の生産に関する遺伝子を順に破壊し、コハク酸生産が増加する遺伝子破壊株を予測する。
• 計算条件
– グルコース取込み速度
• 10 mmol/gDCW/h
– 通気条件
• 完全嫌気
• 回答
• program3_4.m
58
反応を代謝モデルに追加(1)
• 大腸菌が元来生産しない物質について異種生物の生産経路を付与し、生産性を向上する破壊対象の遺伝子を発見したい
• 使用する関数
– addReaction_Octave
– COBRA toolboxの関数addReactionを、Octave用に微修正したもの
59
反応を代謝モデルに追加(2)
• model = addReaction_Octave(model, addRxnNames,
addRxnList)
• 入力
– model
• 代謝モデル
– addRxnNames
• 追加する反応の名前
– addRxnList
• 追加する反応のリスト
• A + B -> C + D
• C <==> 2 D など
• 出力
– model
• 新しい反応が追加された代謝モデル
60
反応を代謝モデルに追加(3)
• n-Butanol生合成反応を追加
反応名(略称) 反応名 反応式
Btoh1 Acetyl-CoA acetyltransferase 2 accoa[c] -> aacoa[c] + coa[c]
Btoh2 3-hydroxyacyl-CoA dehydrogenase aacoa[c] + h[c] + nadh[c] -> 3hbcoa[c] + nad[c]
Btoh3 3-hydroxyacyl-CoA dehydratase 3hbcoa[c] -> b2coa[c] + h2o[c]
Btoh4 btcoa dehydrogenase b2coa[c] + nadh[c] + h[c] -> btcoa[c] + nad[c]
Btoh5 Butanal dehydrogenase btcoa[c] + nadh[c] + h[c] -> btal[c] + coa[c] +
nad[c]
Btoh6 Butanol dehydrogenase btal[c] + nadh[c] + h[c] -> btoh[c] + nad[c]
Btoh_t Butanol transport reaction btoh[c] + h[c] <==> btoh[e] + h[e]
EX_btoh(e) Butanol exchange reaction btoh[e] ->
accoa aacoa 3hbcoa b2coa btcoa
btal btoh btoh[e]
accoa coa NAD
NADH
H H2O NAD NADH
H
NAD
CoA
NADH
H NADH
H NAD H H
61
反応を代謝モデルに追加(4)
# program_addReaction_1
clear
load('ecoli_core_model.mat');
changeCobraSolver('glpk');
% モデルに追加する代謝反応名リスト
addRxnNames = {'Btoh1‘,'Btoh2‘,'Btoh3‘,'Btoh4‘,'Btoh5‘,'Btoh6‘,'Btoh_t''EX_btoh(e))'};
% モデルに追加する代謝反応式
addRxnList = { '2 accoa[c] -> aacoa[c] + coa[c]‘, 'aacoa[c] + h[c] + nadh[c] -> 3hbcoa[c] + nad[c]‘,
'3hbcoa[c] -> b2coa[c] + h2o[c]', 'b2coa[c] + nadh[c] + h[c] -> btcoa[c] + nad[c]‘, 'btcoa[c] +
nadh[c] + h[c] -> btal[c] + coa[c] + nad[c]‘, 'btal[c] + nadh[c] + h[c] -> btoh[c] + nad[c]‘, 'btoh[c] +
h[c] <==> btoh[e] + h[e]‘, 'btoh[e] ->'};
% 新しい代謝反応を代謝モデルに付加
model = addReaction_Octave(model, addRxnNames, addRxnList);
model.description = 'Ecoli_core_butanol_model';
% 付け加えた代謝反応にフラックスが流れるかを確認
model = changeObjective(model,model.rxns,0);
model = changeObjective(model,'EX_btoh(e)',1);
result = optimizeCbModel(model);
disp(result.f)
62
反応を代謝モデルに追加(5)
• n-Butanol生合成反応をまとめてしまう
反応名(略称) 反応名 反応式
Btoh Acetyl-CoA acetyltransferase 2 accoa[c] + 4 NADH[c] + 4 H[c] ->
btoh[c] + 4 NAD[c] + 2 coa[c] + h2o[c]
Btoh_t Butanol transport reaction btoh[c] + h[c] <==> btoh[e] + h[e]
EX_btoh(e) Butanol exchange reaction btoh[e] ->
accoa btoh btoh[e]
accoa
4NAD
2coa
H2O
4NADH
4H H H
63
反応を代謝モデルに追加(6)
# program_addReaction_2
clear
load('ecoli_core_model.mat');
changeCobraSolver('glpk');
% モデルに追加する代謝反応名リスト
addRxnNames = {'Btoh‘,'Btoh_t''EX_btoh(e))'};
% モデルに追加する代謝反応式
addRxnList = {
'2 accoa[c] + 4 nadh[c] + 4 h[c] -> btoh[c] + 4 nad[c] + 2 coa[c] + h2o[c]‘
'btoh[c] + h[c] <==> btoh[e] + h[e]‘
'btoh[e] ->‘
};
% 新しい代謝反応を代謝モデルに付加
model = addReaction_Octave(model, addRxnNames, addRxnList);
model.description = 'Ecoli_core_butanol_model';
% 付け加えた代謝反応にフラックスが流れるかを確認
model = changeObjective(model,model.rxns,0);
model = changeObjective(model,'EX_btoh(e)',1);
result = optimizeCbModel(model);
disp(result.f)
64
反応を代謝モデルに追加(7)
• 1,3-Propanediol生合成反応
反応名(略称) 反応名 反応式
13PD_1 glyc3P dehydrogenase dhap[c] + h[c] + nadph[c] -> glyc3p[c] + nadp[c]
13PD_2 glyc3p phosphatase glyc3p[c] + h2o[c] -> glyc[c] + pi[c]
13PD_3 Glycerol dehydratase glyc[c] -> 3hpa[c] + h2o[c]
13PD_4 13PD dehydrogenase 3hpa[c] + nadh[c] + h[c] -> 13pd[c] + nad[c]
13PD_t 13PD transport reaction 13pd[c] -> 13pd[e]
EX_13pd(e) 13PD exchange reaction 13pd[e] ->
• Isobutanol生合成反応
反応名(略称) 反応名 反応式
iBtoh_1 alac synthase 2 pyr[c] + h[c] -> alac[c] + co2[c]
iBtoh_2 23dhmb reductoisomerase alac[c] + nadph[c] + h[c] -> 23dhmb[c] + nadp[c]
iBtoh_3 23dhmb dehydratase 23dhmb[c] -> 3mob[c] + h2o[c]
iBtoh_4 3mob decarboxylase 3mob[c] + h[c] -> ibtal[c] + co2[c]
iBtoh_5 iBtoh dehydrogennase ibtal[c] + nadh[c] + h[c] -> ibtoh[c] + nad[c]
iBtoh_t iBtoh transport reaction ibtoh[c] + h[c] -> ibtoh[e] + h[e]
EX_ibtoh(e) iBtoh exchange reaction ibtoh[e] ->
65
反応を代謝モデルに追加(8)
• 作成した代謝モデルを保存したい時
save ファイル名
save : データを保存する関数
ファイル名: 保存するときのファイル名
save ファイル名 変数名
save : データを保存する関数
ファイル名: 保存するときのファイル名
変数名: 指定した変数のみを保存
66
反応を代謝モデルに追加(9)
• 結果の例:n-Butanol生産に有効な3重破壊株の探索
# of
KO 生産速度[mmol/gDW/h]
破壊反応(1) 破壊反応(2)
破壊反応(3)
1 0.92
EX_etoh(e)/
ALCD2x/ETOHt2r
0.92 ACALD
2
(他
の解もある)
6.73 EX_etoh(e)/
ALCD2x/ETOHt2r
EX_ac(e)/ACKr/
ACt2r/PTAr
6.73 ACALD EX_ac(e)/ACKr/
ACt2r/PTAr
5.55 EX_etoh(e)/
ALCD2x/ETOHt2r PGI
3
(他
の解もある)
8.51 EX_etoh(e)/
ALCD2x/ETOHt2r
CYTBD/O2t/
EX_o2(e) FORt2,FORti
8.51 EX_etoh(e)/
ALCD2x/ETOHt2r
CYTBD/O2t/
EX_o2(e) PFL
8.51 ACALD CYTBD/O2t/
EX_o2(e) FORt2,FORti
Ethanol生合成経路
Acetate生合成経路
Formate
生合成経路
Cytochrome
oxydase
67
付録
• OpenCOBRAを自力でインストール
68
COBRAのインストール(1)
クリック
69
COBRAのインストール(2)
クリック
70
OctaveでCOBRA toolboxを使用するために (1)
1. Zipファイルを解凍しWOctaveのフォルダに移す
– WOctave_1_5_0_bin¥program¥cobra
2. 下記フォルダに移動
– WOctave_1_5_0_bin¥cobra¥external¥toolboxes¥glp
kmex
3. 「glpk.m」のファイル名を「_glpk.m」に変更
– Octaveには、もともとglpkが含まれているため
71
Overview of the COBRA toolbox
Schellenberger et al. Quantitative prediction of cellular metabolism with constraint-based
models: the COBRA Toolbox v2.0. Nat Protoc. 2011; 6(9): 1290–1307.