Title: Computational Methods in Systems Biology and Synthetic Biology Fran
1Computational Methods inSystems Biology and
Synthetic BiologyFrançois Fages, Constraint
Programming Group, INRIA Rocquencourt
mailtoFrancois.Fages_at_inria.frhttp//contraintes.
inria.fr/
2Overview of the Lectures
- Formal molecules and reaction models in BIOCHAM
- Kinetics
- Qualitative properties formalized in temporal
logic CTL - Quantitative properties formalized in LTL(R) and
pLTL(R) - LTL(R) formulae with constraints over the reals
- Trace-based forward model-checking algorithm
- Quantitative models of the cell cycle
- Parameter search from LTL(R) specifications
- Constraint-based backward model-checking
algorithm - pLTL(R) formulae for the stochastic semantics
-
3Linear Time Logic with Constraints LTL(R)
- Constraints over concentrations and derivatives
as formulae over the reals - M gt 0.2
- MP gt Q
- d(M)/dt lt 0
4Linear Time Logic with Constraints LTL(R)
- Constraints over concentrations and derivatives
as formulae over the reals - M gt 0.2
- MP gt Q
- d(M)/dt lt 0
- LTL(R) formulae
- F(Mgt0.2)
- FG(Mgt0.2)
5Linear Time Logic with Constraints LTL(R)
- Constraints over concentrations and derivatives
as formulae over the reals - M gt 0.2
- MP gt Q
- d(M)/dt lt 0
- LTL(R) formulae
- F(Mgt0.2)
- FG(Mgt0.2)
- F (Mgt2 F (d(M)/dtlt0 F (Mlt2
d(M)/dtgt0 F(d(M)/dtlt0))))
6Linear Time Logic with Constraints LTL(R)
- Constraints over concentrations and derivatives
as formulae over the reals - M gt 0.2
- MP gt Q
- d(M)/dt lt 0
- LTL(R) formulae
- F(Mgt0.2)
- FG(Mgt0.2)
- F (Mgt2 F (d(M)/dtlt0 F (Mlt2
d(M)/dtgt0 F(d(M)/dtlt0)))) - oscil(M,n) defined as at least n alternances of
sign of the derivative
7Real-time LTL(R)
- Real-time variable T
- Reachability of a threshold value with a minimum
delay - F(Mgt0.2) G(Tlt5 ?Mlt0.2)
- Formalization of numerical data time series
(experimental curve) - F(T1 M0.05 F(T2 M0.12 F(T3
M0.25))) - Constraint of period
- Period(A,75) ? t ?v F(T t A v
d(A)/dt gt 0 X(d(A)/dt lt 0) - F(T t 75 A v d(A)/dt gt 0
X(d(A)/dt lt 0)))
8How to Evaluate a LTL(R) Formula ?
- Consider the ODEs of the concentration semantics
- dX/dt f(X)
- Initial conditions X0
9How to Evaluate a LTL(R) Formula ?
- Consider the ODEs of the concentration semantics
- dX/dt f(X)
- Initial conditions X0
- Numerical integration methods produce a (clever)
discretization of time - (adaptive step size Runge-Kutta or Rosenbrock
method for stiff syst.)
10How to Evaluate a LTL(R) Formula ?
- Consider the ODEs of the concentration semantics
- dX/dt f(X)
- Initial conditions X0
- Numerical integration methods produce a (clever)
discretization of time - (adaptive step size Runge-Kutta or Rosenbrock
method for stiff syst.) - The trace is a linear Kripke structure over
concentrations and their derivatives at discrete
time points - (t0,X0,dX0/dt), (t1,X1,dX1/dt), ,
(tn,Xn,dXn/dt), -
- Apply a model-checking algorithm on a finite
prefix of that Kripke structure.
11LTL(R) Trace-based Model Checking Algo
- Input An ODE system M given with initial
conditions, an LTL(R) formula f - Hypothesis the formula can be checked over a
finite period of time 0,T - Output whether f is true in M
12LTL(R) Trace-based Model Checking Algo
- Input An ODE system M given with initial
conditions, an LTL(R) formula f - Hypothesis the formula can be checked over a
finite period of time 0,T - Output whether f is true in M
- Compute a trace by numerical integration from 0
to T
13LTL(R) Trace-based Model Checking Algo
- Input An ODE system M given with initial
conditions, an LTL(R) formula f - Hypothesis the formula can be checked over a
finite period of time 0,T - Output whether f is true in M
- Compute a trace by numerical integration from 0
to T - Label each state of the trace with the formulas
constraints that are true,
14LTL(R) Trace-based Model Checking Algo
- Input An ODE system M given with initial
conditions, an LTL(R) formula f - Hypothesis the formula can be checked over a
finite period of time 0,T - Output whether f is true in M
- Compute a trace by numerical integration from 0
to T - Label each state of the trace with the formulas
constraints that are true, - Iteratively label the states with the
sub-formulae that are true - Add X f1 to the immediate predecessors of states
labeled by f1,
15LTL(R) Trace-based Model Checking Algo
- Input An ODE system M given with initial
conditions, an LTL(R) formula f - Hypothesis the formula can be checked over a
finite period of time 0,T - Output whether f is true in M
- Compute a trace by numerical integration from 0
to T - Label each state of the trace with the formulas
constraints that are true, - Iteratively label the states with the
sub-formulae that are true - Add X f1 to the immediate predecessors of states
labeled by f1, - Add f1 U f2 to the predecessors of states
labelled by f2 while they satisfy f1,
16LTL(R) Trace-based Model Checking Algo
- Input An ODE system M given with initial
conditions, an LTL(R) formula f - Hypothesis the formula can be checked over a
finite period of time 0,T - Output whether f is true in M
- Compute a trace by numerical integration from 0
to T - Label each state of the trace with the formulas
constraints that are true, - Iteratively label the states with the
sub-formulae that are true - Add X f1 to the immediate predecessors of states
labeled by f1, - Add f1 U f2 to the predecessors of states
labelled by f2 while they satisfy f1, - Add f1 W f2 to the states labelled by f1? f2, to
the last state if it is labelled by f1, and to
the predecessors of states labelled by f1 W f2
while they satisfy f1,
17LTL(R) Trace-based Model Checking Algo
- Input An ODE system M given with initial
conditions, an LTL(R) formula f - Hypothesis the formula can be checked over a
finite period of time 0,T - Output whether f is true in M
- Compute a trace by numerical integration from 0
to T - Label each state of the trace with the formulas
constraints that are true, - Iteratively label the states with the
sub-formulae that are true - Add X f1 to the immediate predecessors of states
labeled by f1, - Add f1 U f2 to the predecessors of states
labelled by f2 while they satisfy f1, - Add f1 W f2 to the states labelled by f1? f2, to
the last state if it is labelled by f1, and to
the predecessors of states labelled by f1 W f2
while they satisfy f1, - Return true if the initial state is labelled by
f, and false otherwise
18Naïve Parameter Search Algorithm
- Input an ODE model M(p) with n parameters p in
range pmin,pmax, - an LTL(R) specification ?
- Output parameter values v such that M(v) ?
- or fail if no such values
19Naïve Parameter Search Algorithm
- Input an ODE model M(p) with n parameters p in
range pmin,pmax, - an LTL(R) specification ?
- Output parameter values v such that M(v) ?
- or fail if no such values
- Scan the parameter value space pmin,pmaxn with
a fixed step
20Naïve Parameter Search Algorithm
- Input an ODE model M(p) with n parameters p in
range pmin,pmax, - an LTL(R) specification ?
- Output parameter values v such that M(v) ?
- or fail if no such values
- Scan the parameter value space pmin,pmaxn with
a fixed step - Test whether M(v) ? by trace-based model
checking
21Naïve Parameter Search Algorithm
- Input an ODE model M(p) with n parameters p in
range pmin,pmax, - an LTL(R) specification ?
- Output parameter values v such that M(v) ?
- or fail if no such values
- Scan the parameter value space pmin,pmaxn with
a fixed step - Test whether M(v) ? by trace-based model
checking - Return the first value set v which satisfies ?
22Naïve Parameter Search Algorithm
- Input an ODE model M(p) with n parameters p in
range pmin,pmax, - an LTL(R) specification ?
- Output parameter values v such that M(v) ?
- or fail if no such values
- Scan the parameter value space pmin,pmaxn with
a fixed step - Test whether M(v) ? by trace-based model
checking - Return the first value set v which satisfies ?
- Exponential complexity in O(sn) where s is the
maximum number of tried values in a range - Gradient-based methods need a satisfaction degree
for LTL(R) formulae
23Cell Cycle Control Qu et al. 2003
24Quantitative Model of Cell Cycle Control Qu et
al. 03
- k1 for _gtCyclin.
- k2Cyclin for Cyclingt_.
- k3CyclinCdc2p1 for CyclinCdc2p1gtCdc2
p1-Cyclinp1. - k4pCdc2p1-Cyclinp1 for
Cdc2p1-Cyclinp1gtCdc2-Cyclinp1. - k4Cdc2-Cyclinp12Cdc2p1-Cyclinp1
for - Cdc2p1-Cyclinp1Cdc2-Cyclinp1gtCd
c2-Cyclinp1. - k5Cdc2-Cyclinp1 for Cdc2-Cyclinp1gtCdc2
p1-Cyclinp1. - k6Cdc2-Cyclinp1 for Cdc2-Cyclinp1gtCdc2C
yclinp1. - k7Cyclinp1 for Cyclinp1gt_.
- k8Cdc2 for Cdc2gtCdc2p1.
- k9Cdc2p1 for Cdc2p1gtCdc2.
- parameter(k1,0.015). parameter(k2,0.015).
parameter(k3,200). - parameter(k4p,0.018). parameter(k4,180).
parameter(k5,0). - parameter(k6,1). parameter(k7,0.6).
parameter(k8,100).parameter(k9,100). - present(Cdc2,1).
25Learning Parameters from Temporal Properties
- biocham learn_parameter(k3,k4,(0,200),(0,200)
,20, -
oscil(Cdc2-Cyclinp1,3),150).
26Learning Parameters from Temporal Properties
- biocham learn_parameter(k3,k4,(0,200),(0,200)
,20, -
oscil(Cdc2-Cyclinp1,3),150). - First values found
- parameter(k3,10).
- parameter(k4,70).
27Learning Parameters from Temporal Properties
- biocham learn_parameter(k3,k4,(0,200),(0,200)
,20, - oscil(Cdc2-Cyclinp1,3)
F(Cdc2-Cyclinp1gt0.15), 150). - First values found
- parameter(k3,10).
- parameter(k4,120).
28Learning Parameters from Temporal Properties
- biocham learn_parameter(k3,k4,(0,200),(0,200)
,20, -
period(Cdc2-Cyclinp1,35), 150). - First values found
- parameter(k3,10).
- parameter(k4,280).
29LTL(R) Satisfaction Degree and Bifurcation
Diagram
- Satisfaction degree of LTL(R) formulas
Bifurcation diagram on k4, k6 - for oscillation with amplitude constraint
Tyson 91 - Rizk Batt Fages Soliman 08
30Linking the Cell and Circadian Cycles through Wee1
Cell cycle
Leloup and Goldbeter (1999)
Wee1P
Wee1
.. ..
preMPF
MPF
APC
APC
Cdc25P
.. ..
.. ..
Cdc25
.. ..
L
L. Calzone, S. Soliman 2006
31PCN
Wee1m
BN
Wee1
MPF
Cdc25
32Condition of Entrainment in Periodon Wee1/Cdc25
Entrainment in period constraint expressed in LTL
with the period formula
33Backward Constraint-based Model Checking
- Reason backward from the set of states satisfying
a formula - to the set of initial states for which the
formula is true. - Makes it possible to reason with a partially know
initial state. - Represent sets of real-valued states with
constraints polyhedrons defined by linear
inequalities.
34Hybrid (Continuous-Discrete) Dynamics
- Gene X activates gene Y but above some threshold
gene Y inhibits X. - 0.1X for
- _ Xgt Y.
- if Ylt0.8 then 0.1 for
- _ gt X.
- 0.2X for
- X gt _.
- absent(X).
- absent(Y).
35Translation to a Constraint Logic Program
- Hybrid Differential Equation System
- dx/dt 0.1 0.2x if y lt 0.8
- dx/dt 0.2x if y 0.8
- dy/dt 0.1x
36Translation to a Constraint Logic Program
- Hybrid Differential Equation System
- dx/dt 0.1 0.2x if y lt 0.8
- dx/dt 0.2x if y 0.8
- dy/dt 0.1x
- Transition system of the trace using Eulers
method - y lt 0.8 ? x x dt(0.1-0.2x) , y y
dt0.1x - y 0.8 ? x x dt(0.1-0.2x) , y y
dt0.1x - Initial condition x0, y0.
37Translation to a Constraint Logic Program
- Hybrid Differential Equation System
- dx/dt 0.1 0.2x if y lt 0.8
- dx/dt 0.2x if y 0.8
- dy/dt 0.1x
- Transition system of the trace using Eulers
method - y lt 0.8 ? x x dt(0.1-0.2x) , y y
dt0.1x - y 0.8 ? x x dt(0.1-0.2x) , y y
dt0.1x - Initial condition x0, y0.
- Translation to a Constraint Logic Program over
the reals P (here dt1) - Init - X0, Y0, p(X,Y).
- p(X,Y)- Xgt0, Ygt0, Ylt0.8, X1X-02X01,
Y1Y0.1X, p(X1,Y1). - p(X,Y)- Xgt0, Ygt0, Ygt0.8, X1X-02X,
Y1Y0.1X, p(X1,Y1).
38CTL(R) Backward Model Checking
Theorem Delzanno Podelski 99 EF(f)lfp(TP?p(x)
-f) the set of states satisfying EF(f) can be
computed by bottom-up
execution of the CLP program P with p(x)-
f. EG(f)gfp(TP?f) greatest fixed point of the
CLP program P with f added to clauses
39CTL(R) Backward Model Checking
Theorem Delzanno Podelski 99 EF(f)lfp(TP?p(x)
-f) the set of states satisfying EF(f) can be
computed by bottom-up
execution of the CLP program P with p(x)-
f. EG(f)gfp(TP?f) greatest fixed point of the
CLP program P with f added to clauses Safety
property AG(?f) iff ?EF(f) iff init?lfp(TP?f) Li
veness property AG(f1?AF(f2)) iff
init?lfp(TP?f1?gfp(T P?f2 ) )
40CTL(R) Backward Model Checking
Theorem Delzanno Podelski 99 EF(f)lfp(TP?p(x)
-f) the set of states satisfying EF(f) can be
computed by bottom-up
execution of the CLP program P with p(x)-
f. EG(f)gfp(TP?f) greatest fixed point of the
CLP program P with f added to clauses Safety
property AG(?f) iff ?EF(f) iff init?lfp(TP?f) Li
veness property AG(f1?AF(f2)) iff
init?lfp(TP?f1?gfp(T P?f2 ) ) Deductive Model
Checking DMC system Delzanno 00
Implemented in Sicstus-Prolog CLP(Herbrand,Real,Bo
olean) Fourier-Motzkin elimination and
Simplex algorithm.
41CTL(R) Backward Model-Checking
- r(init, p(s_s,A,B), A0,B0).
- r(p(s_s,A,B), p(s_s,C,D), Agt0,Bgt0.8,CA-02A,D
B01A). - r(p(s_s,A,B), p(s_s,C,D), Agt0,Bgt0,Blt0.8,
- CA-02A01,DB01A).
- ? Unreachable(xgt0.6).
42CTL(R) Backward Model-Checking
- r(init, p(s_s,A,B), A0,B0).
- r(p(s_s,A,B), p(s_s,C,D), Agt0,Bgt0.8,CA-02A,D
B01A). - r(p(s_s,A,B), p(s_s,C,D), Agt0,Bgt0,Blt0.8,
- CA-02A01,DB01A).
- ? Unreachable(xgt0.6).
- True. Execution time 0
- ? ls.
- s(0, p(s_s,A,_),Agt0.6,1,(0,0)).
43CTL(R) Backward Model-Checking
- ? Unreachable(xgt0.2).
- False. Execution time 1.5
- ? ls.
- s(0, p(s_s,A,_), Agt0.2, 1, (0,0)).
- s(1, p(s_s,A,B), Blt0.8,Bgt0,Agt0.1938775510204081
6,2,(2,1)). -
- s(26, p(s_s,A,B), Bgt0,Agt0,
- B0.1982676351105516Alt0.7741338175552753,
27, (2,26)). - s(27, init, , 28, (1,27)).
- Amounts to execute symbolically the CLP program
with linear constraints
44pLTL(R) for the Stochastic Semantics
- Probabilistic Linear Time Logic over the reals
pLTL(R) generalizes LTL(R) by replacing the path
quantifier A? by a probability operator Pp ?
which represents a constraint on the probability
of realization of ?. - A(?) is Pgt1(?)
- E(?) is P?0(?)
45pLTL(R) for the Stochastic Semantics
- Probabilistic Linear Time Logic over the reals
pLTL(R) generalizes LTL(R) by replacing the path
quantifier A? by a probability operator Pp ?
which represents a constraint on the probability
of realization of ?. - A(?) is Pgt1(?)
- E(?) is P?0(?)
- Monte Carlo pLTL(R) model-checking algorithm
- Check the validity of the formula on traces of
the stochastic semantics using the LTL(R)
model-checker - Evaluate the probability of realization of the
formula by sampling stochastic traces - Not practical issues of performance and of
low-pass filters