François Fages Evry, April 2004 The Biochemical Abstract Machine BIOCHAM Logic programming steps towards formal biology François Fages, INRIA Rocquencourt http://contraintes.inria.fr/ Joint work with and Nathalie Chabrier-Rivier Sylvain Soliman ARC CPBIO “Process Calculi and Biology of Molecular Networks” Alexander Bockmayr, LORIA Nancy, Vincent Danos, CNRS Paris PPS, Vincent Schächter, Genoscope Evry, et al. http://contraintes.inria.fr/cpbio/
The Biochemical Abstract Machine BIOCHAM Logic programming steps towards formal biology François Fages, INRIA Rocquencourt http://contraintes.inria.fr/. Joint work with and Nathalie Chabrier-Rivier Sylvain Soliman - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
François Fages Evry, April 2004
The Biochemical Abstract Machine BIOCHAMLogic programming steps towards formal biology
François Fages, INRIA Rocquencourt http://contraintes.inria.fr/
Joint work with andNathalie Chabrier-Rivier Sylvain Soliman
ARC CPBIO “Process Calculi and Biology of Molecular Networks”Alexander Bockmayr, LORIA Nancy, Vincent Danos, CNRS Paris PPS,Vincent Schächter, Genoscope Evry, et al.http://contraintes.inria.fr/cpbio/
François Fages Evry, April 2004
Current Revolution in Systems Biology
• Elucidation of high-level biological processes
in terms of their biochemical basis at the molecular level.
• Mass production of genomic and post-genomic data:
ARN expression, protein synthesis, protein-protein interactions,…
• Need for a strong parallel effort on the formal representation of biological processes: Systems Biology.
• Need for formal tools for modeling and reasoning about their global behavior.
François Fages Evry, April 2004
Formalisms for Modeling Biochemical Systems
• Diagrammatic notation • Boolean networks [Thomas 73]• Milner’s pi–calculus [Regev-Silverman-Shapiro 99-01, Nagasali et al. 00]• Concurrent transition systems [Chabrier-Chiaverini-Danos-Fages-Schachter
where $S in {_, cks1} and $C in {_, cdk2~?, cdk2~?-cks1}
147-2733 rules, 165 proteins and genes, 500 variables, 2500 states.
François Fages Evry, April 2004
Plan of the talk
1. Introduction2. A simple algebra of cell molecules3. Concurrent transition systems of biochemical reactions
• Example of the mammalian cell cycle control4. Temporal logic CTL as a query language
• Expressivity and computational results5. Learning reaction rules
• An experiment with inductive logic programming6. Kinetics models
• Simulation with differential equations• Hybrid systems
7. Conclusion
François Fages Evry, April 2004
4. Temporal Logic CTL as a Query Language
Computation Tree Logic
Time
Non-determinism E, A
F,G,U EF
EU
AG
Choice
Time
E
exists
A
always
X
next time
EX() AX()
F
finally
EF()
AG()
AF()
liveness
G
globally
EG()
AF( )
AG()
safety
U
untilE (U ) A (U )
François Fages Evry, April 2004
Kripke Structures
A Kripke structure K is a triple (S; R; L) where S is a set of states, and RSxS is a total relation.
s |= if is 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 there exists k >0 such that k |= ,
|= G if for every k >0, k |= ,
|= U iff there exists k>0 such that k |= for all j < k j |= Following [Emerson 90] we identify a formula to the set of states which
satisfy it ~ {sS : s |= }.
François Fages Evry, April 2004
Symbolic Model Checking
Model Checking is an algorithm for computing, in a given finite Kripke structure the set of states satisfying a CTL formula: {sS : s |= }.
Basic algorithm: represent K as a 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( U ) to the predecessor states of while they satisfy 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
Symbolic model checking: use OBDDs to represent states and transitions as boolean formulas (S is finite).
François Fages Evry, April 2004
Biological Queries (1/3)
About reachability:
• Given an initial state init, can the cell produce some protein P? init EF(P)
• Which are the states from which a set of products P1,. . . , Pn can be produced simultaneously? EF(P1^…^Pn)
About pathways:
• Can the cell reach a state s while passing by another state s2? init EF(s2^EFs)
• Is state s2 a necessary checkpoint for reaching state s? EF(s2U s)
• Is it possible to produce P without using nor creating Q? EF(Q U s)• Can the cell reach a state s without violating some constraints c? init EF(c U s)
François Fages Evry, April 2004
Biological Queries (2/3)
About stability:
• Is a certain (partially described) state s a stable state? sAG(s) sAG(s) (s denotes both the state and the formula describing it).
• Is s a steady state (with possibility of escaping) ? sEG(s)
• Can the cell reach a stable state? initEF(AG(s))not a LTL formula.
• Must the cell reach a stable state? initAF(AG(s))
• What are the stable states? Not expressible in CTL [Chan 00].
• Can the system exhibit a cyclic behavior w.r.t. the presence of P ? init EG((P EF P) ^ (P EF P))
François Fages Evry, April 2004
Biological Queries (3/3)
About the correctness of the model:
• Can one see the inaccuracies of the model and correct them?
Exhibit a counterexample pathway or a witness. Suggest refinements of the model or biological experiments to validate/invalidate the property of the model.
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 FO by adding numerical arguments for start times and durations.
François Fages Evry, April 2004
MAPK Signaling Pathway
RAF + RAFK <=> RAF-RAFK.RAF~{p1} + RAFPH <=> RAF~{p1}-RAFPH.MEK~$P + RAF~{p1} <=> MEK~$P-RAF~{p1} where p2 not in $P.MEKPH + MEK~{p1}~$P <=> MEK~{p1}~$P-MEKPH.MAPK~$P + MEK~{p1,p2} <=> MAPK~$P-MEK~{p1,p2} where p2 not in $P.MAPKPH + MAPK~{p1}~$P <=> MAPK~{p1}~$P-MAPKPH.