Model checking : Up to multidimensional / multilevel models David Gilbert Computational Design Group Synthetic Biology Brunel University London, UK david.gilbert@brunel.ac.uk www.brunel.ac.uk/people/david-gilbert Collaborative work with Monika Heiner , Brandenburg Technical University, Cottbus, Germany 1 david.gilbert@brunel.ac.uk Dagstuhl 17452
Model Checking “Formally check whether a model of a biochemical system does what we want it to” Components : model • the current description of a biochemical system of interest property • a property which we think the system should have model checker • a program to test whether the model has the property 2 david.gilbert@brunel.ac.uk Dagstuhl 17452
We We could also check (a (and attempt to [automatically] repair…) • Syntactic properties of models • Although this is normally done as part of reading in a model into a mechanised proof system or simulator • Checking soundness of the chemical reactions (balance etc) • Typos / spelling mistakes of component names, etc… • Siphon / trap properties (even in very large networks) 3 david.gilbert@brunel.ac.uk Dagstuhl 17452
To formally express time properties we use a temporal logic • " I am hungry .” • " I am always hungry ", " I will eventually be hungry ", • "I will be hungry until I eat something ”. Linear time logics restricted to single time line. Branching logics can reason about multiple time lines. “ There is a possibility that I will stay hungry forever .” “ There is a possibility that eventually I am no longer hungry .” Various logics each with different expressivity: • Computational Tree Logic (CTL) • Continuous Stochastic Logic (CSL) • Linear-time Temporal Logic (LTL) 4 david.gilbert@brunel.ac.uk Dagstuhl 17452
Model Checking Biochemical Pathway Models Property Eg, “Order of peaks is; RafP, MEKPP, ERKPP Yes/no or Model Checker probability Pathway Model Formalising wetlab understanding experiments observed behaviour model natural (knowledge) biosystem predicted analysis behaviour model-based experiment design 5 david.gilbert@brunel.ac.uk Dagstuhl 17452
Properties… Effectively checking over time series behaviour Examples: • After 100 seconds the concentration of Protein1 is stable • Protein1 peaks and falls • Protein1 peaks and stays constant • Protein1 peaks before Protein2 • Protein1 oscillates 4 times in 5,000 seconds • Molecules of Protein2 are required for molecules of Protein1 to be created 6 david.gilbert@brunel.ac.uk Dagstuhl 17452
Analytical vs Simulative Model Checking Analytical : • Exact probabilities & prove properties • A model state is an association of #molecules/levels to each of the species • Protein1 has 10 molecules & Protein2 has 20 molecules • Analytical assesses every state that the model can be in (reachable states) • State space can grow even worse than exponentially with increasing molecules, or even be infinite! Simulative : Instead of analysing the constructed state space : • analyse simulation outputs • Simulate the model X times and check these simulations • Simulation run = finite path through the state space • Can’t prove probabilities 7 david.gilbert@brunel.ac.uk Dagstuhl 17452
Si Simulative: How/when to check? In-line: check the observations as they arrive > Requires complex computational machinery: ‘combine’ simulator & model checker > Good for biochemical observations > Don’t always need to finish the experimental run Off-line: check observations after all have been generated > Easier to implement computationally (simulate then check) > Need to always define when to ‘stop’ generating observations 8 david.gilbert@brunel.ac.uk Dagstuhl 17452
Simulation-based Model Checking ‘Behaviour checking’ Property Eg, “Order of peaks is RafP, MEKPP, ERKPP” Yes/no or Behaviour Checker Model Checker probability Model Time series data construction design synthetic model biosystem (blueprint) verification desired behaviour Model Lab predicted validation observed behaviour behaviour validation 9 david.gilbert@brunel.ac.uk Dagstuhl 17452
(P (P)L )LTL L Li Linear r Temporal Lo Logic • G (φ ) φ always happens • F (φ ) φ happens at some time • X (φ ) φ happens in the next time point • φ 1 U φ 2 φ 1 happens until φ 2 happens • Protein stability: P =? [ time >= 100 à ([Protein] >= 4 ^ [Protein] <= 6) ] • Protein concentration rises to a maximum value and then remains constant: P =? [(d[Protein]> 0) U ( G([Protein] >= 0.99*max[Protein]) ) ] 10 david.gilbert@brunel.ac.uk Dagstuhl 17452
MC2 with ODE Output P =? [ F( X > 5 ) ] => P = 1 5 X david.gilber t@brunel.a 11 david.gilbert@brunel.ac.uk Dagstuhl 17452 c.uk
MC2 with Gillespie Output P =? [ F( X > 5 ) ] => P = 4/6 5 X david.gilber t@brunel.a 12 david.gilbert@brunel.ac.uk Dagstuhl 17452 c.uk Systems & Synthetic Biology
Qu Qualit litativ ive to quantit itativ ive desc scrip iptio ions s in in PLTL • Qualitative : Protein rises then falls • P=? [ ( d(Protein) > 0 ) U ( G( d(Protein) < 0 ) ) ] • Semi-qualitative : Protein rises then falls to less than 50% of peak concentration • P=? [ ( d(Protein) > 0 ) U ( G( d(Protein) < 0 ) ∧ F ( [Protein] < 0.5 ∗ max[Protein] ) ) ] • Semi-quantitative : Protein rises then falls to less than 50% of peak concentration by 60 minutes • P=? [ ( d(Protein) > 0 ) U ( G( d(Protein) < 0 ) ∧ F ( time = 60 ∧ Protein < 0.5 ∗ max(Protein) ) ) ] • Quantitative : Protein rises then falls to less than 100µMol by 60 minutes • P=? [ ( d(Protein) > 0 ) U ( G( d(Protein) < 0 ) ∧ F ( time = 60 ∧ Protein < 100 ) ) ] 13 david.gilbert@brunel.ac.uk Dagstuhl 17452
Mo Model del (b (behaviour) r) se searching Peaks at least once (rises then falls below 50% max concentration) P >=1 [ ErkPP <= 0.50*max(ErkPP) ∧ d(ErkPP) > 0 U ( ErkPP = max(ErkPP) ∧ F( ErkPP <= 0.50*max(ErkPP) ) ) ] • Brown • Kholodenko • Schoeberl Rises and remains constant (99% max concentration) P >=1 [ErkPP <= 0.50*max(ErkPP) ∧ ( d(ErkPP) > 0 ) U ( G(ErkPP >= 0.99*max(ErkPP)) ) ] • Levchenko Oscillates at least 4 times P >=1 [ F( d(ErkPP) > 0 ∧ F( d(ErkPP) < 0 ∧ … ) ) ] • Kholodenko 14 david.gilbert@brunel.ac.uk Dagstuhl 17452
Mo Model del c chec hecking ng o over er l lar arge amo e amoun unt o t of da data Wh Whol ole genom ome metab abol olic mod odel ( E.c E.coli) à Search by behavioural template libraries 15 david.gilbert@brunel.ac.uk Dagstuhl 17452
PL PLTL pr proper perty ty libr library - me metabo bolit lites es P>=1 [ G ( [$x] = 0 ) ] always_steadystate_zero P>=1 [ G ( d[$x] = 0 ^ [$x]>0 ) ] always_steadystate_above_zero P>=1 [ G ( d[$x] = 0 ) ] always_steadystate_any_value P>=1 [ F ( G ( [$x]=0 ^ d[$x]=0 ) ) ^ F (d[$x] != 0) ] changing_and_finally_steadystate_of_zero P>=1 [ F ( G ( [$x]>0 ^ d[$x]=0 ) ) ^ F (d[$x] != 0) ] changing_and_finally_steadystate_above_zero P>=1 [ G (d[$x] < 0 ) ] decreasing P>=1 [ G (d[$x] > 0 ) ] Increasing P>=1 [ F( d[$x]>0 ) ^ ( d[$x]>0 U ( G d[$x] < 0 )) ] peaks_and_falls P>=1 [ F( d[$x]<0 ) ^ ( d[$x]<0 U ( G d[$x] > 0 )) ] falls_and_rises P>=1 [ (F ( d[$x] != 0)) ^ ¬( F( G( [$x]=0 ^ d[$x]=0 ) )) ] activity_and_not_finally_steadystate_of_zero P>=1 [ G ( [$x] <= 0.0001 ) ^ ¬ G ( [$x] = 0 ) ] always_low_concentrations_0.0001 16
PL PLTL pr proper perty ty libr library - re reactions P>=1 [ G ( [$x] = 0 ) ] never_active P>=1 [ F ( [$x] > 0 ) ] sometime_active P>=1 [ G ( d[$x] = 0 ) ] always_steadystate_active_any_value P>=1 [ F ( G ( [$x] > 0 ) ) ] finally_active P>=1 [ F ( G ( [$x] > 0 ^ d[$x]=0 ) ) ] finally_active_steadystate P>=1 [ G ( F ( [$x] > 0 ) ) ] always_active_again P>=1 [ F ( G ( [$x] = 0 ) ) ] finally_inactive P>=1 [ G (d[$x] < 0 ) ] always_decreasing_activity P>=1 [ G (d[$x] > 0 ) ] always_increasing_activity P>=1 [ F( d[$x]>0 ) ^ ( d[$x]>0 U ( G d[$x] < 0 )) ] activity_peaks_and_falls P>=1 [ F( d[$x]<0 ) ^ ( d[$x]<0 U ( G d[$x] > 0 )) ] activity_falls_and_rises P>=1 [ G ( [$x] <= 0.0001 ) ^ ¬ G ( [$x] = 0 ) ] rare_events 17
Se Searching by by behavioural template libraries 18
Su Subnets property subnets defined by sets of entities sharing a certain temporal logical property, the composition of which can vary over time functional subnets (subsystems) statically defined by sets of reactions contributing to the same biological function. dead subnets , exhibit no activity from the current time point onwards. Can be an indication of • modelling fault, • missing information in the network structure (e.g. gaps due to unidentified genes), • unused parts of the network due to the set of environment conditions imposed (e.g. the growth conditions). 19 david.gilbert@brunel.ac.uk Computational Synthetic Biology
Recommend
More recommend