280 likes | 475 Views
Formal Languages in the Biochemical Abstract Machine BIOCHAM François Fages, INRIA Rocquencourt http://contraintes.inria.fr/. Joint work with : Nathalie Sylvain Laurence
E N D
Formal Languages in theBiochemical Abstract Machine BIOCHAMFrançois Fages, INRIA Rocquencourthttp://contraintes.inria.fr/ • Joint work with: • Nathalie Sylvain Laurence • Chabrier-Rivier Soliman Calzone
The Thesis • Biological model = Transition system • Biological property = Temporal Logic formula • Biological validation = Model-checking • [Lincoln et al. 02] [Chabrier Fages et al. 03] [Alon et al. 04] [Bernot et al. 04] … • Model: BIOCHAM Biological Properties: • - Boolean - simulation - CTL • - Concentration - query evaluation - LTL with constraints • - Population - rule search - PCTL with constraints • - parameter search
The Thesis • Biological model = Transition system • Biological property = Temporal Logic formula • Biological validation = Model-checking • [Lincoln et al. 02] [Chabrier et al. 03] [Alon et al. 04] [Bernot et al. 04] … • Model: BIOCHAM Biological Properties: • - Boolean - simulation - CTL • - Concentration - query evaluation - LTL with constraints • - Population - rule search - PCTL with constraints • - parameter search
Plan of the Presentation • Rule-based Language for Modeling Biochemical Systems • Syntax of objects and reactions • Semantics at 3 abstraction levels: Boolean, concentrations, populations • Temporal Logic Language for Formalizing Biological Properties • Computation Tree Logic for the Boolean semantics • Constraint Linear Time Logic for the concentration semantics • Machine Learning Rules from Temporal Properties • Learning kinetic parameter values • Learning reaction rules • Conclusion on modeling issues of modularity and compositionality
1. BIOCHAM Syntax of Objects • O == E | E::location • E == compound | E-E | E~{p1,…,pn} | (E) • S == _ | O+S • Location: symbolic compartment: nucleus, cytoplasm, membrane, celli • Compound: molecule, #gene binding site, abstract @process… • - : binding operator for protein complexes, gene binding sites, … • Associative and commutative. • ~{…}: modification operator for phosphorylated sites, … • Set of modified sites (Associative, Commutative, Idempotent). • + : solution operator (Associative, Commutative, Neutral _)
Syntax of Rules • N ::= kinetic for R • R ::= S=>S abbrev. A=[C]=>B stands for A+C=>B+C • A<=>B stands for A=>B and B=>A • Seven main rule schemas: • Complexation A + B => A-B Decomplexation A-B => A + B • Phosphorylation A =[C]=> A~{p} Dephosphorylation A~{p} =[C]=> A • Synthesis _ =[C]=> A Degradation A =[C]=> _ • Transport A::L1 => A::L2
Syntax of Rules • N ::= kinetic for R • R ::= S=>S abbrev. A=[C]=>B stands for A+C=>B+C • A<=>B stands for A=>B and B=>A • Seven main rule schemas: • Complexation A + B => A-B Decomplexation A-B => A + B • Phosphorylation A =[C]=> A~{p} Dephosphorylation A~{p} =[C]=> A • Synthesis _ =[C]=> A Degradation A =[C]=> _ • Transport A::L1 => A::L2 • Type inference: C is a kinase / phosphatase / activated gene • Type inference: topology of locations L1, L2
Syntax of Rules • N ::= kinetic for R • R ::= S=>S abbrev. A=[C]=>B stands for A+C=>B+C • A<=>B stands for A=>B and B=>A • Seven main rule schemas: • Complexation A + B => A-B Decomplexation A-B => A + B • Phosphorylation A =[C]=> A~{p} Dephosphorylation A~{p} =[C]=> A • Synthesis _ =[C]=> A Degradation A =[C]=> _ • Transport A::L1 => A::L2 • Type inference: C is a kinase / phosphatase / activated gene • Type inference: topology of locations L1, L2 … • Easy import/export SBML format
BIOCHAM Semantics of a Rule Set {ei for Si => S’i} • Petri net semantics at three abstraction levels: • Boolean Semantics: presence-absence of molecules • Concurrent Transition System (asynchronous, non-deterministic)
BIOCHAM Semantics of a Rule Set {ei for Si => S’i} • Petri net semantics at three abstraction levels: • Boolean Semantics: presence-absence of molecules • Concurrent Transition System (asynchronous, non-deterministic) • 2. Concentration Semantics: number / volume • Ordinary Differential Equations or hybrid automaton (deterministic) • dxk/dt = ΣXi=1n ri(xk) * ei − ΣXj=1n lj(xk) * ej • where ri (resp. lj) is the stochiometric coefficient of xk in S’i (resp. Si) multiplied by the volume ratio of the location of xk.
BIOCHAM Semantics of a Rule Set {ei for Si => S’i} • Petri net semantics at three abstraction levels: • Boolean Semantics: presence-absence of molecules • Concurrent Transition System (asynchronous, non-deterministic) • 2. Concentration Semantics: number / volume • Ordinary Differential Equations or hybrid automaton (deterministic) • dxk/dt = ΣXi=1n ri(xk) * ei − ΣXj=1n lj(xk) * ej • where ri (resp. lj) is the stochiometric coefficient of xk in S’i (resp. Si) multiplied by the volume ratio of the location of xk. • 3. Population of molecules: number of molecules • Continuous time Markov chain the ei’s giving transition probabilities
Example: Cell Cycle Control Model [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.
E, A Non-determinism AG EU EF F,G,U Time 2. Formalizing Biological Properties in Temporal Logics • 2.1 Boolean Semantics: Computation Tree Logic CTL
Biological Properties formalized in CTL • Initial state: biological conditions of experiment, mutants etc. • Aboutreachability: • Can the cell produce some protein P? reachable(P)==EF(P) • Aboutpathways: • Is state s2 a necessary checkpoint for reaching state s? • checkpoint(s2,s)== E(s2U s) • Aboutstationnarity: • Is a (partially described) state s a stable state? stable(s)== AG(s) • Is s a steady state (with possibility of escaping) ? steady(s)==EG(s) • Aboutoscillations: • Can the system exhibit a cyclic behavior w.r.t. the presence of P ? oscil(P)== EG((P EF P) ^ (P EF P))
CTL Properties Satisfied in the Cell Cycle Model • reachable(Cdc2~{p1}) • reachable(Cyclin) • reachable(Cyclin~{p1}) • reachable(Cdc2-Cyclin~{p1}) • reachable(Cdc2~{p1}-Cyclin~{p1}) • oscil(Cdc2) • oscil(Cdc2~{p1}) • oscil(Cdc2~{p1}-Cyclin~{p1}) • oscil(Cyclin) • AG((!(Cdc2-Cyclin~{p1}))->checkpoint(Cdc2~{p1}-Cyclin~{p1},Cdc2-Cyclin~{p1})) • … • Automatically checked / generated by model-checking techniques (NuSMV BDD)
Temporal Properties with Numerical Constraints • Constraints over concentrations and derivatives as FOL formulae over the reals: • [M] > 0.2 • [M]+[P] > [Q] • d([M])/dt < 0 • Constraint LTL operators for time X, F, U, G (no non-determinism). • 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) • 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))) • Model checker and numerical integration implemented in Prolog
3. Searching Parameters from Temporal Properties • biocham: learn_parameter([k3,k4],[(0,200),(0,200)],20, • oscil(Cdc2-Cyclin~{p1},3),150).
3. Searching 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).
Searching 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 Rules from CTL Properties • Theory Revision Algorithm: • ACTL formulae contain only A quantifiers: checkpoint,… • If false, remains false after adding a rule delete rule • Remove a rule on the path given by the model checker (why command) • ECTL formulae contain only E quantifiers: reachability, oscillation, … • If false, remain false after deleting a rule add rule • Unclassified CTL formulae • Mixed E and A quantifiers • Correct, terminating but incomplete algorithm • (only one rule is searched to satisfy ECTL and UCTL formulas)
Learning Reaction Rules from CTL Specification • Suppose that the MPF activation rule is missing in the model • biocham: delete_rule(MPF~{p}=[cdc25C~{p1,p2}]=>MPF). • Rules can be searched to correct the model w.r.t. specification: • biocham: learn_one_rule(all_elementary_interaction_rules).
Learning Reaction Rules from CTL Specification • Suppose that the MPF activation rule is missing in the model • biocham: delete_rule(MPF~{p}=[cdc25C~{p1,p2}]=>MPF). • Rules can be searched to correct the model w.r.t. specification: • biocham: learn_one_rule(all_elementary_interaction_rules). • _=[cdc25C~{p1,p2}]=>MPF • MPF~{p}=[cdc25C~{p1,p2}]=>MPF • CKI+MPF~{p}=[cdc25C~{p1,p2}]=>CKI-MPF
Learning Reaction Rules from CTL Specification • Example: finding an intermediary step between MPF and APC activation • biocham: absent(X). add_rule(_=>X). add_rule(X=>_). • biocham: add_specs({ Ei(reachable(X)), Ai(oscil(X)), • Ai(AG(!APC->checkpoint(X,APC))), • Ai(AG(!X->checkpoint(MPF,X))) }). • biocham: check_all. • False. First formula not verified: Ai(AG(!APC->!(E(!X U APC)))) • Biocham searches for revisions of the model satisfying the specification • biocham: revise_model.
Learning Reaction Rules from CTL Specification • Example: finding an intermediary step between MPF and APC activation • biocham: absent(X). add_rule(_=>X). add_rule(X=>_). • biocham: add_specs({ Ei(reachable(X)), Ai(oscil(X)), • Ai(AG(!APC->checkpoint(X,APC))), • Ai(AG(!X->checkpoint(MPF,X))) }). • biocham: check_all. • False. First formula not verified: Ai(AG(!APC->!(E(!X U APC)))) • Biocham searches for revisions of the model satisfying the specification • biocham: revise_model. • Deletion(s): _=[MPF]=>APC. _=>X. • Addition(s): _=[X]=>APC. _=[MPF]=>X.
Conclusion • Formal languages in BIOCHAM: • Rule language modeling biochemical systems • Temporal logic modeling their biological properties • Automated reasoning tools in BIOCHAM: • Checking temporal logic properties model validation • Finding parameter values satisfying temporal properties • Finding reaction rules • Modeling issues of: • Modularity-compositionality model re-use in different contexts • Abstraction model simplification • Refinement model decomposition