S - University of Hertfordshire

advertisement
Simulating the Dynamics of
Complex Biological Systems
Maria J Schilstra
Biocomputation Research Group
University of Hertfordshire, Hatfield, UK
Stephen R. Martin
Physical 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
G-end
(net growth)
S-end
(rapid shrinkage)
“Rescue”
“Catastrophe”
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
“Petri-net” notation
Chemical Reaction Notation
Gn + TuT  Gn+1
TuD
TuT
3
Gn  Sn
Sn  Sn-1 + TuD
Sn + 3 TuT  Gn+3
G
S
TuT
TuD
n
MT
Growing end
Shrinking end
Tubulin-GTP
Tubulin-GDP
Number of Tu in MT (TuM)
Microtubule
G
S
Petri-net?
“Place”
(pool, store, state)
Contains “items”
(tokens, molecules,
particles)
AB
A
B
“Transition”
(reaction, process)
Can “fire”; has an
average firing rate
Transition firing?
AB
A
B
X
Transition firing?
2A  B
A
2
A  B2
B
A
B
A  B+X
A+X  B
B
A
B
A
2
A
A
Transition firing rate?
J = rate at which B appears
k (1/s)
J = k.[A] (mol/(L.s))
AB
A
B
J = k.nA (items/s)
nA = [A].NA.Vol
k (L/(mole.s))
J = k.[A][X] mol/(L.s))
A+X  B
A
B
A
J = k.nA.[X] (items/s)
nA = [A].NA.Vol
Microtubule dynamic instability
model
TuD
TuT
3
G
S
Transition firing
TuD
TuT
3
G
S
Transition firing
TuD
TuT
3
G
S
Counting TuM (bound Tu)
TuD
TuT
3
G
S
TuM
Counting TuM (bound Tu)
TuD
TuT
3
G
S
TuM
Firing rates
TuT
J = kSG nS[TuT]3
TuD
3
kSG
J = kGG nG[TuT]
kGG
G
S
kGS
J = kGS nG
TuM
kSS
J = kSS nS
Parameter values
Initial conditions
TuT
J = kSG [S][TuT]3
TuD
3
kSG
J = kGG [G][TuT]
kGG
G
S
J = kSS [S]
kSS
kGS
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
J = kGS [G]
TuM
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
JGG = 1.6x106 x 50x10-9 x 1
= 0.08 s-1
TuTs)
(i.e. lifetime Gn = 12.5
JGS = 0.0056 x 1
= 0.0056 s-1
(i.e. lifetimeTuD
G = 180 s)
3
kSG
J = kGG [G][TuT]
kGG
G
S
kSS
kGS
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
J = kGS [G]
TuM
amount
Conc (M)
G
1
0.16x10-9
S
0
0
TuT
300
50x10-9
TuD
0
0
Probability that reaction has occurred
(Cumulative distribution functions)
1.2
Gn  Gn+1 (lifetime Gn: 12.5 s)
1
P
0.8
0.6
G  S (lifetime G: 180 s)
0.4
0.2
0
0
50
100
150
t-t 0 (s)
P  1  e  k ( t t 0 )
200
250
The weighted lottery
1.2
1
0.8
P
rGG = 0.76
rGS = 0.40
0.6
0.4
0.2
0
0
50
tGG = 18 s
100
150
t-t 0 (s)
tGS = 92 s
200
250
G  G transition fires
0
18 s
20
40
60
TuD
TuT
3
kSG
kGG
G
S
kGS
TuM
kSS
time (s)
The weighted lottery (continued)
1.2
1
rGG = 0.98
P
0.8
rGS = 0.15
0.6
0.4
0.2
0
0
50
tGG = 49 s
100
150
t-t 0 (s)
tGS = 30 s
200
250
G  S transition fires
0
18 s
20
40
30 s
60
TuD
TuT
3
kSG
kGG
G
S
kGS
TuM
kSS
time (s)
Other transitions enabled
0
18 s
20
40
30 s
60
TuD
TuT
3
kSG
kGG
G
S
kGS
TuM
kSS
time (s)
Trajectory of TuM
[TuT] constant (10 M) - 150,000 events
25,000
20,000
15,000
DeltaTuM
n
Delta
10,000
GG
5,000
-
SS
-5,000
-10,000
-15,000
-20,000
-25,000
0
600
1200
1800
2400
3000
Time (s)
3600
4200
4800
[TuT] variable
2 million events
150
60
MT length (m)
100
50
40
MT length
30
50
20
10
0
0
0
60
120
Time (min)
180
[TuT], [TuD] (M)
TuD
TuT
More than one MT end
TuT
TuD
G
S
n
G
S
G
n
Method 1: modelling all items individually
S
n
Trajectories
(6 million events)
60
60
40
40
MT length
30
20
20
[TuT]
10
0
0
0
20
40
Time (min)
60
[TuT] (M)
MT length (m)
50
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
•
•
•
•
t next  t 
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
 log[ 1  r2 ]
J
J1
J4
J2
J3
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?
60
60
50
40
40
30
20
20
10
0
0
0
20
40
60
Time (min)
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)
Change in [X]
over very small
time interval dt
Rate at which X is
produced
Rate at which X is
consumed
– v+(X) = J+(X) and v-(X) = J-(X)
Composing ODEs from firing rates
TuD
TuT
JSG = kSG [S][TuT]3
v+(S) = JSS + JGS
3
kSG
kGG
JGG = kGG [G][TuT]
G
S
kGS
JGS = kGS [G]
TuM
kSS
JSS = kSS [S]
v(S) = JSG + JSS
d[S ]
 J SS  J GS  ( J SS  J SG )
dt
 J GS  J SG
 kGS [G ]  k SG [ S ][TuT ]3
The full system
Growing ends
Shrinking ends
Free Tu-GTP
Free Tu-GDP
Bound Tu
d [G ]
 k SG [ S ][TuT ]3  kGS [G ]
dt
d[S ]
 kGS [G ]  k SG [ S ][TuT ]3
dt
d [TuT ]
 kGG [G ][TuT ]  3k SG [ S ][TuT ]3
dt
d [TuD ]
 k SS [ S ]
dt
d [TuM ]
 kGG [G ][TuT ]  k SS [ S ]
dt
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 + t
e.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
60
60
50
40
40
30
20
20
10
0
0
0
20
40
Time (min)
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
Download