Metabolic Flux Analysis by MATLAB Le You 03-27-1014.

Post on 04-Jan-2016

221 views 1 download

Tags:

Transcript of Metabolic Flux Analysis by MATLAB Le You 03-27-1014.

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