computational methods for systems and synthetic...

64
21/10/2013 François Fages C2-19 MPRI 1 Computational Methods for Systems and Synthetic Biology François Fages The French National Institute for Research in Computer Science and Control INRIA Paris-Rocquencourt Constraint Programming Group http://contraintes.inria.fr/

Upload: others

Post on 31-Oct-2019

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 1

Computational Methods for

Systems and Synthetic Biology

François Fages

The French National Institute for Research in

Computer Science and Control

INRIA Paris-Rocquencourt

Constraint Programming Group

http://contraintes.inria.fr/

Page 2: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 2

Overview of the Course

1. Rule-based modeling of biochemical systems

• Syntax: molecules, reactions, regulations, SBML/SBGN Biocham notations

• Semantics: Boolean, Differential and Stochastic interpretations of reactions

• Influence graph abstraction

• Static analyses: consistency, influence graph circuits, protein functions,…

• Examples in cell signaling, gene expression, virus infection, cell cycle

2. Temporal Logic based formalization of biological properties

• Qualitative model-checking in propositional Computation Tree Logic CTL

• Quantitative model-checking in Linear Time Logic LTL(R)

• Parameter search in high dimension w.r.t. LTL(R) specifications

• Robustness and sensitivity analyses w.r.t. LTL(R) specifications

Page 3: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 3

Biochemical Kinetics

• Study the concentration of chemical substances in a biological system as

a function of time.

• Differential and stochastic semantics of Biocham

Molecules: A1 ,…, Am

|A|=Number of molecules A

[A]=Concentration of A in the solution: [A] = |A| / Volume ML-1

Solution: S, S’, …

multiset of molecules

formal linear expression with stoichiometric coefficients: c1 *A1 +…+ cn * An

Page 4: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 4

Mass Action Law Kinetics

Assumption: each molecule moves independently of other molecules in a random

walk (diffusion, dilute solutions, low concentration)

Law: The number of interactions of A with B is proportional to the number of A

and B molecules present in the solution

The rate of a reaction A + B k C is k*A*B for some reaction constant k

The time evolution of concentrations obeys the ordinary differential equation

dC/dt = k A B

dA/dt = . . .

Page 5: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 5

Mass Action Law Kinetics

Assumption: each molecule moves independently of other molecules in a random

walk (diffusion, dilute solutions, low concentration)

Law: The number of interactions of A with B is proportional to the number of A

and B molecules present in the solution

The rate of a reaction A + B k C is k*A*B for some reaction constant k

The time evolution of concentrations obeys the ordinary differential equation

dC/dt = k A B

dA/dt = -k A B

dB/dt = -k A B

Page 6: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 6

Differential Semantics of Reaction Rules

• To a set of reaction rules with kinetic expressions ei

{ ei for Si => S’i }i=1,…,n

one associates the Ordinary Differential Equation (ODE) over {A1 ,…, Ak}

dAk/dt = Σni=1 ( ri(Ak) - li(Ak) ) * ei

where ri(A) is the stoichiometric coefficient of A in Si

li(A) is the stoichiometric coefficient of A in S’i .

Page 7: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 7

Differential Semantics of Reaction Rules

• To a set of reaction rules with kinetic expressions ei

{ ei for Si => S’I }i=1,…,n

one associates the Ordinary Differential Equation (ODE) over {A1 ,…, Ak}

dAk/dt = Σni=1 ( ri(Ak) - li(Ak) ) * ei

where ri(A) is the stoichiometric coefficient of A in Si

li(A) is the stoichiometric coefficient of A in S’i .

• Inverse problem: load_ode(file)

Page 8: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 8

Numerical Integration Methods

System dX/dt = f(X).

Initial conditions X0

Idea: discretize time t0, t1=t0+Δt, t2=t1+Δt, …

and compute a trace

(t0,X0,dX0/dt), (t1,X1,dX1/dt), …, (tn,Xn,dXn/dt)…

Page 9: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 9

Numerical Integration Methods

System dX/dt = f(X).

Initial conditions X0

Idea: discretize time t0, t1=t0+Δt, t2=t1+Δt, …

and compute a trace

(t0,X0,dX0/dt), (t1,X1,dX1/dt), …, (tn,Xn,dXn/dt)…

• Euler’s method: ti+1=ti+ Δt

Xi+1=Xi+f(Xi)*Δt

error estimation E(Xi+1)=|f(Xi)-f(Xi+1)|*Δt

Page 10: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 10

Numerical Integration Methods

System dX/dt = f(X).

Initial conditions X0

Idea: discretize time t0, t1=t0+Δt, t2=t1+Δt, …

and compute a trace

(t0,X0,dX0/dt), (t1,X1,dX1/dt), …, (tn,Xn,dXn/dt)…

• Euler’s method: ti+1=ti+ Δt

Xi+1=Xi+f(Xi)*Δt

error estimation E(Xi+1)=|f(Xi)-f(Xi+1)|*Δt

• Runge-Kutta’s method: intermediate computations at Δt/2

Page 11: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 11

Numerical Integration Methods

System dX/dt = f(X).

Initial conditions X0

Idea: discretize time t0, t1=t0+Δt, t2=t1+Δt, …

and compute a trace

(t0,X0,dX0/dt), (t1,X1,dX1/dt), …, (tn,Xn,dXn/dt)…

• Euler’s method: ti+1=ti+ Δt

Xi+1=Xi+f(Xi)*Δt

error estimation E(Xi+1)=|f(Xi)-f(Xi+1)|*Δt

• Runge-Kutta’s method: intermediate computations at Δt/2

• Adaptive step method: Δti+1= Δti/2 while E>Emax, otherwise Δti+1= 2*Δti

Page 12: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 12

Numerical Integration Methods

System dX/dt = f(X).

Initial conditions X0

Idea: discretize time t0, t1=t0+Δt, t2=t1+Δt, …

and compute a trace

(t0,X0,dX0/dt), (t1,X1,dX1/dt), …, (tn,Xn,dXn/dt)…

• Euler’s method: ti+1=ti+ Δt

Xi+1=Xi+f(Xi)*Δt

error estimation E(Xi+1)=|f(Xi)-f(Xi+1)|*Δt

• Runge-Kutta’s method: intermediate computations at Δt/2

• Adaptive step method: Δti+1= Δti/2 while E>Emax, otherwise Δti+1= 2*Δti

• Rosenbrock’s stiff method: solve Xi+1=Xi+f(Xi+1)*Δt by formal differentiation

Page 13: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 13

Signal Reception on the Membrane

present(L,0.5). present(RTK,0.01).

absent(L-RTK). absent(S).

parameter(k1,1). parameter(k2,0.1).

parameter(k3,1). parameter(k4,0.3).

(k1*[L]*[RTK], k2*[L-RTK]) for L+RTK <=> L-RTK.

(k3*[L-RTK]^2, k4*[S]) for 2*(L-RTK) <=> S.

dS/dT = …

Page 14: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 14

Signal Reception on the Membrane

present(L,0.5). present(RTK,0.01).

absent(L-RTK). absent(S).

parameter(k1,1). parameter(k2,0.1).

parameter(k3,1). parameter(k4,0.3).

(k1*[L]*[RTK], k2*[L-RTK]) for L+RTK <=> L-RTK.

(k3*[L-RTK]^2, k4*[S]) for 2*(L-RTK) <=> S.

dS/dT = k3*[L-RTK]^2 – k4*[S]

d(L-RTK)/dT = …

Page 15: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 15

Signal Reception on the Membrane

present(L,0.5). present(RTK,0.01).

absent(L-RTK). absent(S).

parameter(k1,1). parameter(k2,0.1).

parameter(k3,1). parameter(k4,0.3).

(k1*[L]*[RTK], k2*[L-RTK]) for L+RTK <=> L-RTK.

(k3*[L-RTK]^2, k4*[S]) for 2*(L-RTK) <=> S.

dS/dT = k3*[L-RTK]^2 – k4*[S]

d(L-RTK)/dT = k1*[L]*[RTK] + 2*k4*[S} –k2*[L-RTK] – 2*k3*[L-RTK]^2

Page 16: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 16

Compositionality of Reaction Rules

The union of two sets of reaction rules is a set of reaction rules… hence

rule-based models can be composed to form complex reaction models by

set union (or by multiset union with addition of the kinetics [Plotkin 05])

Page 17: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 17

Compositionality of Reaction Rules

The union of two sets of reaction rules is a set of reaction rules… hence

rule-based models can be composed to form complex reaction models by

set union (or by multiset union with addition of the kinetics [Plotkin 05])

Pb with set union: equality on rules (Biocham congruence is not enough)

Pb with multiset union: duplicated rules get double rates

Page 18: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 18

Compositionality of Reaction Rules

The union of two sets of reaction rules is a set of reaction rules… hence

rule-based models can be composed to form complex reaction models by

set union (or by multiset union with addition of the kinetics [Plotkin 05])

Pb with set union: equality on rules (Biocham congruence is not enough)

Pb with multiset union: duplicated rules get double rates

In a rule-based modular model:

• All molecular species can serve as interface variables

– controlled by other modules (endogeneous variables)

– controlled by external laws (exogeneous variables).

• Privacy is obtained by membranes (cell compartments, signalling vesicles)

• Reactions must be sufficiently decomposed to provide module interfaces

• Sufficiently general kinetics expression to be applicable in different contexts

– possibly functions of pH, temperature,…

Page 19: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 19

Single Enzymatic Reaction

• An enzyme E binds to a substrate S to catalyze the formation of product P:

E+S k1 C k2 E+P

E+S km1 C

• Mass action law kinetics ODE:

dE/dt =…

Page 20: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 20

Single Enzymatic Reaction

• An enzyme E binds to a substrate S to catalyze the formation of product P:

E+S k1 C k2 E+P

E+S km1 C

• Mass action law kinetics ODE:

dE/dt = -k1ES+(k2+km1)C

dS/dt = -k1ES+km1C

dC/dt = k1ES-(k2+km1)C

dP/dt = k2C

with two conservation laws (Σni=1 Mi = constant if Σn

i=1 dMi/dt = 0):

Page 21: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 21

Single Enzymatic Reaction

• An enzyme E binds to a substrate S to catalyze the formation of product P:

E+S k1 C k2 E+P

E+S km1 C

• Mass action law kinetics ODE:

dE/dt = -k1ES+(k2+km1)C

dS/dt = -k1ES+km1C

dC/dt = k1ES-(k2+km1)C

dP/dt = k2C

with two conservation laws (Σni=1 Mi = constant if Σn

i=1 dMi/dt = 0):

E+C=constant, S+C+P=constant,

• Assuming C0=P0=0, we get E=E0-C and S0=S+C+P

dS/dt = -k1(E0-C)S+km1C dC/dt = k1(E0-C)S-(k2+km1)C

Page 22: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 22

Multi-Scale Phenomenon Hydrolysis of benzoyl-L-arginine ethyl ester by trypsin

present(En,1e-8). present(S,1e-5). absent(C). absent(P). En << S

parameter(k1,4e6). parameter(km1,25). parameter(k2,15). k1 >> k2 (k1*[En]*[S], km1*[C]) for En+S <=> C.

k2*[C] for C => En+P.

Page 23: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 23

Multi-Scale Phenomenon Hydrolysis of benzoyl-L-arginine ethyl ester by trypsin

present(En,1e-8). present(S,1e-5). absent(C). absent(P). En << S

parameter(k1,4e6). parameter(km1,25). parameter(k2,15). k1 >> k2 (k1*[En]*[S], km1*[C]) for En+S <=> C.

k2*[C] for C => En+P.

Complex formation 5e-9 in 0.1s

Page 24: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 24

Multi-Scale Phenomenon Hydrolysis of benzoyl-L-arginine ethyl ester by trypsin

present(En,1e-8). present(S,1e-5). absent(C). absent(P). En << S

parameter(k1,4e6). parameter(km1,25). parameter(k2,15). k1 >> k2 (k1*[En]*[S], km1*[C]) for En+S <=> C.

k2*[C] for C => En+P.

Complex formation 5e-9 in 0.1s Product formation 1e-5 in 1000s

Page 25: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 25

Quasi-Steady State Approximation

Assume dC/dt=0=dE/dt

(E<<S, k1 >>k2)

we get C = E0S/(Km+S)

where Km=(k2+km1)/k1

Leonor Michaelis Maud Menten 1913

dP/dt = -dS/dt = VmS / (Km+S)

where Vm= k2E0

Page 26: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

Assume dC/dt=0=dE/dt

(E<<S, k1 >>k2)

we get C = E0S/(Km+S)

where Km=(k2+km1)/k1

dP/dt = -dS/dt = VmS / (Km+S)

where Vm= k2E0 maximum velocity at saturing substrate concentration

21/10/2013 François Fages C2-19 MPRI 26

Quasi-Steady State Approximation

Page 27: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

Assume dC/dt=0=dE/dt

(E<<S, k1 >>k2)

we get C = E0S/(Km+S)

where Km=(k2+km1)/k1

substrate concentration with half maximum velocity

dP/dt = -dS/dt = VmS / (Km+S)

where Vm= k2E0 maximum velocity at saturing substrate concentration

21/10/2013 François Fages C2-19 MPRI 27

Quasi-Steady State Approximation

Page 28: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

Assume dC/dt=0=dE/dt

(E<<S, k1 >>k2)

we get C = E0S/(Km+S)

where Km=(k2+km1)/k1

substrate concentration with half maximum velocity

dP/dt = -dS/dt = VmS / (Km+S)

where Vm= k2E0 maximum velocity at saturing substrate concentration

Michaelis-Menten kinetics: VmS /(Km+S) for S => P

C is eliminated, E is supposed constant and acting on only one substrate

the enzyme E is no longer a system’s variable

should not write VmS /(Km+S) for S =[E]=> P

21/10/2013 François Fages C2-19 MPRI 28

Quasi-Steady State Approximation

Page 29: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 29

Michaelis Menten Kinetics

parameter(E0,1e-8).

macro(Vm, k2*E0).

macro(Km, (km1+k2)/k1).

MM(Vm,Km) for S ==> P.

or equivalently

macro(Kf, Vm*[S]/(Km+[S])).

Kf for S ==> P.

Page 30: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

ODE vs Stochastic Approaches

num

ber

of dis

cre

te s

tate

pro

babili

ties

chemical master equation

number of moments for describing the joint distribution of fluid variables

infinitely many moments

2 1 deterministic

limit/ ODE

approach

linear noise approximation

moment closure/MM

hybrid fluid models

(Fluid Stochastic

Petri Nets, Stochastic

Hybrid Automata,…)

truncation approaches (FSP, FAU, …)

After Verena Wolf,

U. Saarbrucken

Page 31: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

Moment Equations (1)

Start from master equation:

x is vector of molecule numbers

is propensity of jth reaction

is change vector of jth reaction

is probability of x at time t

Page 32: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

Moment Equations (2)

Consider time evolution of mean:

plug master equation in and simplify ...

involves higher moments if jth reaction is at least bimolecular, e.g.

next: replace by a Taylor series about mean After Verena Wolf,

U. Saarbrucken

Page 33: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

Moment Equations (3)

time evolution of the mean:

Taylor series (one-dimensional case) about the mean:

and thus

=0 in general: (co-)variances appear here

and give more detailed description of

time evolution of the mean

if law of mass action and at most

bimolecular reactions,

terms of order >2 are zero

order 1 approx

After Verena Wolf,

U. Saarbrucken

Page 34: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

Moment Equations – Example 1

Example: order 1 approximation:

After Verena Wolf,

U. Saarbrucken

Page 35: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

Moment Closure Example 1

Example:

order-2 approximation:

exact time evolution of means:

=> approximate time evolution of covariance

After Verena Wolf,

U. Saarbrucken

Page 36: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

Moment Equations (5)

Close after 2nd

moment => approximation because we set all higher centered moments to zero

Equations for rate functions that are at most quadratic:

Integrating this is as easy as implementing the SSA!!

There are many examples where means + covariances give a very good approximation since distributions are often similar to multivariate normal distribution (even when populations are small)

After Verena Wolf,

U. Saarbrucken

Page 37: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

Moment Closure Example 1

time evolution of means (including approximation of the covariances) and covariances

After Verena Wolf,

U. Saarbrucken

Page 38: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

Moment Closure Example 2

Species

Proteins: X1, X2

Promoter state: DNA, DNA.X1, DNA.X2

Exclusive Switch (Loinger et al., Phy. Rev. E, 2007)

Reactions

DNA ⟶ DNA+ Xi

Xi ⟶ 0

DNA+Xi ⟷ DNA.Xi

DNA.Xi ⟶ DNA.Xi + Xi

After Verena Wolf,

U. Saarbrucken

Page 39: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

Moment Closure Example 2 Exclusive Switch (Loinger et al., Phy. Rev. E, 2007)

0 50 1000

50

100

P1

P2

0 50 1000

50

100

P1

P2

X1

X2

X1

X1

X2

⟵ low rate for binding to the promoter

high rate for binding to the promoter ⟶

Page 40: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

Moment Closure Example 2 Exclusive Switch (Loinger et al., Phy. Rev. E, 2007)

X1

low binding rate

After Verena Wolf,

U. Saarbrucken

Page 41: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

Moment Closure Example 2

X1

high binding rate

order 4

(normal

pdf uses only mean and covariance matrix)

Exclusive Switch (Loinger et al., Phy. Rev. E, 2007)

Page 42: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

Moment Closure Example 2 Exclusive Switch (Loinger et al., Phy. Rev. E, 2007)

X1

X2

X2

⟵ low rate for binding to the promoter

high rate for binding to the promoter ⟶

how good is moment

closure?

means

means

order 2 approximation

Page 43: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

Moment Closure Example 2 Exclusive Switch (Loinger et al., Phy. Rev. E, 2007)

X1

⟵ low rate for binding to the promoter

high rate for binding to the promoter ⟶

(co)variances

(co)variances

Page 44: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

Moment Closure Example 2

Exclusive Switch:

X1

Covariances

(high binding rate)

order 2

order 4

Page 45: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 45

Lotka-Volterra Oscillator

0.3*[RA] for _ =[RA]=> RA. 0.3*[RA]*[RB] for RA =[RB]=> RB.

0.15*[RB] for RB => RP. present(RA,0.5). present(RB,0.5). absent(RP).

Page 46: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

Moment Closure Lotka-Volterra model:

probability of extinction (here: of Y)

cannot be adequately represented no accurate approximation

X1

0 3 6 9 12 15 18 21 24 27 300

100

200

300

400

time

po

pu

latio

n s

ize

prey

predator

(a) Sustained oscillations of the deterministic Lotka-Volterra model.

0 1 2 3 4 5 6 7 8 9 100

100

200

300

400

time

exp

ect

ed

po

pu

latio

ns

prey

predator

(b) Expected populations in the stochastic Lotka-Volterra model.

Fig. 1. ODE solution and stochastic solution of the Lotka-Volterra model where α = γ = 1, β = 0.01, and x0 = y0 = 20.

We extend these methods in such a way that the cheap but

inaccurate method of moments becomes more accurate and the

expensive but accurate numerical integration becomes faster.

In Section V, we propose a stochastic hybrid approach that

dynamically switches between a moment-based representation

and a distribution-based representation as well as having the

ability to simultaneously use a combination of both. We

implemented all methods in C++ and performed extensive

simulations of the stochastic Lotka-Volterra model in order

to provide comparisons in terms of accuracy and run time.

Numerical experiments on a number of problems indicate that

the stochastic hybrid approach is overall the best method. It

is at least an order faster than the numerical integration of the

master equation and yields no more than a 5 % relative error

in the first moment of the transient distribution.

II. STOCHASTIC LOTKA-VOLTERRA MODEL

We describe the transitions of the stochastic Lotka-Volterra

model in a guarded command style [1, 17]. A guarded com-

mand has the form guard |- rate -> update; and it

describes a set of transitions in the underlying Markov process.

The guard is a Boolean predicate that determines in which

states the transition is possible, the rate is the real-valued

function that evaluated in the current state gives the positive

transition rate in the Markov process, and update is the

function that calculates the successor state of the transition. Let

x and y be the positive integers that represent the populations

of prey and predator, respectively. The three different possible

transitions are given as follows:

x > 0 |- α · x -> x := x + 1;

x > 0, y > 0 |- β · x · y -> x := x − 1, y := y + 1;

y > 0 |- γ · y -> y := y − 1;

The above guarded command model specifies the elements

of the infinitesimal generator matrix Q of a Markov process

{ (X (t), Y (t)) , t ≥ 0} which takes states (x, y) in N2. More

precisely, if for a pair (x, y) the guard is true, then the element

that belongs to (x, y) and the update of (x, y) is equal to the

rate. E.g. the row of state (2, 2) contains three positive entries.

One for the transition to state (3, 2) at rate 2α, one for the

transition to state (1, 3) at rate 4β, and one for the transition to

state (2, 1) at rate 2γ . The diagonal element is then given by

the negative sum of the off-diagonal elements. It is easy to see

that { (X (t), Y (t)) , t ≥ 0} is a regular Markov process [2].

We remark that the outflow rate from state (x, y) with x, y > 0

is (αx + γy + βxy), where α, γ,β > 0, and this rate increases

unboundedly with increasing values of x and y.

Let us fix the initial state of the system as (x0, y0). Then

the transient probability distribution is given by the master

equationddt

p( t ) (x, y) = M (p( t ) (x, y)), (2)

where p( t ) (x, y) = P{ X (t) = x, Y (t) = y|X (0) = x0,

Y(0) = y0} . The master operator M is defined for any real-

valued function g : N2 → R such that M (g) is the function

that maps a state (x, y) to the value1

M (g(x, y)) = α(x − 1)g(x − 1, y)

+ β(x + 1)(y − 1)g(x + 1, y − 1)

+ γ(y + 1)g(x, y + 1)

− (αx + βxy + γy)g(x, y),

(3)

where α,β, γ are the rate constants as defined before and

x, y > 0. If x = 0 and/or y = 0, then the terms involving

g(x − 1, y) and/or g(x + 1, y − 1) are removed. The ordinary

first-order differential equation in (2) is a direct consequence

of the Kolmogorov forward equation and describes the change

of the probability distribution as the difference between inflow

of probability from direct predecessors (first three terms) and

outflow of probability in state (x, y) (last term).

III. DIRECT NUMERICAL APPROXIMATION

Since no analytical solution is known for Eq. (2) and the

number of equations is infinite in two dimensions, a numerical

solution is only possible if appropriate bounds for the variables

x and y are found.

1We assume that all terms with a negative argument are zero(e.g. α (x − 1)g(x − 1, y) = 0 if x < 1).

Reactions

X ⟶ 2X

X+Y ⟶ 2Y

Y ⟶ 0

order 1 closure true expectations

Page 47: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 47

Enzymatic Competitive Inhibition present(En,1e-8). present(S,1e-5). present(I,1e-5). parameter(k3,5e5).

parameter(k1,4e6). parameter(km1,25). parameter(k2,15).

(k1*[E]*[S],km1*[C]) for E+S <=> C. k2*[C] for C => E+P.

k3*[C]*[I] for C+I => CI.

Complex formation 4e-9 in 0.04s Product formation 3e-8 in 3s

Page 48: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 48

Isosteric Inhibition present(En,1e-8). present(S,1e-5). present(I,1e-5). parameter(k3,5e5).

parameter(k1,4e6). parameter(km1,25). parameter(k2,15).

(k1*[E]*[S],km1*[C]) for E+S <=> C. k2*[C] for C => E+P.

k3*[E]*[I] for E+I => EI.

Complex formation 2.5e-9 in 0.4s Product formation 2.5e-9 in 1000s

Page 49: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 49

Allosteric Inhibition/Activation

(i*[E]*[I],im*[EI]) for E+I <=> EI. parameter(i,1e7). parameter(im,10).

(i1*[EI]*[S],im1*[CI]) for EI+S <=> CI. parameter(i1,5e6). parameter(im1,5).

i2*[CI] for CI => EI+P. parameter(i2,2).

Complex formation 2e-9 in 0.4s Product formation 1e-5 in 1000s

Page 50: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 50

Hill Kinetics for Allosteric Enzymatic Reactions

Dimer enzyme with two promoters:

E+S 2*k1 C1 k2 E+P C1+S k’1 C2 2*k’2 C1+P

E+S k-1 C1 C1+S 2*k’-1 C2

Let Km=(k-1+k2)/k1 and K’m=(k’-1+k’2)/k’1

Non-cooperative if K’m =Km

Michaelis-Menten rate: VmS / (Km+S) where Vm=2*k2*E0.

hyperbolic velocity vs substrate concentration

Cooperative if K’m >Km

Hill equation rate: VmS2 / (Km*K’m+S2) order 2

where Vm=2*k2*E0.

sigmoid velocity vs substrate concentration

Page 51: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 51

Implementing Gene Regulatory Networks

• Gene a, product Pa, promotion factor PFa (same for gene b)

#a + PFa => #a-PFa. #b + PFb => #b-PFb.

_ =[#a-PFa]=> Pa. _ =[#b-PFb]=> Pb.

Page 52: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 52

Implementing Gene Regulatory Networks

• Gene a, product Pa, promotion factor PFa (same for gene b)

#a + PFa => #a-PFa. #b + PFb => #b-PFb.

_ =[#a-PFa]=> Pa. _ =[#b-PFb]=> Pb.

• a activates b “a b” (the product of a is the promotion factor of b)

Page 53: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 53

Implementing Gene Regulatory Networks

• Gene a, product Pa, promotion factor PFa (same for gene b)

#a + PFa => #a-PFa. #b + PFb => #b-PFb.

_ =[#a-PFa]=> Pa. _ =[#b-PFb]=> Pb.

• a activates b “a b” (the product of a is the promotion factor of b)

Pa = PFb

• a inhibits b “a --| b” (first implementation by transcriptional inhibition)

Page 54: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 54

Implementing Gene Regulatory Networks

• Gene a, product Pa, promotion factor PFa (same for gene b)

#a + PFa <=> #a-PFa. #b + PFb <=> #b-PFb.

_ =[#a-PFa]=> Pa. _ =[#b-PFb]=> Pb.

• a activates b “a b” (the product of a is the promotion factor of b)

Pa = PFb

• a inhibits b “a --| b” (first implementation by transcriptional inhibition)

#b + Pa <=> #b-Pa.

• a inhibits b “a --| b” (second implementation by promotion factor inhibition)

Page 55: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 55

Implementing Gene Regulatory Networks

• Gene a, product Pa, promotion factor PFa (same for gene b)

#a + PFa <=> #a-PFa. #b + PFb <=> #b-PFb.

_ =[#a-PFa]=> Pa. _ =[#b-PFb]=> Pb.

• a activates b “a b” (the product of a is the promotion factor of b)

Pa = PFb

• a inhibits b “a --| b” (first implementation by transcriptional inhibition)

#b + Pa <=> #b-Pa.

• a inhibits b “a --| b” (second implementation by promotion factor inhibition)

PFb + Pa <=> PFb-Pa.

Page 56: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 56

Gene Circuit

• a activates a, a activates b, b inhibits a

• First implementation:

#a + Pa <=> #a-Pa.

_ =[#a-Pa]=> Pa.

#b + Pa <=> #b-Pa.

_ =[#b-Pa]=> Pb.

#a + Pb <=> #a-Pb.

Page 57: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 57

Hybrid (Continuous-Discrete) Dynamics

Gene X activates gene Y but above some threshold gene Y

inhibits X.

absent(X). absent(Y).

if [Y] < 0.8 then 0.01 for _ => X.

0.01*[X] for X => X + Y.

0.02*[X] for X => _.

Page 58: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 58

T7 Bacteriophage Infection Process

Retrovirus:

• Template nucleic acids (RNA): tem (initial condition of low infection)

• Genomic nucleic acids (DNA): gen

• Structural proteins: struc

MA(c1) for gen=>tem.

MA(c2) for tem=>_.

MA(c3) for tem=>tem+gen.

MA(c4) for gen+struc=>virus.

MA(c5) for tem=>tem+struc.

MA(c6) for struc=>_.

parameter(c1,0.025).

parameter(c2,0.25).

parameter(c3,1.0).

parameter(c4,0.0000075).

parameter(c5,1000).

parameter(c6,1.99).

Page 59: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 59

T7 Bacteriophage ODE semantics

MA(c1) for gen=>tem.

MA(c2) for tem=>_.

MA(c3) for tem=>tem+gen.

MA(c4) for gen+struc=>virus.

MA(c5) for tem=>tem+struc.

MA(c6) for struc=>_.

[tem] =1

d[virus]/dt=c4*[gen]*[struc]

d[tem]/dt=c1*[gen]-c2*[tem]

d[struc]/dt=c5*[tem]-c6*[struc]-c4*[gen]*[struc]

d[gen]/dt=c3*[tem]-c4*[gen]*[struc]-c1*[gen]

Page 60: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 60

T7 Bacteriophage ODE semantics

2 steady states dX/dt=0 :

1) tem=gen=struc=0

2) tem=20 gen=200 struc=10000

cyclic behavior

Minimal T-invariants in Petri nets

I*V=0 (incidence stoichiometric matrix)

Elementary Modes of flux distribution

in metabolic networks

tem = - (c1*c6)/(- (c2*c5)-c1*c5+c3*c5)*(c2*c4/(- (c1*c3)+c2*c3))^ - 1

gen = ((c2*c6/(- (c3*c5)+c2*c5+c1*c5))^ - 1*(c2*c4/(- (c1*c3)+c2*c3)))^ - 1

struc = (c2*c4/(- (c1*c3)+c2*c3))^ - 1

Page 61: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 61

T7 Bacteriophage Stochastic semantics

Similar viral explosion Recovery

Two qualitatively different behaviors:

Page 62: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 62

T7 Bacteriophage Boolean Semantics

Querying all possible behaviors in Computation Tree Logic

(symbolic model-checking NuSMV)

biocham: nusmv( EF ( !(gen) & !(tem) & !(struc) & !(virus))).

true

biocham: why.

tem is present

2 tem=>_.

tem is absent

Query time: 0.00 s

Page 63: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 63

T7 Bacteriophage Boolean Semantics

biocham: nusmv( EF ( virus & EF ( !(gen) & !(tem) & !(struc)) )).

true

biocham: why.

tem is present

5 tem=>struc+tem.

struc is present

3 tem=>gen+tem.

gen is present

4 gen+struc=>virus.

gen is absent

struc is absent

virus is present

2 tem=>_.

tem is absent

Page 64: Computational Methods for Systems and Synthetic Biologycontraintes.inria.fr/~fages/BioTeaching/M3.pdf• Influence graph abstraction • Static analyses: consistency, influence graph

21/10/2013 François Fages C2-19 MPRI 64

Aut. Generation of Temporal Logic

Properties

Ei(reachable(gen))

Ei(reachable(!(gen)))

Ei(steady(!(gen)))

Ai(checkpoint(tem,gen)))

Ei(reachable(tem))

Ei(reachable(!(tem)))

Ei(steady(tem))

Ai(checkpoint(gen,tem)))

Ei(reachable(struc))

Ei(reachable(!(struc)))

Ei(steady(!(struc)))

Ai(checkpoint(tem,struc)))

Ei(reachable(virus))

Ei(reachable(!(virus)))

Ei(steady(!(virus)))

Ai(checkpoint(gen,virus)))

Ai(checkpoint(gen,!(virus))))

Ai(checkpoint(tem,!(virus))))

Ai(checkpoint(struc,virus)))

Time: 0.06 s