210 likes | 225 Views
Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraint Programming Group, INRIA Rocquencourt mailto:Francois.Fages@inria.fr http://contraintes.inria.fr/. Overview of the Lectures. Introduction. Formal molecules and reactions in BIOCHAM.
E N D
Formal Biology of the CellModeling, Computing and Reasoning with ConstraintsFrançois Fages, Constraint Programming Group, INRIA Rocquencourtmailto:Francois.Fages@inria.frhttp://contraintes.inria.fr/
Overview of the Lectures • Introduction. Formal molecules and reactions in BIOCHAM. • Formal biological properties in temporal logic. Symbolic model-checking. • Continuous dynamics. Kinetics models. • Learning kinetic parameter values. Constraint-based model checking. • …
Cell Cycle Control [Qu et al. 03] • k1 for _=>Cyclin. • k2*[Cyclin] for Cyclin=>_. • k3*[Cyclin]*[Cdc2~{p1}] for Cyclin+Cdc2~{p1}=>Cdc2~{p1}-Cyclin~{p1}. • k4p*[Cdc2~{p1}-Cyclin~{p1}] for Cdc2~{p1}-Cyclin~{p1}=>Cdc2-Cyclin~{p1}. • k4*[Cdc2-Cyclin~{p1}]^2*[Cdc2~{p1}-Cyclin~{p1}] for • Cdc2~{p1}-Cyclin~{p1}=[Cdc2-Cyclin~{p1}]=>Cdc2-Cyclin~{p1}. • k5*[Cdc2-Cyclin~{p1}] for Cdc2-Cyclin~{p1}=>Cdc2~{p1}-Cyclin~{p1}. • k6*[Cdc2-Cyclin~{p1}] for Cdc2-Cyclin~{p1}=>Cdc2+Cyclin~{p1}. • k7*[Cyclin~{p1}] for Cyclin~{p1}=>_. • k8*[Cdc2] for Cdc2=>Cdc2~{p1}. • k9*[Cdc2~{p1}] for Cdc2~{p1}=>Cdc2. • 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). make_absent_not_present.
Linear Time Logic with Constraints • Constraints over concentrations and derivatives as FOL formulae over the reals: • [M] > 0.2 • [M]+[P] > [Q] • d([M])/dt < 0
Linear Time Logic with Constraints • Constraints over concentrations and derivatives as FOL formulae over the reals: • [M] > 0.2 • [M]+[P] > [Q] • d([M])/dt < 0 • Linear Time Logic LTL operators for time X, F, U, G • F([M]>0.2) • FG([M]>0.2) • F ([M]>2 & F (d([M])/dt<0 & F ([M]<2 & d([M])/dt>0 & F(d([M])/dt<0)))) • oscil(M,n) defined as at least n alternances of sign of the derivative
Linear Time Logic with Constraints • Constraints over concentrations and derivatives as FOL formulae over the reals: • [M] > 0.2 • [M]+[P] > [Q] • d([M])/dt < 0 • Linear Time Logic LTL operators for time X, F, U, G • F([M]>0.2) • FG([M]>0.2) • F ([M]>2 & F (d([M])/dt<0 & F ([M]<2 & d([M])/dt>0 & F(d([M])/dt<0)))) • oscil(M,n) defined as at least n alternances of sign of the derivative • Period(A,75)= t v F(T = t & [A] = v & d([A])/dt > 0 & X(d([A])/dt < 0) & F(T = t + 75 & [A] = v & d([A])/dt > 0 & X(d([A])/dt < 0)))
How to Evaluate a Constraint LTL Formula ? • Consider the ODE’s of the concentration semantics dX/dt = f(X)
How to Evaluate a Constraint LTL Formula ? • Consider the ODE’s of the concentration semantics dX/dt = f(X) • Numerical integration methods produce a (clever) discretization of time (adaptive step size Runge-Kutta or Rosenbrock method for stiff syst.)
How to Evaluate a Constraint LTL Formula ? • Consider the ODE’s of the concentration semantics dX/dt = f(X) • 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: • (t0,X0,dX0/dt), (t1,X1,dX1/dt), …, (tn,Xn,dXn/dt). • over concentrations and their derivatives at discrete time points • Evaluate the formula on that Kripke structure with a model checking alg.
1. Simulation based Forward Model Checking • Hypothesis 1: the initial state is completely known • Hypothesis 2: the formula can be checked over a finite period of time [0,T] • Run the numerical integration from 0 to T producing values at a finite sequence of time points • Iteratively label the time points with the sub-formulae of f that are true: • Add f to the time points where a FOL formula f is true, • Add F f(X f) to the (immediate) previous time points labeled by f, • Add f1 U f2to the predecessor time points of f2 while they satisfy f1, • (Add G f to the states satisfying f until T) • Model checker and numerical integration methods implemented in Prolog
2. Learning Parameters from Temporal Properties • biocham: learn_parameter([k3,k4],[(0,200),(0,200)],20, • oscil(Cdc2-Cyclin~{p1},3),150).
Learning Parameters from Temporal Properties • biocham: learn_parameter([k3,k4],[(0,200),(0,200)],20, • oscil(Cdc2-Cyclin~{p1},3),150). • First values found : • parameter(k3,10). • parameter(k4,70).
Learning Parameters from Temporal Properties • biocham: learn_parameter([k3,k4],[(0,200),(0,200)],20, • oscil(Cdc2-Cyclin~{p1},3) & F([Cdc2-Cyclin~{p1}]>0.15), 150). • First values found : • parameter(k3,10). • parameter(k4,120).
Learning Parameters from LTL Specification • biocham: learn_parameter([k3,k4],[(0,200),(0,200)],20, • period(Cdc2-Cyclin~{p1},35), 150). • First values found: • parameter(k3,10). • parameter(k4,280).
3. Backward 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. • Approximate set of states with constraints: polyhedrons defined by linear constraints.
Hybrid (Continuous-Discrete) Dynamics • Gene X activates gene Y but above some threshold gene Y inhibits X. • 0.1*[X] for • _ =[X]=> Y. • if [Y]<0.8 then 0.1 for • _ => X. • 0.2*[X] for • X => _. • absent(X). absent(Y).
Translation to Constraint Logic Programs over Reals • Hybrid Differential Equation System: • dx/dt = 0.1 – 0.2*x if y < 0.8 dx/dt = – 0.2*x if y ≥ 0.8 • dy/dt = 0.1*x • (Concurrent) transition system of the trace using Euler’s method: • y < 0.8 x’ = x + dt*(0.1-0.2*x) , y’ = y + dt*0.1*x • y ≥ 0.8 x’ = x + dt*(0.1-0.2*x) , y’ = y + dt*0.1*x • Initial condition: x=0, y=0. • Translation into a Constraint Logic Program over the reals (dt=1): • Init :- X=0, Y=0, p(X,Y). • p(X,Y):- X>=0, Y>=0, Y<0.8, X1=X-02*X+01, Y1=Y+0.1*X, p(X1,Y1). • p(X,Y):- X>=0, Y>=0, Y>=0.8, X1=X-02*X, Y1=Y+0.1*X, p(X1,Y1).
Constraint-based CTL Backward Model Checking Theorem [Delzanno Podelski 99] EF(f)=lfp(TP{p(x):-f}), EG(f)=gfp(TPf). Safety property AG(f) iff EF(f) iff initlfp(TP{f}) Liveness property AG(f1AF(f2)) iff initlfp(TPf1gfp(T P{f2} ) ) Deductive Model Checking DMC system [Delzanno 00] Implemented in Sicstus-Prolog CLP(Herbrand,Real,Boolean) Fourier-Motzkin elimination and Simplex algorithm.
Constraint-based Backward Reasoning in DMC • r(init, p(s_s,A,B), {A=0,B=0}). • r(p(s_s,A,B), p(s_s,C,D), {A>=0,B>=0.8,C=A-02*A,D=B+01*A}). • r(p(s_s,A,B), p(s_s,C,D), {A>=0,B>=0,B<0.8, • C=A-02*A+01,D=B+01*A}). • ? prop(P,S). • P = unsafe, S = p:s*(x>=0.6) • ? ti. • Property satisfied. Execution time 0 • ? ls. • s(0, p(s_s,A,_), {A>=0.6}, 1, (0,0)).
Constraint-based Backward Simulation in DMC • ? prop(P,S). • P = unsafe, S = p:s*(x>=0.2) ? • ? ti. • Property NOT satisfied. Execution time 1.5 • ? ls. • s(0, p(s_s,A,_), {A>=0.2}, 1, (0,0)). • s(1, p(s_s,A,B), {B<0.8,B>=-0,A>=0.19387755102040816}, 2, (2,1)). • … • s(26, p(s_s,A,B), {B>=0,A>=0, • B+0.1982676351105516*A<0.7741338175552753}, 27, (2,26)). • s(27, init, {}, 28, (1,27)).