computational methods for systems and synthetic...
TRANSCRIPT
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/
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
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
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 = . . .
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
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 .
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)
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)…
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
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
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
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
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 = …
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 = …
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
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])
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
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,…
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 =…
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):
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
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.
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
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
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
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
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
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
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.
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
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
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
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
Moment Equations – Example 1
Example: order 1 approximation:
After Verena Wolf,
U. Saarbrucken
Moment Closure Example 1
Example:
order-2 approximation:
exact time evolution of means:
=> approximate time evolution of covariance
After Verena Wolf,
U. Saarbrucken
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
Moment Closure Example 1
time evolution of means (including approximation of the covariances) and covariances
After Verena Wolf,
U. Saarbrucken
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
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 ⟶
Moment Closure Example 2 Exclusive Switch (Loinger et al., Phy. Rev. E, 2007)
X1
low binding rate
After Verena Wolf,
U. Saarbrucken
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)
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
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
Moment Closure Example 2
Exclusive Switch:
X1
Covariances
(high binding rate)
order 2
order 4
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).
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
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
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
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
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
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.
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)
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)
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)
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.
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.
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 => _.
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).
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]
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
21/10/2013 François Fages C2-19 MPRI 61
T7 Bacteriophage Stochastic semantics
Similar viral explosion Recovery
Two qualitatively different behaviors:
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
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
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