Document

publicité
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: G1SG2M
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
Téléchargement