François Fages MPRI Bio-info 2007 Formal Biology of the Cell Inferring Reaction Rules from Temporal Properties François Fages, Constraint Programming Group,

Slides:



Advertisements
Similar presentations
1 Abstraction (Cont’d) Defining an Abstract Domain variable elimination, data abstraction, predicate abstraction Abstraction for Universal/Existential.
Advertisements

Robustness Analysis and Tuning of Synthetic Gene Networks Grégory Batt 1 Boyan Yordanov 1 Calin Belta 1 Ron Weiss 2 1 Centers for Information and Systems.
Tutorial I – An Introduction to Model Checking Peng WU INRIA Futurs LIX, École Polytechnique.
Metodi formali dello sviluppo software a.a.2013/2014 Prof.Anna Labella.
CS 267: Automated Verification Lecture 2: Linear vs. Branching time. Temporal Logics: CTL, CTL*. CTL model checking algorithm. Counter-example generation.
M ODEL CHECKING -Vasvi Kakkad University of Sydney.
Algorithmic Software Verification VII. Computation tree logic and bisimulations.
Introduction to Formal Methods for SW and HW Development 09: SAT Based Abstraction/Refinement in Model-Checking Roberto Sebastiani Based on work and slides.
François Fages MPRI Bio-info 2006 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraint Programming.
François Fages MPRI Bio-info 2007 Formal Biology of the Cell Protein structure prediction with constraint logic programming François Fages, Constraint.
François FagesLyon, Dec. 7th 2006 Biologie du système de signalisation cellulaire induit par la FSH ASC 2006, projet AgroBi INRIA Rocquencourt Thème “Systèmes.
François Fages MPRI Bio-info 2007 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraint Programming.
1 Computation Tree Logic (CTL). 2 CTL Syntax P - a set of atomic propositions, every p  P is a CTL formula. f, g, CTL formulae, then so are  f, f 
François Fages WCB Nantes 2006 On Using Temporal Logic with Constraints to express Biological Properties of Cell Processes François Fages, Constraint Programming.
Planning based on Model Checking Dept. of Information Systems and Applied CS Bamberg University Seminar Paper Svetlana Balinova.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
François FagesShonan village 14/11/11 Formal Cell Biology in Biocham François Fages Constraint Programming Group INRIA Paris-Rocquencourt.
François Fages MPRI Bio-info 2005 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraint Programming.
An Introduction to the Model Verifier verds Wenhui Zhang September 15 th, 2010.
François Fages MPRI Bio-info 2007 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraint Programming.
François Fages MPRI Bio-info 2006 Formal Biology of the Cell Locations, Transport and Signaling François Fages, Constraint Programming Group, INRIA Rocquencourt.
ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
François Fages MPRI Bio-info 2006 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraints Group, INRIA.
UIUC CS 497: Section EA Lecture #2 Reasoning in Artificial Intelligence Professor: Eyal Amir Spring Semester 2004.
Temporal Logic and the NuSMV Model Checker CS 680 Formal Methods Jeremy Johnson.
CS6133 Software Specification and Verification
UPPAAL Introduction Chien-Liang Chen.
1 Partial Order Reduction. 2 Basic idea P1P1 P2P2 P3P3 a1a1 a2a2 a3a3 a1a1 a1a1 a2a2 a2a2 a2a2 a2a2 a3a3 a3a3 a3a3 a3a3 a1a1 a1a1 3 independent processes.
Model Checking Genetic Regulatory Networks with Parameter Uncertainty Grégory Batt, Calin Belta, Ron Weiss HSCC 2007 Presented by Spring Berman ESE :
François Fages MPRI Bio-info 2005 Formal Biology of the Cell Locations, Transport and Signaling François Fages, Constraint Programming Group, INRIA Rocquencourt.
François Fages MPRI Bio-info 2005 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraint Programming.
 Dr. Vered Gafni 1 LTL Decidability Enables consistency check, but also base for verification.
SAT and Model Checking. Bounded Model Checking (BMC) A.I. Planning problems: can we reach a desired state in k steps? Verification of safety properties:
Petri net modeling of biological networks Claudine Chaouiya.
1 Model Checking, Abstraction- Refinement, and Their Implementation Based on slides by: Orna Grumberg Presented by: Yael Meller June 2008.
Discrete Abstractions of Hybrid Systems Rajeev Alur, Thomas A. Henzinger, Gerardo Lafferriere and George J. Pappas.
Formalizing Alpha: Soundness and Completeness Bram van Heuveln Dept. of Cognitive Science RPI.
Temporal Logic and Model Checking. Reactive Systems We often classify systems into two types: Transformational: functions from inputs available at the.
Witness and Counterexample Li Tan Oct. 15, 2002.
¹ -Calculus Based on: “Model Checking”, E. Clarke and O. Grumberg (ch. 6, 7) “Symbolic Model Checking: 10^20 States and Beyond”, Burch, Clark, et al “Introduction.
Technion 1 (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion.
Review of the automata-theoretic approach to model-checking.
Witness and Counterexample Li Tan Oct. 15, 2002.
Antoine Girard VAL-AMS Project Meeting April 2007 Behavioral Metrics for Simulation-based Circuit Validation.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
Lecture 81 Regional Automaton CS 5270 Lecture 8. Lecture 82 What We Need to Do Problem: –We need to analyze the timed behavior of a TTS. –The timed behavior.
Lecture 81 Optimizing CTL Model checking + Model checking TCTL CS 5270 Lecture 9.
CS 267: Automated Verification Lecture 3: Fixpoints and Temporal Properties Instructor: Tevfik Bultan.
Verification & Validation By: Amir Masoud Gharehbaghi
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 9, 2003.
1 Temporal logic. 2 Prop. logic: model and reason about static situations. Example: Are there truth values that can be assigned to x,y simultaneously.
Propositional Logic Rather than jumping right into FOL, we begin with propositional logic A logic involves: §Language (with a syntax) §Semantics §Proof.
CS357 Lecture 13: Symbolic model checking without BDDs Alex Aiken David Dill 1.
Variants of LTL Query Checking Hana ChocklerArie Gurfinkel Ofer Strichman IBM Research SEI Technion Technion - Israel Institute of Technology.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
CSE 311 Foundations of Computing I Lecture 8 Proofs Autumn 2011 CSE 3111.
Knowledge Repn. & Reasoning Lecture #9: Propositional Logic UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2005.
François Fages MPRI Bio-info 2005 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraints Group, INRIA.
Model Checking Lecture 2. Model-Checking Problem I |= S System modelSystem property.
Complexity of Compositional Model Checking of Computation Tree Logic on Simple Structures Krishnendu Chatterjee Pallab Dasgupta P.P. Chakrabarti IWDC 2004,
Cirquent calculus Episode 15 About cirquent calculus in general
Formal Methods in software development
MA/CSSE 474 More Math Review Theory of Computation
Computer Security: Art and Science, 2nd Edition
Formal Methods in software development
Formal Methods in software development
Program correctness Branching-time temporal logics
Model Checking Graph Grammars
Presentation transcript:

François Fages MPRI Bio-info 2007 Formal Biology of the Cell Inferring Reaction Rules from Temporal Properties François Fages, Constraint Programming Group, INRIA Rocquencourt

François Fages MPRI Bio-info 2007 Overview of the Lectures 1.Introduction. Formal molecules and reactions in BIOCHAM. 2.Formal biological properties in temporal logic. Symbolic model-checking. 3.Continuous dynamics. Kinetic models. 4.Learning kinetic parameter values. Constraint-based model checking. 5.Abstract Interpretation for systems biology I: hierarchy of semantics 6.Abstract Interpretation for systems biology II: types 7.Locations, transport and intercellular signalling 8.Inferring reaction rules from temporal properties 9.… 10.Protein structure prediction in constraint logic programming

François Fages MPRI Bio-info 2007 A Logical Paradigm for Systems Biology Biological model = Transition System 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(s 2,s) =  E(  s 2 U 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

François Fages MPRI Bio-info 2007 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’ |= φ

François Fages MPRI Bio-info 2007 Kripke Semantics of CTL* Kripke structure K=(S,R) where S is a set of states and R  SxS is total. s |=  if propositional formula  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 |= ,  |=  U  iff there exists k ≥ 0 such that  k |=  for all j < k  j |=   |=  W  iff  j  j |=  or  k ≥ 0  k |=  and  j < k  j |=  F  = (true U   |= F  if there exists k ≥ 0 such that  k |= , G  = (  W false   |= G  if for every k ≥ 0,  k |= 

François Fages MPRI Bio-info 2007 Duality in CTL*  E  = A    X  = X    U  =   W    F  = G   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  can be identified to the set of states where it is true  ~ {s  S : s |=  } LTL : fragment of CTL* without E, A LTL(U) : fragment of LTL without X LTL(F) : fragment of LTL without X, U, W

François Fages MPRI Bio-info 2007 Complexity of Model-checking and Satisfiability Model-checking Satisfiability given an explicit Kripke structure K given a formula , does there exist and a formula , does K,s |=  ? a structure K,s such that K,s |=  ? LTL, LTL(U) : Pspace complete Pspace complete LTL(F) : NP-complete NP-complete CTL : Ptime DetExpTime complete CTL* : Pspace complete DetExpExpTime complete

François Fages MPRI Bio-info 2007 Simple Model of 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.

François Fages MPRI Bio-info 2007 (Aut. Generated) CTL Specification of the Model biocham: add_genCTL. reachable(Cyclin). reachable(!(Cyclin)). oscil(Cyclin). reachable(Cdc2~{p1}). reachable(!(Cdc2~{p1})). checkpoint(Cdc2, Cdc2~{p1}). oscil(Cdc2). … reachable(Cyclin~{p1}). reachable(!(Cyclin~{p1})) oscil(Cyclin~{p1}). checkpoint(Cdc2-Cyclin~{p1}, Cyclin~{p1}).

François Fages MPRI Bio-info 2007 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}=>Cdc2 After 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.

François Fages MPRI Bio-info 2007 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}.

François Fages MPRI Bio-info 2007 Search for all Solutions biocham: learn_one_addition(elementary_interaction_rules). Time: 5.00 s Rules tested: 112 Good rules to be added: 2 Cdc2=>Cdc2~{p1} Cdc2=[Cyclin]=>Cdc2~{p1}

François Fages MPRI Bio-info 2007 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 {  C : K,s|=  } = {  C : K’,s|=  }

François Fages MPRI Bio-info 2007 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 {  C : K,s|=  } = {  C : K’,s|=  } 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

François Fages MPRI Bio-info 2007 CTL Equivalence for a Simple Enzymatic Reaction Two Biocham models: M 1 = {A+B D, D=>A+C}  M M 2 = {B =[A]=> C}  M D having no occurrence in M nor in the initial state s,  is atomic.

François Fages MPRI Bio-info 2007 CTL Equivalence for a Simple Enzymatic Reaction Two Biocham models: M 1 = {A+B D, D=>A+C}  M M 2 = {B =[A]=> C}  M D having no occurrence in M nor in the initial state s,  is atomic. Proposition If M 2,s |= EF(  ) then M 1,s |= EF(  ). Proof In M 2 the transitions A+B  A+C (resp. A+B  A+B+C) can be replaced in M 1 by A+B  D  A+C (resp. A+B  B+D  B+A+C).

François Fages MPRI Bio-info 2007 CTL Equivalence for a Simple Enzymatic Reaction Two Biocham models: M 1 = {A+B D, D=>A+C}  M M 2 = {B =[A]=> C}  M D having no occurrence in M nor in the initial state s,  is atomic. Proposition If M 2,s |= EF(  ) then M 1,s |= EF(  ). Proposition If M 1,s |= EF(  ) then M 2,s |= EF(  ) whenever A and B do not appear negatively (i.e. under an odd number of negations) in  and D does not appear at all in . Proof Let  be a path in M 1 such that  k |= . If  k does not contain D then one can easily mimick  with  ’ in M 2 such that  ’ k’ =  k for some k’≤k. Otherwise, the last transition on D is either D  D+A+C and can be replaced by D  A+C, or A+B  D and can be erased. In both cases the path is mimicked in M 2.

François Fages MPRI Bio-info 2007 CTL Equivalence for a Simple Enzymatic Reaction Two Biocham models: M 1 = {A+B D, D=>A+C}  M M 2 = {B =[A]=> C}  M D having no occurrence in M nor in the initial state s,  ψ atomic. Proposition If M 2,s |= ¬ E( ¬  U ψ) then M 1,s |= ¬ E( ¬  U ψ) whenever A and B do not appear negatively in ψ and D does not appear positively in ψ

François Fages MPRI Bio-info 2007 CTL Equivalence for a Simple Enzymatic Reaction Two Biocham models: M 1 = {A+B D, D=>A+C}  M M 2 = {B =[A]=> C}  M D having no occurrence in M nor in the initial state s,  ψ atomic. Proposition If M 2,s |= ¬ E( ¬  U ψ) then M 1,s |= ¬ E( ¬  U ψ) whenever A and B do not appear negatively in ψ and D does not appear positively in ψ Proposition If M 1,s |= ¬ E( ¬  U ψ) implies M 2,s |= ¬ E( ¬  U ψ) A and B do not appear negatively in  and D does not appear positively in 

François Fages MPRI Bio-info 2007 Positive and Negative CTL Formulae Let K = (S,R,L) and K’ = (S,R’,L) be two Kripke structures such that R  R’ Def. An ECTL (positive) formula is a CTL formula with no occurrence of A (nor negative occurrence of E). Ex. : reachability EF(  ), steady EG(  ) Def. An ACTL (negative) formula is a CTL formula with no occurrence of E (nor negative occurrence of A). Ex. : checkpoint  E(   2 U  ), stable AG(  )

François Fages MPRI Bio-info 2007 Monotonicity of Positive ECTL Formulae Let K = (S,R) and K’ = (S,R’) be two Kripke structures such that R  R’. Proposition For any ECTL formula , if K’,s |≠  then K,s |≠ . Proof We show that K,s |=  implies K’,s |=  by induction on the proof of  If  is propositionnal, s |=  hence K’,s |=  ; If  =  1&  2 (resp.  1|  2) then by induction K’,s|=  1 and (resp. or) K’,s|=  2. If  =EX  then K,  |= X  1 for some path  in K, hence in K’, so K,  1 |=  1 and by induction K’,  1 |=  1 hence K’,  |= X  1 If  =E(  U  2) then K,  |=  1 U  2 for some path  in K, hence in K’, so there exists k K,  k |=  2 and for all j<k K,  j |=  1. By induction K’,  k |=  2 and for all j<k K’,  j |=  1 hence K,  |=  1 U  2.

François Fages MPRI Bio-info 2007 Anti-monotonicity of Negative ECTL Formulae Let K = (S,R) and K’ = (S,R’) be two Kripke structures such that R  R’. Proposition For any ACTL formula , if K,s |≠  then K’,s |≠ . Proof If K,s |≠  then K,s |=  where  is an ECTL formula. By the previous proposition, K’,s |=  hence K’,s |≠ .

François Fages MPRI Bio-info 2007 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 oscil(a)= AG((a  EF  a)^(  a  EFa))

François Fages MPRI Bio-info 2007 Theory Revision Algorithm Rules Initial state: E transition:  if R |= e E’ transition:  if R |≠ e and  f  {e}  E  U  A, K  {r} |= f

François Fages MPRI Bio-info 2007 Theory Revision Algorithm Rules Initial state: E transition:  if R |= e E’ transition:  if R |≠ e and  f  {e}  E  U  A, K  {r} |= f U transition:  if R |= u U’ transition:  if R|≠u and  f  {u}  E  U  A, R  {r} |= f U” transition:  if K, si|≠u and  f  {u}  E  U  A, R |= f

François Fages MPRI Bio-info 2007 Theory Revision Algorithm Rules Initial state: E transition:  if R |= e E’ transition:  if R |≠ e and  f  {e}  E  U  A, K  {r} |= f U transition:  if R |= u U’ transition:  if R|≠u and  f  {u}  E  U  A, R  {r} |= f U” transition:  if K, si|≠u and  f  {u}  E  U  A, R |= f A transition:  if R |= a A’ transition:  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.

François Fages MPRI Bio-info 2007 Termination Proposition The model revision algorithm terminates. Proof The termination of the algorithm is proved by considering the lexicographic ordering over the couple 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.

François Fages MPRI Bio-info 2007 Correctness Proposition If the terminal configuration is of the form 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.

François Fages MPRI Bio-info 2007 Incompleteness Two reasons: 1)The satisfaction of ECTL and UCTL formula is searched by adding only one rule to the model (transition E’ and U’) 2)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.

François Fages MPRI Bio-info 2007 Optimisations Restrict the search space for rules to add by: Considering type information on molecular species Kinase(A) B=[A]=>B~{p}. for any B Phosphatase(A) B~{p}=[A]=>B. for any B Kinase(A,B) Phosphatase(A,B) Considering the influence graph between molecular species Activates(A,B) _=[A]=>B. A+B’=>B. B~{p}=[A]=>B. B’=[A]=>B. Inhibits(A,B) B=[A]=>_. A+B=>A-B. B=[A]=>B~{p}. B=[A]=>B’. Considering the topology of locations Neighbor(L,L’) A:L+…=>B:L’+…