Download - Overview of the Lectures
![Page 1: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/1.jpg)
François Fages MPRI Bio-info 2005
Formal Biology of the Cell
Modeling, Computing and Reasoning with Constraints
François Fages, Constraint Programming Group,
INRIA Rocquencourt mailto:[email protected]://contraintes.inria.fr/
![Page 2: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/2.jpg)
François Fages MPRI Bio-info 2005
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. Kinetics models.
4. Computational models of the cell cycle control [L. Calzone].
5. Mixed models of the cell cycle and the circadian cycle [L. Calzone].
6. Machine learning reaction rules from temporal properties.
7. Constraint-based model checking. Learning kinetic parameter values.
8. Constraint Logic Programming approach to protein structure prediction.
![Page 3: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/3.jpg)
François Fages MPRI Bio-info 2005
A Logical Paradigm for Systems Biology
Biological property = Temporal Logic Formula
Biological validation = Model-checking
Initial state : experimental conditions, wild-life/mutated organisms,…
reachable(P)==EF(P)
checkpoint(s2,s)== E(s2U s)
stable(s)== AG(s)
steady(s)==EG(s)
oscil(P)== EG((P EF P) ^ (P EF P))
Reach threshold concentration : F([M]>0.2) On derivative : F(d([M])>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
![Page 4: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/4.jpg)
François Fages MPRI Bio-info 2005
Kripke Semantics of CTL
A Kripke structure K is a triple (S,R) where S is a set of states, and RSxS is a total relation.
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 |= ,
|= 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 |= }.
![Page 5: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/5.jpg)
François Fages MPRI Bio-info 2005
CTL Equivalence of Boolean Models
For a class C of CTL formulae,
given two Kripke structures K=(S,R), K’=(S,R’) and an initial state s
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
Which CTL properties are satisfied by a Biocham model? genCTL(pattern)
![Page 6: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/6.jpg)
François Fages MPRI Bio-info 2005
CTL Equivalence for a Simple Enzymatic Reaction
Two Biocham models: M1={A+B<=>D, D=>A+C} or M2={B =[A]=> C}
D having no other occurrence in M1.
Let and ψ be two propositional formulae.
Proposition If M2 |= EF() then M1 |= EF().Moreover, if A and B do not appear negatively (i.e. under an odd number of negations) in and D does not appear at all in , then M1 |= EF() implies M2 |= EF().
Proposition If A and B do not appear negatively in ψ and D does not appear in ψ,then M2 |= ¬ E( ¬ U ψ) implies M1 |= ¬ E( ¬ U ψ). If A and B do not appear negatively in and D does not appear in ,then M1 |= ¬ E( ¬ U ψ) implies M2 |= ¬ E( ¬ U ψ).
![Page 7: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/7.jpg)
François Fages MPRI Bio-info 2005
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).
Def. An ACTL (negative) formula is a CTL formula with no occurrence of E (nor negative occurrence of A).
Proposition For any ECTL formula , if K’ |≠ then K |≠ .
Since RR’ all paths in K are also paths in K’, hence for a positive formula , if K |= then K’ |= , which shows the proposition.
Proposition For any ACTL formula , if K |≠ then K’ |≠ .
By duality ¬ is a positive formula, hence if K |= ¬ then K’ |= ¬
![Page 8: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/8.jpg)
François Fages MPRI Bio-info 2005
Example of Qu’s Model of Cell Cycle
_=>Cyclin.
Cyclin=>_.
Cyclin+Cdc2~{p1}=>Cdc2~{p1}-Cyclin~{p1}.
Cdc2~{p1}-Cyclin~{p1}=>Cdc2-Cyclin~{p1}.
Cdc2~{p1}-Cyclin~{p1}=[Cdc2-Cyclin~{p1}]=>Cdc2-Cyclin~{p1}.
Cdc2-Cyclin~{p1}=>Cdc2~{p1}-Cyclin~{p1}.
Cdc2-Cyclin~{p1}=>Cdc2+Cyclin~{p1}.
Cyclin~{p1}=>_.
Cdc2=>Cdc2~{p1}.
Cdc2~{p1}=>Cdc2.
present(Cdc2,1). make_absent_not_present.
![Page 9: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/9.jpg)
François Fages MPRI Bio-info 2005
Aut. Generation of a CTL Specification in Qu’s Model
Enumerate all CTL formulae (of some pattern) that are true in a model.? genCTL(elementary_properties).Ai(oscil(C25)), Ei(reachable(C25~{p1})), Ei(reachable(!(C25~{p1}))), Ai(oscil(C25~{p1})),Ei(reachable(Wee1)), Ei(reachable(!(Wee1))), Ai(oscil(Wee1)),Ei(reachable(Wee1~{p1})),Ei(reachable(!(Wee1~{p1}))), Ai(oscil(Wee1~{p1})),Ai(AG(!(Wee1~{p1})->checkpoint(Wee1,Wee1~{p1}))),Ei(reachable(CKI)), Ei(reachable(!(CKI))), Ai(oscil(CKI)),Ei(reachable(CKI-CycB-CDK~{p1})),Ei(reachable(!(CKI-CycB-CDK~{p1}))),Ai(oscil(CKI-CycB-CDK~{p1})),Ei(reachable((CKI-CycB-CDK~{p1})~{p2})), Ei(reachable(!((CKI-CycB-
CDK~{p1})~{p2}))),Ai(oscil((CKI-CycB-CDK~{p1})~{p2})), Ai(AG(!((CKI-CycB-CDK~{p1})~{p2}) ->checkpoint(CKI-CycB-CDK~{p1},CKI-CycB-
CDK~{p1})~{p2}))}).
![Page 10: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/10.jpg)
François Fages MPRI Bio-info 2005
Generation of Rule Additions for a CTL Specification
Enumerate all rules (of some pattern) that satisfy a CTL specification
? delete_rule(Cyclin+Cdc2~{p1}=>Cdc2~{p1}-Cyclin~{p1}).
? learn_one_addition(elementary_interaction_rules).
(1) Cyclin+Cdc2~{p1}=[Cdc2]=>Cdc2~{p1}-Cyclin~{p1}
(2) Cyclin+Cdc2~{p1}=[Cyclin]=>Cdc2~{p1}-Cyclin~{p1}
(3) Cyclin+Cdc2~{p1}=>Cdc2~{p1}-Cyclin~{p1}
(4) Cyclin+Cdc2~{p1}=[Cdc2~{p1}]=>Cdc2~{p1}-Cyclin~{p1}
Similarly enumerate all rule deletions that satisfy or preserve a CTL spec.
? learn_one_deletion(reaction_pattern, spec_CTL)
? reduce_model(spec_CTL)
![Page 11: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/11.jpg)
François Fages MPRI Bio-info 2005
Learning Model Revision from Temporal Properties
• Theory T: BIOCHAM model • molecule declarations
• interaction 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’ |= φ
![Page 12: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/12.jpg)
François Fages MPRI Bio-info 2005
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• EF(φ) where φ is a boolean formula (pure state description)
• Negative ACTL formula: if false, remains false after adding a rule• AG(φ) where φ is a boolean formula,
• Checkpoint(a,b): ¬E(¬aUb)
• Remove a rule on the path given by the model checker (why command)
• Unclassified CTL formulae• Loop(a)= AG((a EFa)^(a EFa))
![Page 13: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/13.jpg)
François Fages MPRI Bio-info 2005
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} E U A, K {r} |= f
![Page 14: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/14.jpg)
François Fages MPRI Bio-info 2005
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 |= eE’ transition: <(E,U,A), (E {e},U,A), R> <(E {e},U,A), (E,U,A),R {r}> if R |≠ e and f {e} E U A, K {r} |= fU transition: <(E,U,A), (0,U {u},A), R > <(E,U {u},A), (0,U,A),R> if R |= uU’ transition: <(E,U,A), (0,U {u},A), R > <(E,U {u},A), (0,U,A),R {r}> if R|≠u and f {u} E U A, R {r} |= fU” 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} E U A, R |= f
![Page 15: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/15.jpg)
François Fages MPRI Bio-info 2005
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} E U A, 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} E U A, 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} E U A, 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.
![Page 16: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/16.jpg)
François Fages MPRI Bio-info 2005
Termination and Correctness
Proposition The model revision algorithm terminates. 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 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 either a, or lets a unchanged and strictly
decreases n.
The correction of the algorithm comes from the fact that 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.
![Page 17: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/17.jpg)
François Fages MPRI Bio-info 2005
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 the loops.
Just a heuristic algorithm…
![Page 18: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/18.jpg)
François Fages MPRI Bio-info 2005
Example in Qu’s Model of Cell Cycle
biocham:add_spec(Ai(AG((CycB-CDK~{p1})) ->checkpoint(C25~{p1,p2},CycB-CDK~{p1})))).biocham: revise_model.SuccessTime: 441.00 s40 properties treatedModifications found:Deletion(s):k5*[CycB-CDK~{p1,p2}] for CycB-CDK~{p1,p2}=>CycB-CDK~{p1}.k15*[CKI-CycB-CDK~{p1}] for CKI-CycB-CDK~{p1}=>CKI+CycB-
CDK~{p1}.Addition(s):
![Page 19: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/19.jpg)
François Fages MPRI Bio-info 2005
Example of Model Refinement
? Add_spec({ Ei(reachable(CycE)), Ei(reachable(CycE-CDKp)),
Ei(reachable(CycE-CDKp~{p1})), Ei(reachable(CKI-CycE-CDKp)), Ei(reachable(!(CKI-CycE-CDKp))), Ai(oscil(CycE-CDKp)), Ai(oscil(CycE-CDK~{p1})), Ai(loop(CycE-CDKp,(CycE-CDKp)~{p1}))}).
? Revise_model.
Deletion(s):
Addition(s):
CKI+CycE-CDKp=>CKI-CycE-CDKp.
CDKp+CycE=>CycE-CDKp.
CycE-CDKp=>(CycE-CDK)~{p1}.
(CycE-CDKp)~{p1}=>CycE-CDKp.
CKI+CycE-CDKp=>CKI-CycE-CDKp.
![Page 20: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/20.jpg)
François Fages MPRI Bio-info 2005
Rule Inference in Cell Cycle Control
[Tyson et al. 91] model over 6 variables,
initial state present(cdc2).
_ => cyclin.
cdc2˜{p} + cyclin => cdc2˜{p}-cyclin˜{p}.
cdc2˜{p}-cyclin˜{p} =>cdc2-cyclin˜{p}. ERASED
cdc2-cyclin˜{p} => cdc2 + cyclin˜{p}.
cyclin˜{p} => _.
cdc2 <=> cdc2˜{p}.
![Page 21: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/21.jpg)
François Fages MPRI Bio-info 2005
Rule Inference in Cell Cycle Control (cont.)
CTL specification of biological properties:
Activation of the kinase-cyclin (MPF) complex
reachable(cdc2-cyclin˜{p}).
Oscillation of the cycle’s phase:
loop(cyclin & cyclin˜{p} & !(cdc2-cyclin˜{p})).
![Page 22: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/22.jpg)
François Fages MPRI Bio-info 2005
Rule Inference in Cell Cycle Control (cont.)
? learn([$Q=>$P where $P in complexes and $Q in complexes]).
_=>cdc2-cyclin˜{p}
cyclin=>cdc2-cyclin˜{p}
cdc2˜{p}-cyclin˜{p}=>cdc2-cyclin˜{p}
? learn([$qp=>$q where $q in complexes and $qp modif $q]).
cdc2˜{p}-cyclin˜{p}=>cdc2-cyclin˜{p}
Adding temporal specification checkpoint(cdc2˜{p},cdc2-cyclin˜{p}).
? learn([$Q=>$P where $P in complexes and $Q in complexes]).
cdc2˜{p}-cyclin˜{p}=>cdc2-cyclin˜{p}
![Page 23: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/23.jpg)
François Fages MPRI Bio-info 2005
Model Refinement by Theory Revision
Hypothetical model of three proteins MA, MB, MC
reachable(MA), reachable(MB), reachable(MC).
reachable(¬MA), reachable(¬MB), reachable(¬MC).
Oscillations are observed experimentally.
loop(MA), loop(MB), loop(MC).
Interactions between protein are unknown.
Simplest boolean model:
_<=>MA.
_<=>MB.
_<=>MC.
![Page 24: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/24.jpg)
François Fages MPRI Bio-info 2005
Model Refinement by Theory Revision (cont.)
MC is needed for the disappearance of MB: checkpoint(MC,!MB).
? checkpoint(MC,!MB).
false
? Why.
… MB=>_ …
? delete_rules(MB=>_).
? learn(elementary_interaction_pattern).
MB+MC=>MB˜{p}+MC.
MB+MC=>MC.
MB+MC=>MB-MC.
? Add_rule(MB+MC=>MB˜{p}+MC).
![Page 25: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/25.jpg)
François Fages MPRI Bio-info 2005
Model Refinement by Theory Revision (cont.)
MA is needed for the disappearance of MC: checkpoint(MA,!MC).
? checkpoint(MA,!MC).
False
? Why
… MC => _ …
? delete_rule(MC => _ ).
? Learn(elementary_interaction_pattern(MC)).
MC+MA=>MA-MC
MC+MA=>MC~{p}+MA
MC+MA=>MA
? Add_rule(MC+MA=>MC~{p}+MA ).
![Page 26: Overview of the Lectures](https://reader035.vdocuments.us/reader035/viewer/2022062423/56814e07550346895dbb753c/html5/thumbnails/26.jpg)
François Fages MPRI Bio-info 2005
Model Refinement by Theory Revision (cont.)
MB is needed for the disappearance of MA: checkpoint(MB,!MA).? checkpoint(MB,!MA).False? Why… MA => _ …? delete_rule(MA => _ ).? Learn(elementary_interaction_pattern(MA)).MC+MA=>MA-MC MC+MA=>MC~{p}+MA MC+MA=>MA ? Add_rule(MC+MA=>MC~{p}+MA )._=>MA. MA=[MB]=>_._=>MB. MB=[MC]=>MB˜{p}._=>MC. MC=[MA]=>MC˜{p}.