metabolic flux analysis by matlab le you 03-27-1014
TRANSCRIPT
Metabolic Flux Analysis by MATLAB
Le You03-27-1014
Carbon metabolism is highly related to biofuel production
Ethanol Hydrogen
Methanol/Butanol
Fatty acids/biodiesel
Carbon flowCarbon substrates
(i.e. Glucose)
ED pathway Glycolysis
Pyruvate
TCA cycle
PP pathway
G6P
NADPH Biomass building
blocks
Carbon lost as CO2
Cytosol mitochondria
Energy Amino acids
Rational metabolic engineering requires the quantification of metabolic
pathways
Production of biofuels via keto-acid pathway
GAP
Nature 2008, 451, 87
Acetyl-CoA
Glucose
PYRLactate 2-ketoisovalerate Valine
IsobutanolFatty acid
Pentose Phosphate Pathway
Pentose Phosphate Pathway
Leucine
ED PathwayGlycolysis
TCA cycleTCA cycle
Glutamate
2-keto-4-methyl-pentanoate
3-Methyl-1-butanol
Branched Chain FA
The direct measurement of in vivo enzymatic reaction rates is difficult
GAP
G6P Ru5P
GlucoseCO2
F6P
6PG
OAA CIT
ICIT
AKGSUC
MAL
PEP
PYR AcCoA
3PG
S7P
GLX
R5PX5P
E4PGBP
FUM
CO2
v1
v2
v3
v4
v5
v5
v6
v9
v10
v8
v7
v12
v13
v17
v11
v16
v14
v15
v17 v18
v19
v20
v21
Genome-scale metabolic model
Input/outputflux
Metabolic flux analysis can quantify carbon metabolism
Boundary constraints
Objective function
Sampling
Cell culture
v3
vin
A
C
BE
D
v4
v5
v2
v6
1
2
3
4
5
6
1 1 0 1 0 0 0
0 0 0 1 1 0 0
0 1 0 0 1 0 0
0 0 0 0 1 1 0
v
v
v
v
v
v
stoichiometric matrix
ABCD
ExampleGlucose
G6P R5P
Pyr
AcCoA Acetate
ICIT
AKGSUC
OAA
v1
v2
v3v4
v5v6
v7
v8
v9
v10
v11
Input/output flux
Intracellular flux
Building block flux
11 intracellular fluxes, 8 intracellular metabolites
The input/output fluxes were measured:
Biomass=1.078*AKG + 1.786*OAA + 2.928*AceCoA + 2.833*Pyr + 0.205*G6P
G6P:V1=V2+V3R5P:V2=V4PYR:2V3+V4=V5+V11+V12*2.833AceCOA:V5=V6+V7ICIT:V7=V8AKG:V8=V9SUC:V9=V10OAA:V10+V11=V7
V1=11.0 mmol/g DCW/hV6=6.4 mmol/g DCW/h
v12
+V12*0.205
+V12 *1.078
+V12*1.786
+ V12*2.928
v1v2v3v4v5v6v7v8v9v10v11v12
S ∙ v = 0Stoichiometric matrix
8 in
trac
ellu
lar
met
abol
ites
0
0
0
0
0
0
0
0
=
-1 1 1 0 0 0 0 0 0 0 0 0.205
0 -1 0 1 0 0 0 0 0 0 0 0
0 0 -2 -1 1 0 0 0 0 0 1 2.833
0 0 0 0 -1 1 1 0 0 0 0 2.928
0 0 0 0 0 0 -1 1 0 0 0 0
0 0 0 0 0 0 0 -1 1 0 0 1.078
0 0 0 0 0 0 0 0 -1 1 0 0
0 0 0 0 0 0 1 0 0 -1 -1 1.786
Additional constraints
Objective function: maximize μ
0 < v < 20 mmol/g DCW/h
obj=[0 0 0 0 0 0 0 0 0 0 0 1] T
lb=[11 0 0 0 0 6.4 0 0 0 0 0 0] T
ub=[11 20 20 20 20 6.4 20 20 20 20 20 20] T
Optimization Toolbox for Flux Analysis
To lanch optimization toolbox in MATLAB:
• In the command window, enter “optimtool”
Use “linprog” for FBA
Change to “Medium
scale-simplex”
Put the objective
vector
S∙v=0
lb and ub
Options to stop the
optimization
linprog
Aeq=
obj=[0 0 0 0 0 0 0 0 0 0 0 1] T
lb=[11 0 0 0 0 6.4 0 0 0 0 0 0] T
ub=[11 20 20 20 20 6.4 20 20 20 20 20 20] T
beq=[0 0 0 0 0 0 0 0] T
EXERCISES
-1 1 1 0 0 0 0 0 0 0 0 0.205
0 -1 0 1 0 0 0 0 0 0 0 0
0 0 -2 -1 1 0 0 0 0 0 1 2.833
0 0 0 0 -1 1 1 0 0 0 0 2.928
0 0 0 0 0 0 -1 1 0 0 0 0
0 0 0 0 0 0 0 -1 1 0 0 1.078
0 0 0 0 0 0 0 0 -1 1 0 0
0 0 0 0 0 0 1 0 0 -1 -1 1.786
start
Results
Optimization Toolbox for Flux Analysis
Using “fmincon” solver in Optimization Toolbox for 13C-MFA
Use “fmincon”
Change to “Interior
point”
Put the objective function lb and ub
S∙v=0
Initial guess
v0=Lb+rand.*(Ub-Lb)
Aeq=
obj=[0 0 0 0 0 0 0 0 0 0 0 1] T
lb=[11 0 0 0 0 6.4 0 0 0 0 0 0] T
ub=[11 20 20 20 20 6.4 20 20 20 20 20 20] T
beq=[0 0 0 0 0 0 0 0] T
EXERCISES
-1 1 1 0 0 0 0 0 0 0 0 0.205
0 -1 0 1 0 0 0 0 0 0 0 0
0 0 -2 -1 1 0 0 0 0 0 1 2.833
0 0 0 0 -1 1 1 0 0 0 0 2.928
0 0 0 0 0 0 -1 1 0 0 0 0
0 0 0 0 0 0 0 -1 1 0 0 1.078
0 0 0 0 0 0 0 0 -1 1 0 0
0 0 0 0 0 0 1 0 0 -1 -1 1.786
Results
How to extract Stoichiometric matrix
equationsToMatrix
X+Y-2*Z=0X+Y+Z=12*Y-Z+5=0
X + Y - 2*Z == 0X + Y + Z == 12*Y – Z + 5 == 0
syms x y z;[A, b] = equationsToMatrix([x + y - 2*z == 0, x + y + z == 1, 2*y - z + 5 == 0], [x y z])
[A,b] = equationsToMatrix(eqns,vars)
A = [ 1, 1, -2][ 1, 1, 1][ 0, 2, -1] b = 0 1 -5
syms Glucose G6P R5P Pyr AceCoA ICIT OAA AKG SUC biomass CO2 Acetate X2
[A,b]=equationsToMatrix([Glucose == G6P, G6P == R5P + CO2, G6P == 2*Pyr, R5P == Pyr + X2, Pyr == AceCoA + CO2, AceCoA == Acetate, AceCoA + OAA == ICIT, ICIT == AKG + CO2, AKG == SUC + CO2,SUC == OAA,Pyr + CO2 == OAA, 1.078*AKG + 1.786*OAA + 2.928*AceCoA + 2.833*Pyr + 0.205* G6P == biomass], [G6P R5P Pyr AceCoA ICIT AKG SUC OAA])
How to extract Stoichiometric matrix
Glucose == G6PG6P == R5P + CO2G6P == 2*PyrR5P == Pyr + X2Pyr == AceCoA + CO2AceCoA == AcetateAceCoA + OAA == ICITICIT == AKG + CO2 AKG == SUC + CO2 SUC == OAAPyr + CO2 == OAA 1.078*AKG + 1.786*OAA + 2.928*AcCoA + 2.833*Pyr + 0.205* G6P == biomass
A = [ -1, 0, 0, 0, 0, 0, 0, 0][ 1, -1, 0, 0, 0, 0, 0, 0][ 1, 0, -2, 0, 0, 0, 0, 0][ 0, 1, -1, 0, 0, 0, 0, 0][ 0, 0, 1, -1, 0, 0, 0, 0][ 0, 0, 0, 1, 0, 0, 0, 0][ 0, 0, 0, 1, -1, 0, 0, 1][ 0, 0, 0, 0, 1, -1, 0, 0][ 0, 0, 0, 0, 0, 1, -1, 0][ 0, 0, 0, 0, 0, 0, 1, -1][ 0, 0, 1, 0, 0, 0, 0, -1][ 41/200, 0, 2833/1000, 366/125, 0, 539/500, 0, 893/500]
b = -Glucose CO2 0 X2 CO2 Acetate 0 CO2 CO2 0 -CO2 biomass
S=A’
Exercises
-1 1 1 0 0 0 0 0 0 0 0 0.205
0 -1 0 1 0 0 0 0 0 0 0 0
0 0 -2 -1 1 0 0 0 0 0 1 2.833
0 0 0 0 -1 1 1 0 0 0 0 2.928
0 0 0 0 0 0 -1 1 0 0 0 0
0 0 0 0 0 0 0 -1 1 0 0 1.078
0 0 0 0 0 0 0 0 -1 1 0 0
0 0 0 0 0 0 1 0 0 -1 -1 1.786
Glucose == G6PG6P == R5P + CO2G6P == 2*PyrR5P == Pyr + X2Pyr == AceCoA + CO2AceCoA == AcetateAceCoA + OAA == ICITICIT == AKG + CO2 AKG == SUC + CO2 SUC == OAAPyr + CO2 == OAA 1.078*AKG + 1.786*OAA + 2.928*AcCoA + 2.833*Pyr + 0.205* G6P == biomass
EXERCISES
Optimization for Flux Analysis
fmincon
Syntaxx = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
Objective function: maximize μ
Initial guess (random)
A,b: Matrix for linear inequality constraintse.g. v3>v2
Glucose
G6P R5P
Pyr
AcCoA Acetate
ICIT
AKGSUC
OAA
v1
v2
v3v4
v5v6
v7
v8
v9
v10
v11
Input/output flux
Intracellular flux
Building block flux
Aeq,beq: Matrix for linear equality constraintsMass balance lb,ub
optionsAlgorithm: 'interior-point' (default) or 'sqp'
lb=[ 11 0 0 0 0 6.4 0 0 0 0 0 0]T
ub=[ 11 20 20 20 20 6.4 20 20 20 20 20 20]T
MATLAB code using fmincon
v0=Lb+rand.*(Ub-Lb);
fun=@(v)(-v(12));
[xbest,min,exit]=fmincon(fun,v0,[],[],Aeq,beq,Lb,Ub,[]); disp(xbest);
Glucose
G6P R5P
Pyr
AcCoA Acetate
ICIT
AKGSUC
OAA
v1
v2
v3v4
v5v6
v7
v8
v9
v10
v11
Input/output flux
Intracellular flux
Building block flux
Exercise 1
Matrix extraction
Glucose == G6PG6P == R5P + CO2G6P == 2*PyrR5P == Pyr + X2Pyr == AceCoA + CO2AceCoA == AcetateAceCoA + OAA == ICITICIT == AKG + CO2 AKG == SUC + CO2 SUC == OAAPYR + CO2 == OAA 1.078*AKG + 1.786*OAA + 2.928*AcCoA + 2.833*Pyr + 0.205* G6P == biomass
-1 1 1 0 0 0 0 0 0 0 0 0.205
0 -1 0 1 0 0 0 0 0 0 0 0
0 0 -2 -1 1 0 0 0 0 0 0 2.833
0 0 0 0 -1 1 1 0 0 0 0 0
0 0 0 0 0 0 -1 1 0 0 0 0
0 0 0 0 0 0 0 -1 1 0 0 1.078
0 0 0 0 0 0 0 0 -1 1 0 0
0 0 0 0 0 0 1 0 0 -1 -1 1.786
Glucose
G6P R5P
Pyr
AcCoA Acetate
ICIT
AKGSUC
OAA
v1
v2
v3v4
v5v6
v7
v8
v9
v10
v11
Input/output flux
Intracellular flux
Building block flux
Exercise 2
Flux calculation
v1 11v2 0v3 10.6838v4 0v5 12.5795v6 6.4v7 1.6629v8 1.6629v9 0
v10 0v11 4.4179v12 1.5426