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

50
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

Upload: leo-york

Post on 17-Dec-2015

221 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 2: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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)

Page 3: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

Running example

Page 4: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

Microtubule Dynamic Instability

• Michison & Kirschner (1984):“Microtubules in vitro coexist in growing

and shrinking populations which interconvert rather infrequently”

Page 5: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

Cartoon

“Catastrophe”

“Rescue”

G-end(net growth) S-end

(rapid shrinkage)

Page 6: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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)

Page 7: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

Model Notation

Page 8: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 9: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 10: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

Transition firing?

A B

A B

X

Page 11: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

Transition firing?

2A B

A B

A B2

A B

A+X B

A

B

A

A B+X

A

B

A

2 2

Page 12: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 13: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

Microtubule dynamic instability model

G S

TuT TuD

3

Page 14: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

Transition firing

G S

TuT TuD

3

Page 15: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

Transition firing

G S

TuT TuD

3

Page 16: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

Counting TuM (bound Tu)

G S

TuT TuD

3

TuM

Page 17: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

Counting TuM (bound Tu)

G S

TuT TuD

3

TuM

Page 18: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 19: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 20: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

Stochastic Simulation

Page 21: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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.

Page 22: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 23: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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)

Page 24: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 25: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 26: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 27: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 28: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 29: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 30: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

-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

Page 31: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

[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

Page 32: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

TuT

More than one MT end

TuD

Method 1: modelling all items individually

n

G S G S

n n

G S

Page 33: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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]

Page 34: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

Improving efficiency

Page 35: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

“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

Page 36: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 37: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

Deterministic Simulation

Page 38: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 39: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

Assessing the average trajectory

• Stochastic– Many trajectories– Many particles (larger volume)

• Deterministic– Numerical integration of coupled ODEs

(ordinary differential equations)

Page 40: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 41: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 42: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 43: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 44: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

Result

0

20

40

60

0 20 40 60

Time (min)

0

10

20

30

40

50

60

Page 45: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 46: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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)

Page 47: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 48: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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

Page 49: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

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’…

Page 50: Simulating the Dynamics of Complex Biological Systems Maria J Schilstra Biocomputation Research Group University of Hertfordshire, Hatfield, UK Stephen

Acknowledgement

• Peter Bayley, Justin Molloy (NIMR, London)

• The SBML Forum

• Jack Correia

• The Wellcome Trust, EPSRC, UH