simulating the dynamics of complex biological systems maria j schilstra biocomputation research...

Post on 17-Dec-2015

221 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

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

top related