Satisfying Flux Balance and Mass-Action Kinetics in a ...

45
c> 0

Transcript of Satisfying Flux Balance and Mass-Action Kinetics in a ...

Page 1: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

Satisfying Flux Balance and Mass-Action Kinetics

in a Network of Biochemical Reactions

Speakers Michael Saunders and Ines Thiele

Senior Personnel Ronan Fleming, Bernhard Palsson, Yinyu Ye

Collaborators Santiago Akle, Onkar Dalal, Joshua Lerman,

Yuekai Sun, Nicole Taheri

ICME Stanford University

Systems Biology Research Group University of California, San Diego

Center for Systems Biology University of Iceland

Genomic Sciences Annual PI MeetingHyatt Regency Crystal City, VA

April 10�13, 2011

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 1/191/19

Page 2: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

AbstractComputational modeling of biochemical reaction networks willbecome increasingly dependent on large-scale numericaloptimization as the network dimensionality continues to rise. Linearoptimization, the mainstay for �ux balance analysis, is trivial forwell scaled metabolic models, but nontrivial for integrated metabolicand macromolecular synthetic networks because of the size of thestoichiometric matrix and the wide temporal scales involved. Wedescribe the �rst such reconstruction for E. coli, which accounts for43% of all its genes, and a similar reconstruction for T. maritima aswell as numerical challenges associated with �ux balance analysis.

Beyond linear optimization, we have established that a sequence ofparametric convex optimizations can be used to model theinherently nonlinear kinetic relationship between reaction �ux andmetabolite concentration. Convex optimization preserves many ofthe attractive numerical features of linear optimization algorithms.For example, given a model of a biochemical network, one canestablish a priori whether a solution will exist. The non-existence ofa solution is an indication of a malformed model arising fromincorrect stoichiometry, reaction directionality, etc.

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 2/192/19

Page 3: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

Abstract, contd

With a sequence of convex optimization problems, establishing theexistence of a �xed point for such a sequence is equally importantfor indicating when a model is malformed. We summarize recentresults establishing necessary conditions for existence of a �ux andconcentration at such a �xed point. The approach also leads to anumerically tractable algorithm for simultaneous satisfaction of �uxbalance and mass-action kinetics for a well scaled stoichiometricmodel, subject to certain conditions.

The overall objective of this work is to provide the systems biologycommunity with a new wave of computationally e�cient algorithmsfor physico-chemically realistic modeling of genome-scalebiochemical networks. We highlight open source algorithms alreadyreleased.

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 3/193/19

Page 4: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

1 Flux Balance Analysis

LP problem

2 Mass Action Kinetics

Entropy problem

3 Existence of c > 0 (homogeneous case)

Reformulation of Svf − Svr = 0Parameterized Entropy problem

Sequence of Entropy problems

4 Software

LUSOL

Other solvers

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 4/194/19

Page 5: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LP problem

Flux Balance Analysis

Leads to linear programming problems involving the stoichiometric

matrix S (Palsson 2006):

minimizevf , vr, ve

dT ve

subject to Svf − Svr + Seve = 0vf , vr ≥ 0, ` ≤ ve ≤ u

Treat as a challenging large-scale linear program:

minimizex

dT x

subject to Ax = b, ` ≤ x ≤ u

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 5/195/19

Page 6: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LP problem

Flux Balance Analysis

Leads to linear programming problems involving the stoichiometric

matrix S (Palsson 2006):

minimizevf , vr, ve

dT ve

subject to Svf − Svr + Seve = 0vf , vr ≥ 0, ` ≤ ve ≤ u

Treat as a challenging large-scale linear program:

minimizex

dT x

subject to Ax = b, ` ≤ x ≤ u

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 5/195/19

Page 7: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LP problem

Badly scaled stoichiometric constraints

When modeling biological systems, we often encounter reactions

with large coe�cients:

A + 106B → C + D

We replace these reactions with a sequence of reactions

A + 100B̂2 → C + D

100B̂1 → B̂2

100B → B̂1

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 6/196/19

Page 8: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LP problem

Badly scaled coupling constraints

Recently, reaction coupling has been used to represent

dependencies between synthesis and utilization

[Thiele et al., Biophys. J., 98(10), 2072 (2010)]:

α ≤ v1

v2≤ β

These are linear constraints:

αv2 − v1 ≤ 0 v1 − βv2 ≤ 0

We replace v1 − 106v2 ≤ 0 by a sequence of constraints:

v1 − 100s1 ≤ 0s1 − 100s2 ≤ 0s2 − 100v2 ≤ 0

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 7/197/19

Page 9: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LP problem

Badly scaled coupling constraints

Recently, reaction coupling has been used to represent

dependencies between synthesis and utilization

[Thiele et al., Biophys. J., 98(10), 2072 (2010)]:

α ≤ v1

v2≤ β

These are linear constraints:

αv2 − v1 ≤ 0 v1 − βv2 ≤ 0

We replace v1 − 106v2 ≤ 0 by a sequence of constraints:

v1 − 100s1 ≤ 0s1 − 100s2 ≤ 0s2 − 100v2 ≤ 0

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 7/197/19

Page 10: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LP problem

Badly scaled coupling constraints

Recently, reaction coupling has been used to represent

dependencies between synthesis and utilization

[Thiele et al., Biophys. J., 98(10), 2072 (2010)]:

α ≤ v1

v2≤ β

These are linear constraints:

αv2 − v1 ≤ 0 v1 − βv2 ≤ 0

We replace v1 − 106v2 ≤ 0 by a sequence of constraints:

v1 − 100s1 ≤ 0s1 − 100s2 ≤ 0s2 − 100v2 ≤ 0

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 7/197/19

Page 11: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LP problem

Example data

Ax = b

Organism Problem Dimensions

T. maritima ME_2011 18000× 17600E. coli ME_2009 21000× 25000E. coli ME_2010 68000× 77000

CPLEX simplex and barrier LP solvers applied

with Feasibility and Optimality tolerances 10−9

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 8/198/19

Page 12: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LP problem

Experimental results

CPLEX simplex solver

original with rebuild

Problem ‖b−Ax‖1 Time ‖b−Ax‖1 Time

TM 2011 2.6× 10−8 0.9 4.6× 10−9 1.2

EC 2009 4.6× 10−7 1.1 1.7× 10−7 2.1

EC 2010 1.3× 10−4 242.8 2.9× 10−6 292.3

CPLEX barrier solveroriginal with rebuild

Problem ‖b−Ax‖1 Time ‖b−Ax‖1 Time

TM 2011 7.9× 10−9 7.9 3.15× 10−9 9.8

EC 2009 3.0× 10−5 32.0 4.75× 10−6 14.0

EC 2010 1.4× 10−1 384.0 3.42× 10−6 93.3

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 9/199/19

Page 13: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LP problem

Experimental results

CPLEX simplex solver

original with rebuild

Problem ‖b−Ax‖1 Time ‖b−Ax‖1 Time

TM 2011 2.6× 10−8 0.9 4.6× 10−9 1.2

EC 2009 4.6× 10−7 1.1 1.7× 10−7 2.1

EC 2010 1.3× 10−4 242.8 2.9× 10−6 292.3

CPLEX barrier solveroriginal with rebuild

Problem ‖b−Ax‖1 Time ‖b−Ax‖1 Time

TM 2011 7.9× 10−9 7.9 3.15× 10−9 9.8

EC 2009 3.0× 10−5 32.0 4.75× 10−6 14.0

EC 2010 1.4× 10−1 384.0 3.42× 10−6 93.3

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 9/199/19

Page 14: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LP problem

Implications for Flux Balance Analysis

Our procedure addresses the numerical di�culties associated

with badly scaled linear systems that arise in systems biology

Users can more accurately model biological systems by

enforcing ill-scaled constraints

Remember to switch o� the CPLEX Presolve

A further card up sleeve: 128-bit f90 version of SQOPT

Avoiding large numbers in S is essential for rank estimation

(e.g. to evaluate conserved moieties correctly)

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 10/1910/19

Page 15: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LP problem

Implications for Flux Balance Analysis

Our procedure addresses the numerical di�culties associated

with badly scaled linear systems that arise in systems biology

Users can more accurately model biological systems by

enforcing ill-scaled constraints

Remember to switch o� the CPLEX Presolve

A further card up sleeve: 128-bit f90 version of SQOPT

Avoiding large numbers in S is essential for rank estimation

(e.g. to evaluate conserved moieties correctly)

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 10/1910/19

Page 16: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LP problem

Implications for Flux Balance Analysis

Our procedure addresses the numerical di�culties associated

with badly scaled linear systems that arise in systems biology

Users can more accurately model biological systems by

enforcing ill-scaled constraints

Remember to switch o� the CPLEX Presolve

A further card up sleeve: 128-bit f90 version of SQOPT

Avoiding large numbers in S is essential for rank estimation

(e.g. to evaluate conserved moieties correctly)

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 10/1910/19

Page 17: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LP problem

Implications for Flux Balance Analysis

Our procedure addresses the numerical di�culties associated

with badly scaled linear systems that arise in systems biology

Users can more accurately model biological systems by

enforcing ill-scaled constraints

Remember to switch o� the CPLEX Presolve

A further card up sleeve: 128-bit f90 version of SQOPT

Avoiding large numbers in S is essential for rank estimation

(e.g. to evaluate conserved moieties correctly)

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 10/1910/19

Page 18: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LP problem

Implications for Flux Balance Analysis

Our procedure addresses the numerical di�culties associated

with badly scaled linear systems that arise in systems biology

Users can more accurately model biological systems by

enforcing ill-scaled constraints

Remember to switch o� the CPLEX Presolve

A further card up sleeve: 128-bit f90 version of SQOPT

Avoiding large numbers in S is essential for rank estimation

(e.g. to evaluate conserved moieties correctly)

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 10/1910/19

Page 19: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

Entropy problem

Entropy problem with parameter p

minimizevf , vr>0

vTf (log vf + p− e) + vT

r (log vr + p− e)

subject to Svf − Svr = b : y

Optimality condition

STy ∝ log(vr ./ vf )

Optimal vf , vr are thermodynamically feasible

First numerically scalable method (polynomial complexity)

[Fleming et al., A variational principle for computing nonequilibrium �uxes and

potentials in genome-scale biochemical networks, 2011]

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 11/1911/19

Page 20: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

Entropy problem

Entropy problem with parameter p

minimizevf , vr>0

vTf (log vf + p− e) + vT

r (log vr + p− e)

subject to Svf − Svr = b : y

Optimality condition

STy ∝ log(vr ./ vf )

Optimal vf , vr are thermodynamically feasible

First numerically scalable method (polynomial complexity)

[Fleming et al., A variational principle for computing nonequilibrium �uxes and

potentials in genome-scale biochemical networks, 2011]

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 11/1911/19

Page 21: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

Entropy problem

Entropy problem with parameter p

minimizevf , vr>0

vTf (log vf + p− e) + vT

r (log vr + p− e)

subject to Svf − Svr = b : y

Optimality condition

STy ∝ log(vr ./ vf )

Optimal vf , vr are thermodynamically feasible

First numerically scalable method (polynomial complexity)

[Fleming et al., A variational principle for computing nonequilibrium �uxes and

potentials in genome-scale biochemical networks, 2011]

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 11/1911/19

Page 22: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

Reformulation of Svf − Svr = 0Parameterized Entropy problemSequence of Entropy problems

Homogeneous network (stepping stone to b 6= 0)

[S −S

] [vf

vr

]= 0 S ≡ R− F

(R− F )vf = (R− F )vr vf = diag (kf )

i cFi1i...∏

i cFini

vr = . . .

Fvr + Rvf = Fvf + Rvr v(c) =

i cYi1i...∏

i cYini

Y AT v(c) = Y Dv(c) log v(c) = Y T log c

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 12/1912/19

Page 23: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

Reformulation of Svf − Svr = 0Parameterized Entropy problemSequence of Entropy problems

Homogeneous network (stepping stone to b 6= 0)

[S −S

] [vf

vr

]= 0 S ≡ R− F

(R− F )vf = (R− F )vr vf = diag (kf )

i cFi1i...∏

i cFini

vr = . . .

Fvr + Rvf = Fvf + Rvr v(c) =

i cYi1i...∏

i cYini

Y AT v(c) = Y Dv(c) log v(c) = Y T log c

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 12/1912/19

Page 24: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

Reformulation of Svf − Svr = 0Parameterized Entropy problemSequence of Entropy problems

Homogeneous network (stepping stone to b 6= 0)

[S −S

] [vf

vr

]= 0 S ≡ R− F

(R− F )vf = (R− F )vr vf = diag (kf )

i cFi1i...∏

i cFini

vr = . . .

Fvr + Rvf = Fvf + Rvr v(c) =

i cYi1i...∏

i cYini

Y AT v(c) = Y Dv(c) log v(c) = Y T log c

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 12/1912/19

Page 25: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

Reformulation of Svf − Svr = 0Parameterized Entropy problemSequence of Entropy problems

Homogeneous network (stepping stone to b 6= 0)

[S −S

] [vf

vr

]= 0 S ≡ R− F

(R− F )vf = (R− F )vr vf = diag (kf )

i cFi1i...∏

i cFini

vr = . . .

Fvr + Rvf = Fvf + Rvr v(c) =

i cYi1i...∏

i cYini

Y AT v(c) = Y Dv(c) log v(c) = Y T log c

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 12/1912/19

Page 26: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

Reformulation of Svf − Svr = 0Parameterized Entropy problemSequence of Entropy problems

We want Y Dv = Y AT v and Y T log c = log v

Entropy problem with parameter µ

minimizev>0

vT D log v − eT Dv

subject to Y Dv = µ : y

Optimality condition

DY T y(µ) = D log v(µ) ⇔ Y T y(µ) = log v(µ)

We would like the �xed point condition

µ = Y AT v(µ)

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 13/1913/19

Page 27: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

Reformulation of Svf − Svr = 0Parameterized Entropy problemSequence of Entropy problems

We want Y Dv = Y AT v and Y T log c = log v

Entropy problem with parameter µ

minimizev>0

vT D log v − eT Dv

subject to Y Dv = µ : y

Optimality condition

DY T y(µ) = D log v(µ) ⇔ Y T y(µ) = log v(µ)

We would like the �xed point condition

µ = Y AT v(µ)

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 13/1913/19

Page 28: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

Reformulation of Svf − Svr = 0Parameterized Entropy problemSequence of Entropy problems

We want Y Dv = Y AT v and Y T log c = log v

Entropy problem with parameter µ

minimizev>0

vT D log v − eT Dv

subject to Y Dv = µ : y

Optimality condition

DY T y(µ) = D log v(µ) ⇔ Y T y(µ) = log v(µ)

We would like the �xed point condition

µ = Y AT v(µ)

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 13/1913/19

Page 29: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

Reformulation of Svf − Svr = 0Parameterized Entropy problemSequence of Entropy problems

Fixed point iteration

v ← v0 µ← Y AT v

while ‖Y Dv − Y AT v‖∞ > τ do

Solve Entropy subproblem

min vT D log v − eT Dvst Y Dv = µ

µ← (1− θ)µ + θY AT vend

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 14/1914/19

Page 30: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

Reformulation of Svf − Svr = 0Parameterized Entropy problemSequence of Entropy problems

Fixed point iteration, θ = 0.5

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 15/1915/19

Page 31: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LUSOLOther solvers

LUSOL: A sparse LU package

Factorize m× n sparse matrix S = LDUwith permutations to preserve stability and sparsity

L and U triangular Lii = 1, D diagonal, Uii = 1

Uses: Find rank(S) < m < nRemove redundant rows

Form nullspace basis

Threshold partial pivoting keeps L well-conditioned

|Lij | ≤ Ltol (5.0 or 2.0 say)

Threshold rook pivoting controls L and U

|Lij | and |Uij | ≤ Ltol (2.0 or 1.5 say)

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 16/1916/19

Page 32: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LUSOLOther solvers

LUSOL: A sparse LU package

Factorize m× n sparse matrix S = LDUwith permutations to preserve stability and sparsity

L and U triangular Lii = 1, D diagonal, Uii = 1

Uses: Find rank(S) < m < nRemove redundant rows

Form nullspace basis

Threshold partial pivoting keeps L well-conditioned

|Lij | ≤ Ltol (5.0 or 2.0 say)

Threshold rook pivoting controls L and U

|Lij | and |Uij | ≤ Ltol (2.0 or 1.5 say)

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 16/1916/19

Page 33: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LUSOLOther solvers

LUSOL: A sparse LU package

Factorize m× n sparse matrix S = LDUwith permutations to preserve stability and sparsity

L and U triangular Lii = 1, D diagonal, Uii = 1

Uses: Find rank(S) < m < nRemove redundant rows

Form nullspace basis

Threshold partial pivoting keeps L well-conditioned

|Lij | ≤ Ltol (5.0 or 2.0 say)

Threshold rook pivoting controls L and U

|Lij | and |Uij | ≤ Ltol (2.0 or 1.5 say)

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 16/1916/19

Page 34: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LUSOLOther solvers

LUSOL: A sparse LU package

Factorize m× n sparse matrix S = LDUwith permutations to preserve stability and sparsity

L and U triangular Lii = 1, D diagonal, Uii = 1

Uses: Find rank(S) < m < nRemove redundant rows

Form nullspace basis

Threshold partial pivoting keeps L well-conditioned

|Lij | ≤ Ltol (5.0 or 2.0 say)

Threshold rook pivoting controls L and U

|Lij | and |Uij | ≤ Ltol (2.0 or 1.5 say)

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 16/1916/19

Page 35: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LUSOLOther solvers

Stoichiometric matrix (rank-de�cient)

S =

26645 0 −10 0 5 00 3 0 6 −6 0−10 0 21 1 −10 10 −6 −1 −13 12 −1

3775

SVD

S = UDV T U, V orthogonal D =

266429.5

18.80.88

ε1

3775LUSOL with threshold rook pivoting Ltol= 2.0

S = LDU =

26641

1−2 1

−2 −1 1

37752664

53

1ε2

37752664

1 −2 11 2 −2

1 1 1x x x

3775

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 17/1917/19

Page 36: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LUSOLOther solvers

Stoichiometric matrix (rank-de�cient)

S =

26645 0 −10 0 5 00 3 0 6 −6 0−10 0 21 1 −10 10 −6 −1 −13 12 −1

3775SVD

S = UDV T U, V orthogonal D =

266429.5

18.80.88

ε1

3775

LUSOL with threshold rook pivoting Ltol= 2.0

S = LDU =

26641

1−2 1

−2 −1 1

37752664

53

1ε2

37752664

1 −2 11 2 −2

1 1 1x x x

3775

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 17/1917/19

Page 37: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LUSOLOther solvers

Stoichiometric matrix (rank-de�cient)

S =

26645 0 −10 0 5 00 3 0 6 −6 0−10 0 21 1 −10 10 −6 −1 −13 12 −1

3775SVD

S = UDV T U, V orthogonal D =

266429.5

18.80.88

ε1

3775LUSOL with threshold rook pivoting Ltol= 2.0

S = LDU =

26641

1−2 1

−2 −1 1

37752664

53

1ε2

37752664

1 −2 11 2 −2

1 1 1x x x

3775Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 17/1917/19

Page 38: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LUSOLOther solvers

LUSOL with rook pivoting and reducing Ltol

Sorted elements of D:

SVD 29.5 18.8 0.9 ε

Ltol 2.0 5.0 3.0 1.0 ε1.5 21.0 -13.0 0.2 ε1.1 21.0 -13.0 0.2 ε

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 18/1918/19

Page 39: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LUSOLOther solvers

Available software

LUSOL: Fortran 77, C, f90 coming

New Matlab mex interface (Nick Henderson, ICME, Stanford)

Nullspace functions:

Compute products p = Zv or q = ZT y, where ST Z = 0PDCO: Matlab

Barrier method for LP and Entropy problems

MINRES, SYMMLQ, LSQR, LSMR: f77, f90, Matlab

Iterative solvers for Ax = b, min ‖Ax− b‖SQOPT, SNOPT: f77, f90 coming

General-purpose solvers for LP, QP, NLP

Systems Optimization Laboratory

http://www.stanford.edu/group/SOL/software.html

and more (COBRA Toolbox and extensions)

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 19/1919/19

Page 40: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LUSOLOther solvers

Available software

LUSOL: Fortran 77, C, f90 coming

New Matlab mex interface (Nick Henderson, ICME, Stanford)

Nullspace functions:

Compute products p = Zv or q = ZT y, where ST Z = 0

PDCO: Matlab

Barrier method for LP and Entropy problems

MINRES, SYMMLQ, LSQR, LSMR: f77, f90, Matlab

Iterative solvers for Ax = b, min ‖Ax− b‖SQOPT, SNOPT: f77, f90 coming

General-purpose solvers for LP, QP, NLP

Systems Optimization Laboratory

http://www.stanford.edu/group/SOL/software.html

and more (COBRA Toolbox and extensions)

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 19/1919/19

Page 41: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LUSOLOther solvers

Available software

LUSOL: Fortran 77, C, f90 coming

New Matlab mex interface (Nick Henderson, ICME, Stanford)

Nullspace functions:

Compute products p = Zv or q = ZT y, where ST Z = 0PDCO: Matlab

Barrier method for LP and Entropy problems

MINRES, SYMMLQ, LSQR, LSMR: f77, f90, Matlab

Iterative solvers for Ax = b, min ‖Ax− b‖SQOPT, SNOPT: f77, f90 coming

General-purpose solvers for LP, QP, NLP

Systems Optimization Laboratory

http://www.stanford.edu/group/SOL/software.html

and more (COBRA Toolbox and extensions)

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 19/1919/19

Page 42: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LUSOLOther solvers

Available software

LUSOL: Fortran 77, C, f90 coming

New Matlab mex interface (Nick Henderson, ICME, Stanford)

Nullspace functions:

Compute products p = Zv or q = ZT y, where ST Z = 0PDCO: Matlab

Barrier method for LP and Entropy problems

MINRES, SYMMLQ, LSQR, LSMR: f77, f90, Matlab

Iterative solvers for Ax = b, min ‖Ax− b‖

SQOPT, SNOPT: f77, f90 coming

General-purpose solvers for LP, QP, NLP

Systems Optimization Laboratory

http://www.stanford.edu/group/SOL/software.html

and more (COBRA Toolbox and extensions)

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 19/1919/19

Page 43: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LUSOLOther solvers

Available software

LUSOL: Fortran 77, C, f90 coming

New Matlab mex interface (Nick Henderson, ICME, Stanford)

Nullspace functions:

Compute products p = Zv or q = ZT y, where ST Z = 0PDCO: Matlab

Barrier method for LP and Entropy problems

MINRES, SYMMLQ, LSQR, LSMR: f77, f90, Matlab

Iterative solvers for Ax = b, min ‖Ax− b‖SQOPT, SNOPT: f77, f90 coming

General-purpose solvers for LP, QP, NLP

Systems Optimization Laboratory

http://www.stanford.edu/group/SOL/software.html

and more (COBRA Toolbox and extensions)

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 19/1919/19

Page 44: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LUSOLOther solvers

Available software

LUSOL: Fortran 77, C, f90 coming

New Matlab mex interface (Nick Henderson, ICME, Stanford)

Nullspace functions:

Compute products p = Zv or q = ZT y, where ST Z = 0PDCO: Matlab

Barrier method for LP and Entropy problems

MINRES, SYMMLQ, LSQR, LSMR: f77, f90, Matlab

Iterative solvers for Ax = b, min ‖Ax− b‖SQOPT, SNOPT: f77, f90 coming

General-purpose solvers for LP, QP, NLP

Systems Optimization Laboratory

http://www.stanford.edu/group/SOL/software.html

and more (COBRA Toolbox and extensions)

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 19/1919/19

Page 45: Satisfying Flux Balance and Mass-Action Kinetics in a ...

Flux Balance AnalysisMass Action Kinetics

Existence of c > 0 (homogeneous case)Software

LUSOLOther solvers

Available software

LUSOL: Fortran 77, C, f90 coming

New Matlab mex interface (Nick Henderson, ICME, Stanford)

Nullspace functions:

Compute products p = Zv or q = ZT y, where ST Z = 0PDCO: Matlab

Barrier method for LP and Entropy problems

MINRES, SYMMLQ, LSQR, LSMR: f77, f90, Matlab

Iterative solvers for Ax = b, min ‖Ax− b‖SQOPT, SNOPT: f77, f90 coming

General-purpose solvers for LP, QP, NLP

Systems Optimization Laboratory

http://www.stanford.edu/group/SOL/software.html

and more (COBRA Toolbox and extensions)

Stanford/UCSD/Iceland Satisfying Flux Balance and Mass-Action Kinetics 19/1919/19