Computational Methods for Systems Biology and Synthetic Biology François Fages, Constraint Programming Group, INRIA Rocquencourt mailto:[email protected] http://contraintes.inria.fr/ 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 1 Overview of the Lectures 1. Introduction " Transposing concepts from programming to the analysis of living processes 2. Rule-based Modeling in Biocham " Macromolecules, compartments and elementary processes in the cell " Boolean, Differential and Stochastic interpretations of reaction rule models " Cell signaling, Gene expression, Retrovirus, Cell cycle 3. Temporal Logic constraints in Biocham " Qualitative properties in propositional Computation Tree Logic CTL " Quantitative properties in quantifier-free Linear Time Logic LTL(R) " Parameter optimization and robustness w.r.t. temporal logic properties " Conclusion " Killer lecture: abstract interpretation in Biocham 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 2 Cell Cycle Control by Cyclins: G1SG2M Sir Paul Nurse Nobel prize 2001 G1: CdK4-CycD Cdk6-CycD Cdk2-CycE 29/07/10 S: Cdk2-CycA G2,M: Cdk1-CycA Cdk1-CycB (MPF) François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 3 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 4 Mammalian Cell Cycle Control Map [Kohn 99] 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 5 Kohn s map detail for Cdk2 Complexation with CycA and CycE Biocham Rules: cdk2~$P + cycA­$C => cdk2~$P­cycA­$C where $C in {_,cks1} . cdk2~$P + cycE~$Q­$C => cdk2~$P­cycE~$Q­$C where $C in {_,cks1} . p57 + cdk2~$P­cycA­$C => p57­cdk2~$P­cycA­$C where $C in {_, cks1}. cycE­$C =[cdk2~{p2}­cycE­$S]=> cycE~{T380}­$C where $S in {_, cks1} and $C in {_, cdk2~?, cdk2~?­cks1} Total: 147 rule patterns 2733 expanded rules [Chiaverini Danos 03] 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 6 Computation Tree Logic CTL Temporal logics extend classical logic with modal operators for time & non-det. Introduced for program verification by [Pnueli 77] Non-det. E exists A always X next time EX(ϕ) AX(ϕ) F finally EF(ϕ) ¬ AG(¬ ϕ) AF(ϕ) liveness G globally EG(ϕ) ¬ AF(¬ ϕ) AG() safety Time U until 29/07/10 Non-determinism E, A AGφ E (ϕ1 U ϕ2) A (ϕ1 U ϕ2) F,G,U EFφ Time François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 7 Biological Properties formalized in CTL (1/3) About reachability: " Can the cell produce some protein P? reachable(P)==EF(P) " Can the cell produce P, Q and not R? 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 8 Biological Properties formalized in CTL (1/3) About reachability: " Can the cell produce some protein P? reachable(P)==EF(P) " Can the cell produce P, Q and not R? reachable(P^Q^¬R) " Can the cell always produce P? 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 9 Biological Properties formalized in CTL (1/3) About reachability: " Can the cell produce some protein P? reachable(P)==EF(P) " Can the cell produce P, Q and not R? reachable(P^Q^¬R) " Can the cell always produce P? AG(reachable(P)) About pathways: " Can the cell reach a set s of (partially described) states while passing by another set of states s2? 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 10 Biological Properties formalized in CTL (1/3) About reachability: " Can the cell produce some protein P? reachable(P)==EF(P) " Can the cell produce P, Q and not R? reachable(P^Q^¬R) " Can the cell always produce P? AG(reachable(P)) About pathways: " Can the cell reach a set s of (partially described) states while passing by another set of states s2? EF(s2^EFs) " Is it possible to produce P without Q ? 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 11 Biological Properties formalized in CTL (1/3) About reachability: " Can the cell produce some protein P? reachable(P)==EF(P) " Can the cell produce P, Q and not R? reachable(P^Q^¬R) " Can the cell always produce P? AG(reachable(P)) About pathways: " Can the cell reach a set s of (partially described) states while passing by another set of states s2? EF(s2^EFs) " Is it possible to produce P without Q ? E(¬Q U P) " Is set of state s2 a necessary checkpoint for reaching set of state s? checkpoint(s2,s)== ¬E(¬s2 U s) 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 12 Biological Properties formalized in CTL (1/3) About reachability: " Can the cell produce some protein P? reachable(P)==EF(P) " Can the cell produce P, Q and not R? reachable(P^Q^¬R) " Can the cell always produce P? AG(reachable(P)) About pathways: " Can the cell reach a set s of (partially described) states while passing by another set of states s2? EF(s2^EFs) " Is it possible to produce P without Q ? E(¬Q U P) " Is set of state s2 a necessary checkpoint for reaching set of state s? checkpoint(s2,s)== ¬E(¬s2 U s) " Is s2 always a checkpoint for s? AG(¬s ­> checkpoint(s2,s)) 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 13 Biological Properties formalized in CTL (2/3) About stability: " Is a set of states s a stable state? stable(s)== AG(s) 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 14 Biological Properties formalized in CTL (2/3) About stability: " Is a set of states s a stable state? stable(s)== AG(s) " Is s a steady state (with possibility of escaping) ? steady(s)==EG(s) " Can the cell reach a stable state s? 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 15 Biological Properties formalized in CTL (2/3) About stability: " Is a set of states s a stable state? stable(s)== AG(s) " Is s a steady state (with possibility of escaping) ? steady(s)==EG(s) " Can the cell reach a stable state s? EF(stable(s)) alternance of path quantifiers EFAG φ, not in Linear Time Logic LTL (fragment without path quantifiers) FG φ is not in LTL " Must the cell reach a stable state s? 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 16 Biological Properties formalized in CTL (2/3) About stability: " Is a set of states s a stable state? stable(s)== AG(s) " Is s a steady state (with possibility of escaping) ? steady(s)==EG(s) " Can the cell reach a stable state s? EF(stable(s)) alternance of path quantifiers EFAG φ, not in Linear Time Logic LTL (fragment without path quantifiers) FG φ is not in LTL " Must the cell reach a stable state s? AG(stable(s)) " What are the stable states? 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 17 Biological Properties formalized in CTL (2/3) About stability: " Is a set of states s a stable state? stable(s)== AG(s) " Is s a steady state (with possibility of escaping) ? steady(s)==EG(s) " Can the cell reach a stable state s? EF(stable(s)) alternance of path quantifiers EFAG φ, not in Linear Time Logic LTL (fragment without path quantifiers) FG φ is not in LTL " Must the cell reach a stable state s? AG(stable(s)) " What are the stable states? Not expressible in CTL. needs to combine CTL with search [Chan 00, Calzone-Chabrier-Fages-Soliman 05, Fages-Rizk 07]. 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 18 Biological Properties formalized in CTL (3/3) About durations: " How long does it take for a molecule to become activated? " In a given time, how many Cyclins A can be accumulated? " What is the duration of a given cell cycle s phase? 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 19 Biological Properties formalized in CTL (3/3) About durations: " How long does it take for a molecule to become activated? " In a given time, how many Cyclins A can be accumulated? " What is the duration of a given cell cycle s phase? CTL operators abstract from durations. Time intervals can be modeled in FOL by adding numerical constraints for start times and durations. 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 20 Biological Properties formalized in CTL (3/3) About durations: " How long does it take for a molecule to become activated? " In a given time, how many Cyclins A can be accumulated? " What is the duration of a given cell cycle s phase? CTL operators abstract from durations. Time intervals can be modeled in FOL by adding numerical constraints for start times and durations. About oscillations: " Can the system exhibit a cyclic behavior w.r.t. the presence of P ? oscil(P)== EG((F ¬P) ^ (F P)) temporal operators not preceded by a path operator: CTL* formula approximation in CTL ? oscil(P)== EG((EF ¬P) ^ (EF P)) 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 21 Oscillations in CTL ? EG((EF ¬P) ^ (EF P)) " Necessary but not sufficient condition for oscillations: 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 22 Oscillations in CTL ? EG((EF ¬P) ^ (EF P)) " Necessary but not sufficient condition for oscillations without fairness: P ¬P " Same with weak fairness: no rule stays continuously fireable without being fired 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 23 Oscillations in CTL ? EG((EF ¬P) ^ (EF P)) " Necessary but not sufficient condition for oscillations without fairness: P ¬P " Same with weak fairness: no rule stays continuously fireable without being fired P ¬P P,Q " Needs strong fairness: no rule is infinitely often fireable without being fired 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 24 Kripke Semantics of CTL* A Kripke structure K is a triple (S,R) where S is a set of states, and R⊆SxS is a total relation. The truth of a formula φ in K and in initial state s or on path π is defined by: s |= φ if φ is a propositional formula true in s, & 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 25 Kripke Semantics of CTL* A Kripke structure K is a triple (S,R) where S is a set of states, and R⊆SxS is a total relation. The truth of a formula φ in K and in initial state s or on path π is defined by: s |= φ if φ is a propositional formula true in s, s |= E φ if there is a path π from s such that π |= φ, s |= A φ if for every path π from s, π |= φ, & 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 26 Kripke Semantics of CTL* A Kripke structure K is a triple (S,R) where S is a set of states, and R⊆SxS is a total relation. The truth of a formula φ in K and in initial state s or on path π is defined by: s |= φ if φ is a propositional formula true in s, s |= E φ if there is a path π from s such that π |= φ, s |= A φ if for every path π from s, π |= φ, π |= φ if s |= φ where s is the starting state of π, π |= X φ if π1 |= φ, & 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 27 Kripke Semantics of CTL* A Kripke structure K is a triple (S,R) where S is a set of states, and R⊆SxS is a total relation. The truth of a formula φ in K and in initial state s or on path π is defined by: s |= φ if φ is a propositional formula true in s, s |= E φ if there is a path π from s such that π |= φ, s |= A φ if for every path π from s, π |= φ, π |= φ if s |= φ where s is the starting state of π, π |= X φ if π1 |= φ, π |= F φ if ∃ k ≥ 0 such that πk |= φ, π |= G φ if ∀ k ≥ 0, πk |= φ, & 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 28 Kripke Semantics of CTL* A Kripke structure K is a triple (S,R) where S is a set of states, and R⊆SxS is a total relation. The truth of a formula φ in K and in initial state s or on path π is defined by: s |= φ if φ is a propositional formula true in s, s |= E φ if there is a path π from s such that π |= φ, s |= A φ if for every path π from s, π |= φ, π |= φ if s |= φ where s is the starting state of π, π |= X φ if π1 |= φ, π |= F φ if ∃ k ≥ 0 such that πk |= φ, π |= G φ if ∀ k ≥ 0, πk |= φ, π |= φ1 U φ2 if ∃ k ≥ 0 such that πk |= φ2 φ2 and ∀ j < k πj |= φ1, & 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 29 Kripke Semantics of CTL* A Kripke structure K is a triple (S,R) where S is a set of states, and R⊆SxS is a total relation. The truth of a formula φ in K and in initial state s or on path π is defined by: s |= φ if φ is a propositional formula true in s, s |= E φ if there is a path π from s such that π |= φ, s |= A φ if for every path π from s, π |= φ, π |= φ if s |= φ where s is the starting state of π, π |= X φ if π1 |= φ, π |= F φ if ∃ k ≥ 0 such that πk |= φ, π |= G φ if ∀ k ≥ 0, πk |= φ, π |= φ1 U φ2 if ∃ k ≥ 0 such that πk |= φ2 φ2 and ∀ j < k πj |= φ1, π |= φ1 R φ2 if ∀ k ≥ 0 πk |= φ2 or ∃i ≥ 0 πi |= φ1 and ∀ j ≤i πj |= φ2 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 30 Basic CTL Model-Checking Algorithm Model Checking is an algorithm for computing, in a given finite Kripke structure K the set of states satisfying a CTL formula: {s∈S : s |= φ }. 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 31 Basic CTL Model-Checking Algorithm Model Checking is an algorithm for computing, in a given finite Kripke structure K the set of states satisfying a CTL formula: {s∈S : s |= φ }. Represent K as a (finite) graph and iteratively label the nodes with the subformulas of φ which are true in that node. 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 32 Basic CTL Model-Checking Algorithm Model Checking is an algorithm for computing, in a given finite Kripke structure K the set of states satisfying a CTL formula: {s∈S : s |= φ }. Represent K as a (finite) graph and iteratively label the nodes with the subformulas of φ which are true in that node. " Add φ to the states satisfying φ 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 33 Basic CTL Model-Checking Algorithm Model Checking is an algorithm for computing, in a given finite Kripke structure K the set of states satisfying a CTL formula: {s∈S : s |= φ }. Represent K as a (finite) graph and iteratively label the nodes with the subformulas of φ which are true in that node. " Add φ to the states satisfying φ " Add EF φ (EX φ) to the (immediate) predecessors of states labeled by φ 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 34 Basic CTL Model-Checking Algorithm Model Checking is an algorithm for computing, in a given finite Kripke structure K the set of states satisfying a CTL formula: {s∈S : s |= φ }. Represent K as a (finite) graph and iteratively label the nodes with the subformulas of φ which are true in that node. " Add φ to the states satisfying φ " Add EF φ (EX φ) to the (immediate) predecessors of states labeled by φ " Add E(φ1 U φ2 ) to the predecessor states of φ2 while they satisfy φ1 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 35 Basic CTL Model-Checking Algorithm Model Checking is an algorithm for computing, in a given finite Kripke structure K the set of states satisfying a CTL formula: {s∈S : s |= φ }. Represent K as a (finite) graph and iteratively label the nodes with the subformulas of φ which are true in that node. " Add φ to the states satisfying φ " Add EF φ (EX φ) to the (immediate) predecessors of states labeled by φ " Add E(φ1 U φ2 ) to the predecessor states of φ2 while they satisfy φ1 " Add EG φ to the states for which there exists a path leading to a non trivial strongly connected component of the subgraph of states satisfying φ. 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 36 Basic CTL Model-Checking Algorithm Model Checking is an algorithm for computing, in a given finite Kripke structure K the set of states satisfying a CTL formula: {s∈S : s |= φ }. Represent K as a (finite) graph and iteratively label the nodes with the subformulas of φ which are true in that node. " Add φ to the states satisfying φ " Add EF φ (EX φ) to the (immediate) predecessors of states labeled by φ " Add E(φ1 U φ2 ) to the predecessor states of φ2 while they satisfy φ1 " Add EG φ to the states for which there exists a path leading to a non trivial strongly connected component of the subgraph of states satisfying φ. Model-checking algorithm in O(|K|*|φ|). Complexity: CTL model-checking is Ptime-complete, 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 37 Symbolic CTL Model-Checking Algorithm Represent finite Kripke structures using Boolean constraints for " sets of states as a boolean constraint c(V) " the transition relation as a boolean constraint r(V,V ) 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 38 Symbolic CTL Model-Checking Algorithm Represent finite Kripke structures using Boolean constraints for " sets of states as a boolean constraint c(V) " the transition relation as a boolean constraint r(V,V ) Ordered Binary Decision Diagrams OBDD [Bryant 85] provide canonical forms for Boolean formulas (decides SAT in NP, and equivalence, TAUT is co-NP) (x⋁¬y)⋀(y⋁¬z)⋀(z⋁¬x) and (x⋁¬z)⋀(z⋁¬y)⋀(y⋁¬x) are equivalent, they have the same BDD(x,y,z) 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 39 Mammalian Cell Cycle Control Map [Kohn 99] 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 40 Mammalian Cell Cycle Control Benchmark 147-2733 rules, 165 proteins and genes, 500 variables, 2500 states. BIOCHAM NuSMV model-checker time in seconds: Initial state G2 Query: Time: compiling 29 Reachability G1 EF CycE 2 Reachability G1 EF CycD 1.9 Reachability G1 EF PCNA-CycD 1.7 ¬ EF (¬ Cdc25~{Nterm} U Cdk1~{Thr161}-CycB) 2.2 Oscillations CycA EG ( (EF ¬ CycA) (EF CycA)) 31.8 Osciallations CycB EG ( (EF ¬ CycB) (EF CycB)) false ! Checkpoint for mitosis complex 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 6 41 Linear Time Logic with Constraints LTL(R) Constraints over concentrations and derivatives as formulae over the reals: [M] > 0.2 [M]+[P] > [Q] d([M])/dt < 0 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 42 Linear Time Logic with Constraints LTL(R) Constraints over concentrations and derivatives as formulae over the reals: [M] > 0.2 [M]+[P] > [Q] d([M])/dt < 0 LTL(R) formulae F([M]>0.2) FG([M]>0.2) 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 43 Linear Time Logic with Constraints LTL(R) Constraints over concentrations and derivatives as formulae over the reals: [M] > 0.2 [M]+[P] > [Q] d([M])/dt < 0 LTL(R) formulae 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)))) 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 44 Linear Time Logic with Constraints LTL(R) Constraints over concentrations and derivatives as formulae over the reals: [M] > 0.2 [M]+[P] > [Q] d([M])/dt < 0 LTL(R) formulae 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 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 45 Real-time LTL(R) Real-time variable T Reachability of a threshold value with a minimum delay F([M]>0.2) & G(Time<5 ⇒[M]<0.2) Formalization of numerical data time series (experimental curve) F(Time=1 & [M]=0.05 & F(Time=2 & [M]=0.12& F(Time=3 & [M]=0.25))) Constraint of period Period(A,75)= ∃ t ∃v F(Time = t & [A] = v & d([A])/dt > 0 & X(d([A])/dt < 0) & F(Time = t + 75 & [A] = v & d([A])/dt > 0 & X(d([A])/dt < 0))) 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 46 How to Evaluate an LTL(R) Formula ? Consider the ODE s 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.) 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 47 How to Evaluate a LTL(R) Formula ? Consider the ODE s 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. 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 48 LTL(R) Trace-based Model Checking Algo Input: An ODE system M given with initial conditions, an LTL(R) formula φ Hypothesis: the formula can be checked over a finite period of time [0,T] Output: whether φ is true in M 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 49 LTL(R) Trace-based Model Checking Algo Input: An ODE system M given with initial conditions, an LTL(R) formula φ Hypothesis: the formula can be checked over a finite period of time [0,T] Output: whether φ is true in M " Compute a trace by numerical integration from 0 to T 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 50 LTL(R) Trace-based Model Checking Algo Input: An ODE system M given with initial conditions, an LTL(R) formula φ Hypothesis: the formula can be checked over a finite period of time [0,T] Output: whether φ is true in M " Compute a trace by numerical integration from 0 to T Label each state of the trace with the formula s constraints that are true, 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 51 LTL(R) Trace-based Model Checking Algo Input: An ODE system M given with initial conditions, an LTL(R) formula φ Hypothesis: the formula can be checked over a finite period of time [0,T] Output: whether φ is true in M " " Compute a trace by numerical integration from 0 to T Label each state of the trace with the formula s constraints that are true, Iteratively label the states with the sub-formulae that are true: Add X φ1 to the immediate predecessors of states labeled by φ1, 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 52 LTL(R) Trace-based Model Checking Algo Input: An ODE system M given with initial conditions, an LTL(R) formula φ Hypothesis: the formula can be checked over a finite period of time [0,T] Output: whether φ is true in M " " Compute a trace by numerical integration from 0 to T Label each state of the trace with the formula s constraints that are true, Iteratively label the states with the sub-formulae that are true: Add X φ1 to the immediate predecessors of states labeled by φ1, Add φ1 U φ2 to the predecessors of states labelled by φ2 while they satisfy φ1, 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 53 LTL(R) Trace-based Model Checking Algo Input: An ODE system M given with initial conditions, an LTL(R) formula φ Hypothesis: the formula can be checked over a finite period of time [0,T] Output: whether φ is true in M " " Compute a trace by numerical integration from 0 to T Label each state of the trace with the formula s constraints that are true, Iteratively label the states with the sub-formulae that are true: Add X φ1 to the immediate predecessors of states labeled by φ1, Add φ1 U φ2 to the predecessors of states labelled by φ2 while they satisfy φ1, Add φ1 W φ2 to the states labelled by φ1∧ φ2, to the last state if it is labelled by φ1, and to the predecessors of states labelled by φ1 W φ2 while they satisfy φ1, 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 54 LTL(R) Trace-based Model Checking Algo Input: An ODE system M given with initial conditions, an LTL(R) formula φ Hypothesis: the formula can be checked over a finite period of time [0,T] Output: whether φ is true in M " " Compute a trace by numerical integration from 0 to T Label each state of the trace with the formula s constraints that are true, Iteratively label the states with the sub-formulae that are true: Add X φ1 to the immediate predecessors of states labeled by φ1, Add φ1 U φ2 to the predecessors of states labelled by φ2 while they satisfy φ1, Add φ1 W φ2 to the states labelled by φ1∧ φ2, to the last state if it is labelled by φ1, and to the predecessors of states labelled by φ1 W φ2 while they satisfy φ1, " Return true if the initial state is labelled by φ, and false otherwise 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 55 Naï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 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 56 Naï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 6. Scan the parameter value space [pmin,pmax]^n with a fixed step 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 57 Naï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,pmax]^n with a fixed step Test whether M(v) |= φ by trace-based model checking 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 58 Naï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,pmax]^n with a fixed step Test whether M(v) |= φ by trace-based model checking Return the first value set v which satisfies φ 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 59 Naï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,pmax]^n 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(s^n) where s is the maximum number of tried values in a range Gradient-based methods need a satisfaction degree for LTL(R) formulae& 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 60 Cell Cycle Control [Tyson 91] 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 61 Quantitative Model of Cell Cycle Control [Tyson 91] 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). 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 62 Learning Parameters from Temporal Properties biocham: learn_parameter([k3,k4],[(0,200),(0,200)],20, oscil(Cdc2-Cyclin~{p1},3),150). 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 63 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). 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 64 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). 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 65 Learning Parameters from Temporal Properties 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). 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 66 Coupling Cell and Circadian Cycles through Wee1 Cell cycle Circadian cycle Wee1P Wee1 .... C AP BMAL1/CLOCK RNA m 1 Wee .... preMPF MPF PER/CRY AP C .... Cdc25P Cdc25 Leloup and Goldbeter (1999) .... [L. Calzone, S. Soliman 2006] L 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 67 PCN Wee1m BN Wee1 MPF Cdc25 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 68 Condition of Entrainment in Period on Wee1/Cdc25 entrainment entrainment Entrainment in period constraint expressed in LTL with the period formula 29/07/10 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles 69 Continuous Satisfaction Degree for LTL(R) ? Satisfaction degree of LTL(R) formulas for oscillation with amplitude constraint 29/07/10 Bifurcation diagram on k4, k6 François Fages ­ Ecoles Jeunes Chercheurs ­ Porquerolles [Tyson 91] 70