Metabolic Flux Analysis by MATLAB Le You
Carbon metabolism is highly related to biofuel production Ethanol Hydrogen Methanol/ Butanol Fatty acids/ biodiesel
Carbon flow Carbon substrates (i.e. Glucose) ED pathway Glycolysis Pyruvate TCA cycle PP pathway G6P NADPH Biomass building blocks Carbon lost as CO 2 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 PYR Lactate 2-ketoisovalerate Valine Isobutanol Fatty acid Pentose Phosphate Pathway Leucine ED Pathway Glycolysis TCA 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 Glucose CO 2 F6P 6PG OAA CIT ICIT AKG SUC MAL PEP PYR AcCoA 3PG S7P GLX R5P X5P E4P GBP FUM CO 2 v1v1 v2v2 v3v3 v4v4 v5v5 v5v5 v6v6 v9v9 v 10 v8v8 v7v7 v 12 v 13 v 17 v 11 v 16 v 14 v 15 v 17 v 18 v 19 v 20 v 21
Genome-scale metabolic model Input/output flux Metabolic flux analysis can quantify carbon metabolism Boundary constraints Objective function Sampling Cell culture v3v3 v in A C B E D v4v4 v5v5 v2v2 v6v6 stoichiometric matrix ABCDABCD
Example Glucose G6PR5P Pyr AcCoAAcetate ICIT AKGSUC OAA v1 v2 v3 v4 v5 v6 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 *OAA *AceCoA *Pyr *G6P G6P:V1=V2+V3 R5P:V2=V4 PYR:2V3+V4=V5+V11+V12*2.833 AceCOA:V5=V6+V7 ICIT:V7=V8 AKG:V8=V9 SUC:V9=V10 OAA:V10+V11=V7 V1=11.0 mmol/g DCW/h V6=6.4 mmol/g DCW/h v 12 +V12* V12 * V12* V12*2.928
v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 S ∙ v = 0 Stoichiometric matrix 8 intracellular metabolites =
Additional constraints Objective function: maximize μ 0 < v < 20 mmol/g DCW/h obj=[ ] T lb=[ ] T ub=[ ] 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=[ ] T lb=[ ] T ub=[ ] T beq=[ ] T EXERCISES
start
Results
Optimization Toolbox for Flux Analysis Using “fmincon” solver in Optimization Toolbox for 13 C-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=[ ] T lb=[ ] T ub=[ ] T beq=[ ] T EXERCISES
Results
How to extract Stoichiometric matrix equationsToMatrix X+Y-2*Z=0 X+Y+Z=1 2*Y-Z+5=0 X + Y - 2*Z == 0 X + Y + Z == 1 2*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 =
syms Glucose G6P R5P Pyr AceCoA ICIT OAA AKG SUC biomass CO2 Acetate X2 [A,b]=equationsToMatrix([Gluc ose == 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 *OAA *AceCoA *Pyr * G6P == biomass], [G6P R5P Pyr AceCoA ICIT AKG SUC OAA]) How to extract Stoichiometric matrix 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 *OAA *AcCoA *Pyr * 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 0 -CO2 biomass S=A’
Exercises 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 *OAA *AcCoA *Pyr * G6P == biomass EXERCISES
Optimization for Flux Analysis fmincon Syntax x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) Objective function: maximize μ Initial guess (random) A,b: Matrix for linear inequality constraints e.g. v3>v2 Glucose G6PR5P Pyr AcCoAAcetate ICIT AKGSUC OAA v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 Input/output flux Intracellular flux Building block flux Aeq,beq: Matrix for linear equality constraints Mass balance lb,ub options Algorithm: 'interior-point' (default) or 'sqp' lb=[ ] T ub=[ ] T
MATLAB code using fmincon v0=Lb+rand.*(Ub-Lb); [xbest,min,exit]=fmincon(fun,v0,[],[],Aeq,beq,L b,Ub,[]); disp(xbest); Glucose G6PR5P Pyr AcCoAAcetate ICIT AKGSUC OAA v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 Input/output flux Intracellular flux Building block flux
Exercise 1 Matrix extraction 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 *OAA *AcCoA *Pyr * G6P == biomass
Glucose G6PR5P Pyr AcCoAAcetate ICIT AKGSUC OAA v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 Input/output flux Intracellular flux Building block flux Exercise 2 Flux calculation v111 v20 v v40 v v66.4 v v v90 v100 v v