formalsystems / synthetic biology
modellingre-engineered
Jonathan Blakes1st year PhD student
2008-06-20
systems biology modelling
• systems biology operates at molecular, cellular, tissue/colony, organism/population levels
• model molecular reactions• model cellular organisation
– compartments (dynamic)
• model cellular interactions• development (growth/division/differentiation)
• observe emergent behaviour• generate/test hypotheses in silico
synthetic biology modelling
• synthetic biology operates at molecular level
• (re)programming cellular chassis with new genes
• model molecular reactions– gene expression/regulation– protein interactions– metabolite turnover (I/O)
• modular assembly (orthogonality)• prototype organism design
medical / commercialpotential
Petri nets P systems π-calculus
reactions interactions
formalisms
lasI S100
[lasI] → [lasI + LasI][LasI + S] → [LasI + 3OC12]
[ 3OC12 ] → 3OC12 [ ]
LasR rhlR
3OC12 [ ] → [ 3OC12 ][LasR+3OC12] → [LasR.3OC12]
[LasR.3OC12 + LasR.3OC12]→ [LasR.3OC122]
[LasR.3OC122 + rlhR] →[LasR.3OC122 + rlhR]
3OC1250
bacteria
environment
bacteria
reaction-based formalism equivalence
P system rules can be flattened to a Petri net:
Sedwards S. Cyto-Sim Example Models: Oscillators. 2006
Petri nets P systems π-calculusmolecular species
place symbol symbol
molecule
token object process
population of molecules
marking of net multiset processes
reactions
transitions rewriting rules communication
biological mapping
Petri nets P systems π-calculusdiscrete (mechanistic)
concurrent
non-deterministic (uniform time steps)
stochastic variants (realistic time steps)
SPN MCG, DPP Sπ
compartments
distinct places:Xnucleus Xcytoplasm
membranesSπ@
BioAmbientsBrane calculi
properties
why is stochasticity important?
Gilmore S. A Beginner's Guide to Stochastic Simulation.Uni. Edinburgh, Systems Biology Club talk, 16/11/2005
Gillespie algorithm
• generates a statistically correct trajectory (simulation) of a stochastic system
• ensembles of simulations average to ODE• limited to 2 reactants (higher order reactions
modelled as sequence of binary reactions)• assumes
– constant temperature and pressure– no electrostatic, H-bonding, Van der Waals
forces– well-mixed volume
110
100
Gillespie algorithm
Direct Method:1. for each reaction calculate propensity:
propensity (ai) = k ∙ hazard function
hazard = # distinct combinations of reactants
2. generate uniform random number r = 0 ≤ 13. selected reaction = r ∙ Σ propensities4. sample τ (time to wait) from negative
exponential distribution with parameterΣ propensities (a0)
a + b → ck
2 stochastic P system approaches
•Multi-Compartmental Gillespie (MCG) algorithm– ‘exact’ SSA algorithm running in each membrane– rule with lowest τ (smallest time step) in all
membranes executed - inherently linear
•Dynamical Probabilistic P systems (DPP)– rules selected à la Gillespie, objects assigned to
selected rule, repeated until all objects assigned– all rules in all membranes applied simultaneously– maximal parallelism, bounded by mute rules: a → a– uniform time steps – qualitative– parallel implementation using MPI C library
three ideas based on observations from literature review
1. to increase performance– τ-leaping simulation algorithm facilitates
parallelisation of multi-compartment models
2. to increase realism– molecular volumes can enable correct
simulation of cell growth and division dynamics
3. to increase knowledge– combining static information (reaction
topology) with stochastic execution in a visualisation can aid reasoning about system
three ideas based on observations from literature review
1. to increase performance– τ-leaping simulation algorithm facilitates
parallelisation of multi-compartment models
2. to increase realism– molecule volumes can efficiently enable
correct simulation of cell growth and division dynamics
3. to increase knowledge– combining static information (reaction
topology) with stochastic execution in a visualisation can aid reasoning about system
parallelising stochastic P systems
• P systems with exact SSA inside each membrane are parallel at the level of membranes but sequential at the level of rules
• one rule selected in each membrane, different waiting time for each
• different time lines - difficult to synchronise
• can we synchronise waiting times and speed up algorithm?
tau-leaping
• exact stochastic simulation can be very slow as it tracks every reaction event in system
• tau-leaping tracks groups of reactions instead• approximate which events occur in a period:
– leap condition ε provides propensities do not change dramatically
– safe τ computed– reactions drawn using Poisson distribution of τ– one/none critical reactions fired, many non-
critical reactions fired also
a faithful approximation
Gilmore S.“Beginner’s Guide to Stochastic Simulation”
University of Edinburgh Systems Biology Club talk 16/11/05
tau-leaping in parallel DPP
• tau leaping is a form of bounded parallelism because it restricts the number of reactions
• in tau-DPP each membrane computes a safe τ• smallest safe τ used to select reactions in each• reactions applied in all membranes in parallel
and system advances in leaps of time τ• whereas DPP simulations would normally
proceed in qualitative steps, now proceed in actual time so quantitative
• tau-MCG would unify our approaches
Cazzaniga P, Pescini D, Besozzi D, Mauri, G.“Tau Leaping Stochastic Simulation Method in P Systems”
WMC 7 2006 298-313
three ideas based on observations from literature review
1. to increase performance– τ-leaping simulation algorithm facilitates
parallelisation of multi-compartment models
2. to increase realism– molecule volumes can efficiently enable
correct simulation of cell growth and division dynamics
3. to increase knowledge– combining static information (reaction
topology) with stochastic execution in a visualisation can aid reasoning about system
rates and volumes
• consider a compartment (volume v)• with a sub-compartment (volume v’)• calculating reaction propensity requires rate k
[ A + B ] → [ C ] propensity = k ∙ A ∙ B
• k implicitly contains the volume
• same reaction in v and v’ kv ≠ kv’
• probability of a binary collision is inversely proportional to volume
1. measure/calculate k in reference volume2. make volume explicit propensity = (k/v) ∙ A ∙ B
v v’
Smaldon J, Blakes J, Lancet D, Krasnogor N."A Multi-scaled Approach to Artificial Life Simulation With P Systems and Dissipative
Particle Dynamics" paper accepted for GECCO 2008 Atlanta, USA.
k
affect of membrane structure
vv’
v = v – v’
v
dynamic volumes
2v
cells grow
dynamic volumes
v
cells divide
dynamic volumes
cells divide
v/2 v/2
but how to calculate volume?
• extend stochastic π-calculus syntax with compartments (Sπ@) SPiM compatible
• Sπ@: compartments or molecules have volume
• compartment volume = ∑ (speciesi
quantity x speciesivolume)
• species volume ≈ molecular weight• need to model water → calculate pH
Versari C and Busi N. “Efficient Stochastic Simulation of Biological Systems with Multiple
Variable Volumes.” Electronic Notes in Theoretical Computer Science 2007 94(3) 165-180.
Proceedings of the First Workshop "From Biology To Concurrency and back” (FBTC 2007)
three ideas based on observations from literature review
1. to increase performance– τ-leaping simulation algorithm facilitates
parallelisation of multi-compartment models
2. to increase realism– molecule volumes can efficiently enable
correct simulation of cell growth and division dynamics
3. to increase knowledge– combining static information (reaction
topology) with stochastic execution in a visualisation can aid reasoning about system
visualise propensity information
• The Next Reaction Method (and Optimized Direct Method) use a dependency graph to recalculate only the propensities of the affected reactions
• use dependency graph to visualise state of system during simulation of stochastic P systempropensity of each reaction colours nodes hot or cold
visualise propensity information
example
first reaction fires
example
molecules are consumed and produced,two propensities changed
example
second, unlikely, reaction fires
example
three propensities changed,dramatic effect on next reaction
example
visualisation of discarded informationcan reveal more than simply tracking
quantities
``The specific value of visual modelinglies in tapping the potential of high bandwidth
spatial intelligence, as opposed to lexical intelligence used with textual information.”
Samek, M.“Practical Statecharts in C/C++:
Quantum Programming for Embedded Systems”CMP Books, 2002
example
visualisation of discarded informationcan reveal more than simply tracking
quantities
observations
• novel visualisation method for pathways• topology same as Petri net minus places• identify cliques – define modules• visualisation of modules only, zooming out• can use as heuristic for simulation
algorithm selection: automatically determine when to use slow-scale SSA (respond to stiffness)
• not-suitable for string rewriting rules
references
• Wilkinson D J. Stochastic Modelling for Systems Biology. “Chapter 8: Beyond the Gillespie algorithm” Chapman & Hall / CRC 2006
• Cazzaniga P, Pescini D, Besozzi D, Mauri, G. “Tau Leaping Stochastic Simulation Method in P Systems” WMC 7 2006 298-313
• Gilmore S. “Beginner’s Guide to Stochastic Simulation” University of Edinburgh Systems Biology Club talk 16/11/05
• Versari C and Busi N. “Efficient Stochastic Simulation of Biological Systems with Multiple Variable Volumes” Electronic Notes in Theoretical Computer Science 2007 94(3) 165-180. Proceedings of the First Workshop "From Biology To Concurrency and back” (FBTC 2007)
• Smaldon J, Blakes J, Lancet D, Krasnogor N. "A Multi-scaled Approach to Artificial Life Simulation With P Systems and Dissipative Particle Dynamics" paper accepted for GECCO 2008 Atlanta, USA. Cazzaniga P, Pescini D, Besozzi D, Mauri, G. “Tau Leaping Stochastic Simulation Method in P Systems” WMC 7 2006 298-313
• Gibson M A, Bruck J. “Efficient Exact Stochastic Simulation of Chemical Systems with Many Species and Many Channels” J. Phys. Chem. A 2000 1876-1889
acknowledgements
• Supervisor Dr. Natalio Krasnogor• Dr. Francisco J. Romero-Campero• Dr. Jamie Twycross
Questions?