280 likes | 396 Views
Formal Biology of the Cell Inferring Reaction Rules from Temporal Properties 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 Cell Inferring Reaction Rules from Temporal PropertiesFranç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. • Feedback loops, multistationnarity and oscillations [Sriram] • Locations, transport and extracellular signaling. • Inferring reaction rules from temporal properties • Abstract interpretation of biomolecular networks • Protein structure prediction in constraint logic programming
A Logical Paradigm for Systems Biology • Biological property = Temporal Logic Formula • Biological validation = Model-checking • Initial state : experimental conditions, wild-life/mutated organisms,… • Boolean semantics (propositionnal-CTL) • reachable(P) = EF(P)checkpoint(s2,s) = E(s2U s) • stable(s) = AG(s) steady(s) = EG(s) • oscil(P) = EG(F P ^ F P) • Differential semantics (constraint-LTL) • Reach threshold concentration : F([M]>0.2) on derivative : F(d([M]/dt)>0.2) • Reach and stays above threshold : FG([M]>0.2) • oscil(P,n)=F(d([M])/dt>0 & F(d([M])/dt<0 & … )) n times
Learning Model Revision from Temporal Properties • Theory T: BIOCHAM model • molecule declarations • reaction rules: complexation, phosphorylation, … • Examples φ: CTL specification of biological properties • Reachability • Checkpoints • Stable states • Oscillations • Bias R: Rule pattern • Kind of rules to add or delete • Find a revision T’ of T such that T’ |= φ
Kripke Semantics of CTL* • Kripke structure K=(S,R) where S is a set of states and RSxS is total. • s |= f if propositional formula f is true in s, • s |= E f if there is a path from s such that |= f, • s |= A f if for every path from s, |= f, • |= f if s |= f where s is the starting state of , • |= X f if 1 |= f, • |= f1 U f2 iff there exists k ≥ 0 such that k |= f2 for all j < k j |= f1. • |= f1 W f2 iff j j |= f1 or k ≥ 0 k |= f1 f2and j < k j |= f1. • F f = (true U f) |= F f if there exists k ≥ 0 such that k |= f, • G f = (f W false) |= G f if for every k ≥ 0, k |= f
Duality in CTL* • E f = A f • X f = X f • (f1 U f2) = f2 W f1 • F f = G f • CTL*(X) : fragment of CTL* without U, W, F, G • CTL*(U) : fragment of CTL* without X • CTL : fragment of CTL* with E, A immediately before X, F, G, U , W • f can be identified to the set of states where it is true f ~ {sS : s |= f} • LTL : fragment of CTL* without E, A • LTL(U) : fragment of LTL without X • LTL(F) : fragment of LTL without X, U, W
Complexity of Model-checking and Satisfiability • Model-checkingSatisfiability • given an explicit Kripke structure K given a formula f, does there exist • and a formula f, does K,s |= f ? a structure K,s such that K,s |= f ? • LTL, LTL(U) : Pspace complete Pspace complete • LTL(F) : NP-complete NP-complete • CTL : Ptime DetExpTime complete • CTL* : Pspace complete DetExpExpTime complete
CTL Equivalence of Boolean Models • For a class C of CTL formulae, and an initial state s, • two Kripke structures K=(S,R), K’=(S,R’) are equivalent • K ~C K’ iff {fC : K,s|=f} = {fC : K’,s|=f}
CTL Equivalence of Boolean Models • For a class C of CTL formulae, and an initial state s, • two Kripke structures K=(S,R), K’=(S,R’) are equivalent • K ~C K’ iff {fC : K,s|=f} = {fC : K’,s|=f} • Which model transformations preserve a class of CTL properties? • Model refinement or simplification preserving a CTL specification • Which model transformations can make a CTL property true? • Learning of rules to add or to delete to satisfy a CTL specification
CTL Equivalence for a Simple Enzymatic Reaction • Two Biocham models: M1= {A+B<=>D, D=>A+C} M • M2 = {B =[A]=> C} M • D having no occurrence in M nor in the initial state s.
CTL Equivalence for a Simple Enzymatic Reaction • Two Biocham models: M1= {A+B<=>D, D=>A+C} M • M2 = {B =[A]=> C} M • D having no occurrence in M nor in the initial state s • Proposition If M2 ,s |= EF(f) then M1 ,s |= EF(f). • Proof In M2 the transitions A+BA+C (resp. A+BA+B+C) can be replaced in M1 by A+BDA+C (resp. A+BB+DB+A+C).
CTL Equivalence for a Simple Enzymatic Reaction • Two Biocham models: M1= {A+B<=>D, D=>A+C} M • M2 = {B =[A]=> C} M • D having no occurrence in M nor in the initial state s • Proposition If M2 ,s |= EF(f) then M1 ,s |= EF(f). • Proof In M2 the transitions A+BA+C (resp. A+BA+B+C) can be replaced in M1 by A+BDA+C (resp. A+BB+DB+A+C). • Proposition If M1 ,s |= EF(f) then M2 ,s |= EF(f) whenever A and B do not appear negatively (i.e. under an odd number of negations) in f and D does not appear at all in f. • Proof Let be a path in M1 such that k|= f. If kdoes not contain D then one can easily mimick with ’ in M2 such that ’k’ = k for some k’≤k. Otherwise, the last transition on D is either DD+A+C and can be replaced by DA+C, or A+BD and can be erased. In both cases the path is mimicked in M2.
CTL Equivalence for a Simple Enzymatic Reaction • Two Biocham models: M1= {A+B<=>D, D=>A+C} M • M2 = {B =[A]=> C} M • D having no occurrence in M nor in the initial state s. • Proposition If M2 ,s |= ¬E(¬fU ψ) then M1 ,s |= ¬E(¬fU ψ) whenever A and B do not appear negatively in ψ and D does not appear positively in ψ • Proposition If M1 ,s |= ¬E(¬fU ψ) implies M2 ,s |= ¬E(¬fU ψ) A and B do not appear negatively in f and D does not appear positively in f
Positive and Negative CTL Formulae • Let K = (S,R,L) and K’ = (S,R’,L) be two Kripke structures such that RR’ • Def. An ECTL (positive) formula is a CTL formula with no occurrence of A (nor negative occurrence of E). • Ex. : reachability EF(f), steady EG(f) • Def. An ACTL (negative) formula is a CTL formula with no occurrence of E (nor negative occurrence of A). • Ex. : checkpoint E(f2U f), stable AG(f)
Monotonicity of Positive ECTL Formulae • Let K = (S,R) and K’ = (S,R’) be two Kripke structures such that RR’. • Proposition For any ECTL formula f, if K’,s |≠ f then K,s |≠ f. • Proof We show that K,s |= f implies K’,s |= f by induction on the proof of f • If f is propositionnal, s |= f hence K’,s |= f ; • If f=f1&f2 (resp. f1|f2) then by induction K’,s|=f1 and (resp. or) K’,s|=f2. • If f=EX f1 then K, |= X f1 for some path in K, hence in K’, so K,1|= f1 and by induction K’,1|= f1 hence K’, |= X f1 • If f=E(f1 U f2) then K, |= f1 U f2 for some path in K, hence in K’, so there exists k K,k|= f2 and for all j<k K,j|= f1. By induction K’,k|= f2 and for all j<k K’,j|= f1 hence K, |= f1 U f2.
Anti-monotonicity of Negative ECTL Formulae • Let K = (S,R) and K’ = (S,R’) be two Kripke structures such that RR’. • Proposition For any ACTL formula f, if K,s |≠ f then K’,s |≠ f. • Proof If K,s |≠ f then K,s |= f where f is an ECTL formula. • By the previous proposition, K’,s |= f hence K’,s |≠ f.
Theory Revision Algorithm • General idea of constraint programming: replace a generate-and-test algorithm by a constrain-and-generate algorithm. • Anticipate whether one has to add or remove a rule? • Positive ECTL formula: if false, remains false after removing a rule • Reachability, stability • Need to add rules • Negative ACTL formula: if false, remains false after adding a rule • Checkpoints • Need to remove a rule on the path given by the model checker • Unclassified CTL formulae • Loop(a)= AG((a EFa)^(a EFa))
Theory Revision Algorithm Rules • Initial state: <(0, 0, 0), (E,U,A), R> • E transition: <(E,U,A), (E{e},U,A), R> <(E{e},U,A), (E,U,A),R> if R |= e • E’ transition: <(E,U,A), (E {e},U,A), R> <(E{e},U,A), (E,U,A),R {r}> • if R |≠ e and f {e} EUA, K {r} |= f
Theory Revision Algorithm Rules • Initial state: <(0, 0, 0), (E,U,A), R> • E transition: <(E,U,A), (E{e},U,A), R> <(E{e},U,A), (E,U,A),R> if R |= e • E’ transition: <(E,U,A), (E {e},U,A), R> <(E{e},U,A), (E,U,A),R {r}> • if R |≠ e and f {e} EUA, K {r} |= f • U transition: <(E,U,A), (0,U {u},A), R > <(E,U {u},A), (0,U,A),R> if R |= u • U’ transition: <(E,U,A), (0,U {u},A), R > <(E,U{u},A), (0,U,A),R {r}> • if R|≠u and f {u} EUA, R {r} |= f • U” transition: <(E,U,A), (0,U {u},A), R Re > <(E,U{u},A),(0,U,A), R> • if K,si|≠u and f {u} EUA, R |= f
Theory Revision Algorithm Rules • Initial state: <(0, 0, 0), (E,U,A), R> • E transition: <(E,U,A), (E{e},U,A), R> <(E{e},U,A), (E,U,A),R> if R |= e • E’ transition: <(E,U,A), (E {e},U,A), R> <(E{e},U,A), (E,U,A),R {r}> • if R |≠ e and f {e} EUA, K {r} |= f • U transition: <(E,U,A), (0,U {u},A), R > <(E,U {u},A), (0,U,A),R> if R |= u • U’ transition: <(E,U,A), (0,U {u},A), R > <(E,U{u},A), (0,U,A),R {r}> • if R|≠u and f {u} EUA, R {r} |= f • U” transition: <(E,U,A), (0,U {u},A), R Re > <(E,U{u},A),(0,U,A), R> • if K,si|≠u and f {u} EUA, R |= f • A transition: <(E,U,A), (0, 0,A {a}), R > <(E,U,A{a}), (Ep,Up,A),R> if R |= a • A’ transition: <(EEp,UUp,A),(0,0,A{a}), RRe><(E,U,A{a}),(Ep,Up,A),R> if R|≠ a, f {u} [ E U A, R |= f and Ep Up is the set of formulae no longer satisfied after the deletion of the rules in Re.
Termination • Proposition The model revision algorithm terminates. • Proof • The termination of the algorithm is proved by considering the lexicographic • ordering over the couple < a, n > • where a is the number of unsatisfied ACTL formulae, • and n is the number of unsatisfied ECTL and UCTL formulae. • Each transition strictly decreases a, • or lets a unchanged and strictly decreases n.
Correctness • Proposition If the terminal configuration is of the form < (E,U,A), (0,0,0), R > then the model R satisfies the initial CTL specification. • Proof • Each transition maintains only true formulae in the satisfied set, • and preserves the complete CTL specification • in the union of the satisfied set and the untreated set.
Incompleteness • Two reasons: • The satisfaction of ECTL and UCTL formula is searched by adding only one rule to the model (transition E’ and U’) • The Kripke structure associated to a Biocham set of rules adds loops on terminal states. Hence adding or removing a rule may have an opposite deletion or addition of those loops.
Rule Inference in Cell Cycle Control • [Tyson et al. 91] model over 6 variables, • initial state present(cdc2). • _=>Cyclin. • Cyclin=>_. • Cyclin+Cdc2~{p1}=>Cdc2-Cyclin~{p1,p2}.Cdc2-Cyclin~{p1,p2}=>Cdc2-Cyclin~{p1}.Cdc2-Cyclin~{p1,p2}=[Cdc2-Cyclin~{p1}]=>Cdc2-Cyclin~{p1}.Cdc2-Cyclin~{p1}=>Cdc2-Cyclin~{p1,p2}.Cdc2-Cyclin~{p1}=>Cyclin~{p1}+Cdc2.Cyclin~{p1}=>_.Cdc2=>Cdc2~{p1}.Cdc2~{p1}=>Cdc2.
(Aut. Generated) CTL Specification of the Model • biocham: add_genCTL.Ei(EF(Cyclin)).Ei(EF(!(Cyclin))).Ai(AG(Cyclin->EF(!(Cyclin))&(!(Cyclin)->EF(Cyclin)))).Ei(EF(Cdc2~{p1})).Ei(EF(!(Cdc2~{p1}))).Ai(AG(!(Cdc2~{p1})->!(E(!(Cdc2) U Cdc2~{p1})))).… • Ai(AG(Cdc2->EF(!(Cdc2))&(!(Cdc2)->EF(Cdc2)))).Ei(EF(Cyclin~{p1})).Ei(EF(!(Cyclin~{p1}))) • Ai(AG(Cyclin~{p1}->EF(!(Cyclin~{p1})) • &(!(Cyclin~{p1})->EF(Cyclin~{p1})))).Ai(AG(!(Cyclin~{p1})->!(E(!(Cdc2-Cyclin~{p1}) U Cyclin~{p1})))).
Model Compression • biocham: reduce_model.1: deleting Cyclin=>_2: deleting Cdc2-Cyclin~{p1,p2}=[Cdc2-Cyclin~{p1}]=>Cdc2-Cyclin~{p1}3: deleting Cdc2-Cyclin~{p1}=>Cdc2-Cyclin~{p1,p2}4: deleting Cdc2~{p1}=>Cdc2After reduction, 6 rules remain corresponding to the bias ? => ?Deletion(s):Cyclin=>_.Cdc2-Cyclin~{p1,p2}=[Cdc2-Cyclin~{p1}]=>Cdc2-Cyclin~{p1}.Cdc2-Cyclin~{p1}=>Cdc2-Cyclin~{p1,p2}.Cdc2~{p1}=>Cdc2.
Theory Revision • biocham: delete_rules(Cdc2=>Cdc2~{p1}).Cdc2=>Cdc2~{p1} • biocham: revise_model.1: adding Cdc2-Cdc2~{p1}=>Cdc2+Cdc2~{p1}2: adding Cdc2=>_2: backtracking on previous add -> deleting Cdc2=>_2: adding Cdc2=[Cyclin]=>_2: backtracking on previous add -> deleting Cdc2=[Cyclin]=>_2: adding Cdc2=[Cdc2-Cdc2~{p1}]=>_3: adding Cdc2=>Cdc2~{p1}4: deleting Cdc2=[Cdc2-Cdc2~{p1}]=>_5: deleting Cdc2-Cdc2~{p1}=>Cdc2+Cdc2~{p1} • Modifications found: Deletion(s): Addition(s): Cdc2=>Cdc2~{p1}.
Search for all Solutions • biocham: learn_one_addition(elementary_interaction_rules).Time: 5.00 sRules tested: 112Good rules to be added: 2Cdc2=>Cdc2~{p1}Cdc2=[Cyclin]=>Cdc2~{p1}