Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "2IF35: Formal Modelling in Cell Biology Glycolysis in PRISM & Maude Fall 2007 Mohammed El-Kebir Koen Schuurmans Monique Hendriks Tim Muller."— 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 rewrite maude> rew Glc-in ATP ATP rewrites: 2 in 0ms cpu (0ms real) (~ rewrites/second) result Substance: ADP ADP Carbo  Using search Maude> 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 Ethanol Solution 2 (state 12) states: 13 rewrites: 13 in 0ms cpu (0ms real) (~ rewrites/second) s:Substance --> ATP ADP Ethanol  Show Path Maude> 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 ATP maude >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 => []<> Ethanol Maude> 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 1 : (PEP' = PEP + 2); [eq6] PEP > 1 -> PEP : (PEP' = PEP - 2); endmodule  Synchronization goes over reactions; Example (eq5): [eq5] PEP 1 : (PEP' = PEP + 2); // in module PEP [eq5] FDP > 0 -> FDP : (FDP' = FDP - 1); // in module FDP [eq5] ATP 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]  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] --> IN 221 sec (7 mol) P>0.8 [ATP>0 U ETHANOL>3] --> No answer IN 1800 sec (7 mol) P=? [true U =1] --> IN 0.54 sec (5 mol) P=? [true U =1] --> IN 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, CO 2 546, Glyc 366 ATP 120; GLC 50  Alc 2378, CO 2 607, Glyc 208 ATP 120; GLC 150  Alc 2496, CO 2 738, Glyc 498 ATP 60; GLC 150  Twice dead, one time, barely alive: Alc 1 486, CO 2 410, 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


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

Similar presentations


Ads by Google