simulating the dynamics of complex biological systems maria j schilstra biocomputation research...
TRANSCRIPT
Simulating the Dynamics of Complex Biological Systems
Maria J SchilstraBiocomputation Research Group
University of Hertfordshire, Hatfield, UK
Stephen R. MartinPhysical Biochemistry
MRC National Instritute for Medical Resaerch, London, UK
Computer simulation
• “An attempt to model a real-life or hypothetical situation on a computer, so that it can be studied to see how the system works. By changing variables, predictions may be made about the behaviour of the system.”(Wikipedia)
Running example
Microtubule Dynamic Instability
• Michison & Kirschner (1984):“Microtubules in vitro coexist in growing
and shrinking populations which interconvert rather infrequently”
Cartoon
“Catastrophe”
“Rescue”
G-end(net growth) S-end
(rapid shrinkage)
Microtubule Dynamic Instability
• Michison & Kirschner (1984):“microtubules in vitro coexist in growing and shrinking
populations which interconvert rather infrequently”
• Horio & Hotani (1986):– Average lifetime of growing microtubules: 3 min– Growth rate: 0.6 m/min (16 subunits/s)– Average lifetime of shrinking microtubules: 18 s– Shrinkage rate: 0.13 m/s (220 subunits/s)
Model Notation
Model notation
G Growing endS Shrinking endTuT Tubulin-GTPTuD Tubulin-GDPn Number of Tu in MT (TuM)MT Microtubule
Gn + TuT Gn+1
Gn Sn
Sn Sn-1 + TuD
Sn + 3 TuT Gn+3
Chemical Reaction Notation “Petri-net” notation
G S
TuT TuD
3
Petri-net?
A B
A B“Place”(pool, store, state)Contains “items”
(tokens, molecules, particles)
“Transition”(reaction, process)Can “fire”; has an average firing rate
Transition firing?
A B
A B
X
Transition firing?
2A B
A B
A B2
A B
A+X B
A
B
A
A B+X
A
B
A
2 2
Transition firing rate?
A B
J = k.[A] (mol/(L.s))A Bk (1/s)
J = k.nA (items/s)nA = [A].NA.Vol
A
B
A
A+X Bk (L/(mole.s))
J = k.[A][X] mol/(L.s))
J = k.nA.[X] (items/s)nA = [A].NA.Vol
J = rate at which B appears
Microtubule dynamic instability model
G S
TuT TuD
3
Transition firing
G S
TuT TuD
3
Transition firing
G S
TuT TuD
3
Counting TuM (bound Tu)
G S
TuT TuD
3
TuM
Counting TuM (bound Tu)
G S
TuT TuD
3
TuM
Firing rates
kSG
G Sk G
G
TuT TuD
kGS
k S
S
3
TuM
J = kGG nG[TuT]
J = kSG nS[TuT]3
J = kSS nS
J = kGS nG
Parameter values Initial conditions
kSG
G Sk G
G
TuT TuD
kGS
k S
S
3
TuM
J = kGG [G][TuT]
J = kSG [S][TuT]3
J = kSS [S]
J = kGS [G]kGG 1.6x106 M-1 s-1
kGS 0.0056 s-1
kSS 220 s-1
kSG 5.6x1013 M-3s-1
Vol 10x10-15 L
amount Conc (M)
G 1 0.16x10-9
S 0 0
TuT 300 50x10-9
TuD 0 0
Stochastic Simulation
Stochastic?
• “Random or probabilistic but with some direction. For example the arrival of people at a post office might be random but average properties (such as the queue length) can be predicted.” (http://www.cs.ucl.ac.uk/staff/W.Langdon/gpdata/glossary.html)
• Stochastic simulation: uses a random number generator to produce one or more possible time courses.
Stochastic simulation
1. Assess which transitions are “enabled” (can fire)
2. Use a “weighted lottery” to determine which enabled transition will fire first (Tfirst), and when (tnext)
3. Let transition Tfirst fire at time tnext
4. Repeat from 1 as long as there are enabled transitions, and tnext < tstop
Firing rates
kSG
G Sk G
G
TuT TuD
kGS
k S
S
3
TuM
J = kGG [G][TuT]
J = kGS [G]kGG 1.6x106 M-1 s-1
kGS 0.0056 s-1
kSS 220 s-1
kSG 5.6x1013 M-3s-1
Vol 10x10-15 L
amount Conc (M)
G 1 0.16x10-9
S 0 0
TuT 300 50x10-9
TuD 0 0
JGG = 1.6x106 x 50x10-9 x 1= 0.08 s-1
(i.e. lifetime Gn = 12.5 s)
JGS = 0.0056 x 1 = 0.0056 s-1
(i.e. lifetime G = 180 s)
Probability that reaction has occurred(Cumulative distribution functions)
0
0.2
0.4
0.6
0.8
1
1.2
0 50 100 150 200 250
t-t 0 (s)
PGn Gn+1 (lifetime Gn: 12.5 s)
G S (lifetime G: 180 s)
)( 01 ttkeP
0
0.2
0.4
0.6
0.8
1
1.2
0 50 100 150 200 250
t-t 0 (s)
P
The weighted lottery
rGG = 0.76
rGS = 0.40
tGG = 18 s
tGS = 92 s
G G transition fires
kSG
G Sk G
G
TuT TuD
kGS
k S
S
3
TuM
time (s)0 20 40 60
18 s
0
0.2
0.4
0.6
0.8
1
1.2
0 50 100 150 200 250
t-t 0 (s)
P
The weighted lottery (continued)
rGG = 0.98
rGS = 0.15
tGG = 49 s
tGS = 30 s
G S transition fires
kSG
G Sk G
G
TuT TuD
kGS
k S
S
3
TuM
time (s)0 20 40 60
18 s 30 s
Other transitions enabled
kSG
G Sk G
G
TuT TuD
kGS
k S
S
3
TuM
time (s)0 20 40 60
18 s 30 s
-25,000
-20,000
-15,000
-10,000
-5,000
-
5,000
10,000
15,000
20,000
25,000
0 600 1200 1800 2400 3000 3600 4200 4800
Time (s)
De
lta
n
Trajectory of TuM[TuT] constant (10 M) - 150,000 events
GG
SS
De
lta
Tu
M
[TuT] variable2 million events
0
50
100
150
0 60 120 180
Time (min)
0
10
20
30
40
50
60
MT
leng
th (m
)
[TuT
], [
TuD
] (
M)
MT length
TuDTuT
TuT
More than one MT end
TuD
Method 1: modelling all items individually
n
G S G S
n n
G S
Trajectories(6 million events)
0
20
40
60
0 20 40 60
Time (min)
0
10
20
30
40
50
60
MT
leng
th (m
)
[TuT
] (
M)
MT length
[TuT]
Improving efficiency
“First Reaction Algorithm” (Gillespie,1976)
• After most recent transition firing at time t:– For each transition Ti:
• Compute current firing rate Ji for Ti
– Draw two numbers, r1 and r2
• Compute J = sum of all J
• Compute firing time tfire from J, r1, and t
• Construct roulette wheel (pie chart) for all J
• Spin wheel over r2 x 360º, find associated T
– Set t to tnext and fire T
J2
J1
J4
J3
J
rttnext
]1log[ 2
Algorithms
• Accurate (no further assumptions)– First Reaction (Gillespie, 1976)– Next Reaction (Gibson & Bruck, 2000)
• Priority queue; exploits independence in system
• Approximate– Tau-leaping (Gillespie, 2001)
• Assumes that “leap condition” is satisfied (leap condition: negligible changes in firing probability over interval Tau)
• Multiple firings per step– Chemical Langevin
• Assumes that 1) leap condition is satisfied; 2) All current firing rates are much larger than 1/Tau (“Large yet small”)
• Like deterministic trajectory with superimposed noise
Deterministic Simulation
Deterministic?
0
20
40
60
0 20 40 60
Time (min)
0
10
20
30
40
50
60
0
20
40
60
0 20 40 60
Time (min)
0
10
20
30
40
50
60
0
20
40
60
0 20 40 60
Time (min)
0
10
20
30
40
50
60
Average of many trajectories converge to a smooth path, that is entirely determined by the initial conditions
Assessing the average trajectory
• Stochastic– Many trajectories– Many particles (larger volume)
• Deterministic– Numerical integration of coupled ODEs
(ordinary differential equations)
ODEs
• ODE: defines how system variables change with another variable
• General form:– d[X]/dt = v+(X) – v-(X)
– v+(X) = J+(X) and v-(X) = J-(X)
Rate at which X is produced
Rate at which X is consumedChange in [X]
over very small time interval dt
Composing ODEs from firing rates
kSG
G Sk G
G
TuT TuD
kGS
k S
S
3
TuM
JGG = kGG [G][TuT]
JSG = kSG [S][TuT]3
JSS = kSS [S]
JGS = kGS [G]
v+(S) = JSS + JGS
v(S) = JSG + JSS
3]][[][
)(][
TuTSkGk
JJ
JJJJdt
Sd
SGGS
SGGS
SGSSGSSS
The full system
][]][[][
][][
]][[3]][[][
]][[][][
][]][[][
3
3
3
SkTuTGkdt
TuMd
Skdt
TuDd
TuTSkTuTGkdt
TuTd
TuTSkGkdt
Sd
GkTuTSkdt
Gd
SSGG
SS
SGGG
SGGS
GSSG
Growing ends
Shrinking ends
Free Tu-GTP
Free Tu-GDP
Bound Tu
Predicting average trajectories: Numerical integration
1. Set component concentrations to their initial values
e.g. [TuT] = 50.0 M, [G] =1.6 nM, [S]=[TuM]=[TuD]=0.0
2. For each component, compute concentration change over small time interval t
e.g. [TuM] = [TuM]t+t – [TuM]t = {kGS[G]t [TuT]t - kSG[S]t} x t
3. Solve all concentrations at t + te.g. [TuM]t+t = 0.0 M + (1.6x106 M-1s-1 x 50 M x 1.6 nM – 220 s-1 x 0.0 M) x 1 ms = 0.128 nM
4. Set t to t+t, and [X]t to [X]t+t, and repeat from 2 until end condition is fulfilled
e.g. t > tmax or no more significant changes in any concentration
Result
0
20
40
60
0 20 40 60
Time (min)
0
10
20
30
40
50
60
Things to keep in mind
• Main assumption: firing rates (J) remain constant over t– Therefore: [X] used to compute J must be negligible, so that t
must be made sufficiently small– Sophisticated algorithms calculate most efficient t before each
time step– Assessment of efficient t uses “accuracy” parameter
• Approach invalid when J not constant over t (within set limits)– Causes: accuracy too low– Warning signs: wildly oscillating trajectories, negative
concentrations, very different results for greater accuracy
Algorithms
• Forward (explicit)– Solve:
• [G]t+t = [G]t + { kSG[S]t – kGS[G]t [TuT]t3 } x t
– Examples: Euler, Runge-Kutta, Adams-Bashford– Use: for many ODE systems (easier to implement, individual
steps less computationally intensive than implicit methods)
• Backward (implicit)– Solve:
• [G]t= [G]t +t + { kSG[S]t +t – kGS[G]t +t [TuT]t +t 3 } x t
– Examples: Gear, Adams-Moulton– Use: for “stiff” systems (concentrations changing on very
different time scales)
Stochastic vs deterministic approaches
Stochastic• Deal with finite numbers
of items• Cheap assessment of
inherent “noise”• Assessment of average
population behaviour expensive
• Easy to form mental picture
• Easy to incorporate in physical models
Deterministic• Deal with populations of
infinite size• No information about
inherent noise• Assessment of average
population behaviour computationally cheap
• More difficult to grasp and use
• Integration with other model types not trivial
Stochastic or deterministic?
• “Well-stirred containers” – Deterministic faster, results less confusing than stochastic
• “Noise” (deviations from average) important for interpretation experimental results – Many items: deterministic with superimposed variation;
approximate stochastic (Tau-leap, chemical Langevin)– Few items: accurate stochastic (Gillespie, Gibson-Bruck)
• Firing probabilities depend on geometry that changes after each event (e.g. detailed description of microtubule ends) – Accurate stochastic, needs tailor-made software
Software tools
• Programming languages– C/C++, C#, Delphi , Java, Python, VBasic…
• High level math/statistics software– Maple, Mathematica, MATLAB, Octave, R …
• Dynamical Systems software– Berkeley-Madonna, Dymola, ModelMaker, XPP…
• Dedicated chemical kinetics software– Deterministic: CellDesigner, DBSolve , E-Cell,
Gepasi, Jarnac/JDesigner, Promot-DIVA, PySces, Virtual Cell…
– Stochastic: Dizzy, StochKit…– Both: Copasi, NetBuilder’…
Acknowledgement
• Peter Bayley, Justin Molloy (NIMR, London)
• The SBML Forum
• Jack Correia
• The Wellcome Trust, EPSRC, UH