1 / 15

2IF35: Formal Modelling in Cell Biology

2IF35: Formal Modelling in Cell Biology. Glycolysis in PRISM & Maude Fall 2007 Mohammed El-Kebir Koen Schuurmans Monique Hendriks Tim Muller. Outline. Glycolysis in yeast Interesting properties Model in Maude Model in PRISM Comparison of models. Glycolysis.

mali
Download Presentation

2IF35: Formal Modelling in Cell Biology

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2IF35: Formal Modelling in Cell Biology Glycolysis in PRISM & Maude Fall 2007 Mohammed El-Kebir Koen Schuurmans Monique Hendriks Tim Muller

  2. Outline • Glycolysis in yeast • Interesting properties • Model in Maude • Model in PRISM • Comparison of models

  3. Glycolysis • Glucose is as a source of energy in many organisms • During glycolysis the energy is released • Oxidation of glucose • Netto production of 2 ATP molecules • Besides ATP there are several other side-products We will consider glycolysis in yeast

  4. Glycolysis in Yeast

  5. Model in Maude mod GLYCOLYSIS-YEAST-GALAZZO is sorts Substrate Product Intermediate Substance . subsorts Substrate Product Intermediate < Substance . op _ _ : Substance Substance -> Substance [ctor assoc comm id: null] . op null : -> Substance . ops Glc-out ATP ADP : -> Substrate . ops Glc-in G6P FDP PEP : -> Intermediate . ops Carbo Glycerol Ethanol : -> Product . rl [Glucose-transporter] : Glc-out => Glc-in . rl [Hexokinase] : Glc-in ATP => G6P ADP . rl [Enzyme3] : G6P ATP => Carbo ADP . rl [PGI-PFK] : G6P ATP => FDP ADP . rl [Enzyme5] : FDP ADP ADP => PEP PEP ATP ATP . rl [Enzyme6] : PEP PEP ADP ADP => Ethanol Ethanol ATP ATP . rl [Enzyme7] : FDP => Glycerol Glycerol . rl [ATPase] : ATP => ADP . endm

  6. Model in Maude rl [Hexokinase]:Glc-in ATP => G6P ADP Rl[Enzyme6]:PEP PEP ADP ADP =>Ethanol Ethanol ATP ATP

  7. Model checking in Maude • Using rewritemaude> rew Glc-in ATP ATPrewrites: 2 in 0ms cpu (0ms real) (~ rewrites/second)result Substance: ADP ADP Carbo • Using searchMaude> search Glc-in ATP ATP =>* Ethanol s:Substance .search in MC-gallazzo : Glc-in ATP ATP =>* Ethanol s:Substance .Solution 1 (state 11)states: 12 rewrites: 12 in 0ms cpu (0ms real) (~ rewrites/second)s:Substance --> ATP ATP EthanolSolution 2 (state 12)states: 13 rewrites: 13 in 0ms cpu (0ms real) (~ rewrites/second)s:Substance --> ATP ADP Ethanol • Show PathMaude> show path 11 .state 0, Substance: ATP ATP Glc-in =[Hexokinase]===>state 1, Substance: ATP ADP G6P =[PGI-PFK]===>state 4, Substance: ADP ADP FDP =[Enzyme5]===>state 7, Substance: ATP ATP PEP =[ATPase]===>state 9, Substance: ATP ADP PEP PEP =[ATPase]===>state 10, Substance: ADP ADP PEP PEP =[Enzyme6]===>state 11, Substance: ATP ATP Ethanol Ethanol • Using LTL formulae

  8. Model checking in Maude(LTL) load galazzo load model-checker mod MC-gallazzo is inc GLYCOLYSIS-YEAST-GALAZZO . inc MODEL-CHECKER . inc NAT . sort Place . subsort Substrate Product Intermediate < Place < Substance . op mc : Substance -> State [ctor] . var M : Substance . var P : Place . var n : Nat . op count : Substance Place -> Nat . eq count(P M,P) = s count(M,P) . eq count(M,P) = 0 [owise] . op nEthanol : Nat -> Prop . eq mc(M) |= nEthanol(n) = count(M,Ethanol) == n . endm

  9. Model checking in Maude(LTL) • Model checking by finding counter-examples • []~ Ethanol, when starting with Glc-in ATP ATPmaude >red modelCheck(vm(Glc-in ATP ATP), []~ nEthanol(2)) .rewrites: 40 in 0ms cpu (0ms real) (~ rewrites/second)result ModelCheckResult: counterexample({vm(ATP ATP Glc-in),'Hexokinase} {vm(ATP ADP G6P),'PGI-PFK} {vm(ADP ADP FDP),'Enzyme5} {vm(ATP ATP PEP PEP), 'ATPase} {vm(ATP ADP PEP PEP),'ATPase} {vm(ADP ADP PEP PEP),'Enzyme6} {vm(ATP ATP Ethanol Ethanol),'ATPase} {vm(ATP ADP Ethanol Ethanol),'ATPase}, {vm(ADP ADP Ethanol Ethanol),deadlock}) • Glc-in ATP ATP => []<> EthanolMaude> red modelCheck(vm(Glc-in ATP ATP), []<> nEthanol(2)) .rewrites: 18 in 0ms cpu (0ms real) (~ rewrites/second)result ModelCheckResult: counterexample({vm(ATP ATP Glc-in),'Hexokinase} {vm(ATP ADP G6P),'Enzyme3}, {vm(ADP ADP Carbo),deadlock}) • Fairness

  10. Model in PRISM • One module per molecule; Example (pep): module pep PEP : [0..MAX_MOLECULES] init 0; [eq5] PEP < (MAX_MOLECULES - 1) -> 1 : (PEP' = PEP + 2); [eq6] PEP > 1 -> PEP : (PEP' = PEP - 2); endmodule • Synchronization goes over reactions; Example (eq5): [eq5] PEP < (MAX_MOLECULES - 1) -> 1 : (PEP' = PEP + 2); // in module PEP [eq5] FDP > 0 -> FDP : (FDP' = FDP - 1); // in module FDP [eq5] ATP < (MAX_MOLECULES - 1) & (AXP > ATP) -> AXP - ATP : (ATP' = ATP + 2); // in ATP [eq5] true -> Vm5 : true; // in module baserates

  11. Glycolysis in Yeast (rept.)

  12. Model checking in PRISM • Modal formulas: • P=? [ETHANOL=0 U CARBO>=1] • P>0.8 [ATP>0 U ETHANOL>3] • P=? [true U<=1 ETHANOL>=1] • Checking with modal formulas: • Verification • Tiny models only • Single simulation • Not suitable for precise results • Multiple simulations • Not formal

  13. Results found • Verification: • P=? [ETHANOL=0 U CARBO>=1] --> 0.223 IN 221 sec (7 mol) • P>0.8 [ATP>0 U ETHANOL>3] --> No answer IN 1800 sec (7 mol) • P=? [true U<=1 ETHANOL>=1] --> 0.159 IN 0.54 sec (5 mol) • P=? [true U<=1 ETHANOL>=1] --> 0.305 IN 102.187 sec (8 mol) • Multiple simulations (1000 steps): • P=? [true U ETHANOL>=1] --> 1.0 IN 401 sec (>>500 mol) • Single simulations (mean of 3): • ATP 60; GLC 50 • Alc 1842, CO2 546, Glyc 366 • ATP 120; GLC 50 • Alc 2378, CO2 607, Glyc 208 • ATP 120; GLC 150 • Alc 2496, CO2 738, Glyc 498 • ATP 60; GLC 150 • Twice dead, one time, barely alive: Alc 1486, CO2410, Glyc 206

  14. Simplifications in PRISM model • Galazzo model uses Michaelis-Menten kinetics • Enzyme has a maximal rate, which can only be reached if substrate is abundant • Reversible reactions are not modeled • Only forward kinetics • Rates are chosen arbitrarily, no experimental justification • Feedback loops have little impact

  15. Comparison • Maude is purely qualitative, as no rates can be expressed • Prism can be both quantitative and qualitative • State explosion in PRISM, makes model checking infeasible • In PRISM you can simulate a run • Maude considers all possibilities

More Related