Spatial Stochastic Simulators
Kim “Avrama” Blackwell
George Mason University
Krasnow Institute of Advanced Studies
Diverse Numbers of MoleculesSpatially Inhomogeneous
Kotaleski and Blackwell 2010
Glutamate receptors 1 M 60 molecules
molecular interactions occur stochastically
G protein coupled receptorsDiffusion required for signal interaction
Small number of molecules in spinesLarge number of molecules in system
Spatial Stochastic Simulators• Particle based
– Smoldyn, MCell, CDS– Individual molecules are represented as point-based
particles, which diffuse random distance and random direction at each time step
– If two reacting molecules pass near each other they may react
– Computations increase with number of molecules
b
Association DissociationDiffusion
Membrane
MCell• Geometry from volumetric imaging data
using Blender (www.blender.org)– Mesh elements may be reflective,
transparent, or absorptive
• Surface or volume diffusion– Ray tracing determines whether molecules
would have collided during (fixed) time step
• Reaction rules depend on order of reaction, and whether surface or volume molecules involved (Kerr et al. SIAM J Sci Comput 2008)
Transparent
Reflective
MCell Diffusion
• Diffusion distance from probability density:
• Radial distance from uniformly distributed random variable X:
• Speed computations by storing values of X in look-up table
• Direction: uniformly distributed random variable [0,2π)
Mcell – STDP example
• Calmodulin activation versus spike timing– Do NMDA receptors and VDCC produce
different calmodulin profiles?
• Neuron model to determine voltage-dependent open probability of VDCC and NMDA
• MCell model with calmodulin, calbindin, NCX and PMCA
• Model: Keller et al. PLoS One 2008, tutorial: http://www.mcell.org/tutorials/
MCell Model
VDCC
NMDAR
Pumps(Membrane)
Calcium bindingProteins(cytosol)
Pre-synapticTerminal
Spine Head
Spine Neck
Dendrite
UnpairedStimuli
• Calcium differs due to channel distribution
Keller et al. PLoS One 2008
Paired Stimuli• Calcium
depends on timing of AP versus glutamate release
EPSP-AP AP-EPSP
Keller et al. PLoS One 2008
CDS• Particle based simulator with event driven
algorithm– All possible collisions are detected during short dt– If collision detected, the exact collision time is
calculated– Earliest collision (or reaction events) are simulated
one-by-one until dt
• Particles have volume, thus can simulate crowding and volume exclusion
• http://nba.uth.tmc.edu/cds/content/download.htm
CDS Example
• Morphology from triangular meshes
• CaMKII diffusion out of spine depends on morphology (b) and also binding targets and F-actin
• Byrne et al. J Comput Neuro 2011
Stochastic (non-spatial) Simulators
• Gillespie (Exact Stochastic Simulation Algorithm) Propensity of reaction aj Kf Np
– Propensity of any reaction, a0 = aj
– Next reaction occurs with exponential distribution with mean a0:
– Identity of reaction selected randomly, based on propensity
– Computations increase with number of molecules
Extensions to Gillespie Algorithms
• Tau leap – non-spatial– Allow multiple reaction events, Kj, to occur for
each reaction at each time step, , according to Poisson:
Ke a
kj
aj
kj
( )
!
• Spatial Gillespie, e.g. Fange et al. 2010, PNAS
– Morphology is subdivided into small compartments
– Propensity of diffusion calculated from diffusion coefficient, ad D Nd
– Diffusion considered as another reaction
a1
a2
ad1
ad3
ad2
ad4
+
+
Hybrid Models
• Partition the reaction-diffusion space into two or more sets of reactions (and diffusion)
• Each set is simulated differently– Diffusion – deterministic, reactions – stochastic– Fast reactions - deterministic, slow reactions –
stochastic– “Critical” reactions - exact stochastic, non-
critical reactions – tau leap
STEPS
• Spatial extension of exact stochastic simulation algorithm– Tetrahedral meshes allows realistic geometries– Diffusion constant can vary between
compartments– Simulations are specified in python, witih
morphology, reactions and simulations specified independently (for ideal control of simulation experiments)
– http://steps.sourceforge.net/STEPS/Home.html
STEPS-Cerebellar LTD
calcium
PKC
ArachidonicAcid
cPLA2
ProteinPhosphatase 2A
ERK
MEK
Raf Raf-act
MapKinasePhosphatase 1
ProteinPhosphatase 1
ProteinPhosphatase 5
AMPAReceptor
CalciumBuffers
CalciumPumps
Inactivation, dephosphorylationActivation, phosphorylation
PositiveFeedbackLoop
Single Spine Model
• Average of multiple simulations reveals graded induction of LTD
• Single runs reveals bistability at intermediate calcium
Time (min)Antunes et al. J Neurosci 2012
Model Limitations
• All these model have either small volume (single spine) or small number of reactions (calmodulin+CaMKII)
• Only MCell model uses voltage to determine calcium influx
• Smoldyn – Particle simulation algorithm incorporated into
Moose (Genesis 3) and VCell– No neuroscience examples yet
NeuroRD• Spatial extension to Gillespie tau leap
– Multiple reaction events and diffusion events can occur during each time step
– Morphology is subdivided into small compartments
• Cuboidal meshes and cylindrical meshes possible
NeuroRD – Mesoscopic• Subdivide dendrites and spines into sub-volumes• Pre-calculate the probability that one molecule leaves
the compartment or reacts
• Look-up tables store the probability that j out of N molecules leave a compartment or react
• At each time step, for each molecule, choose a random number to determine the number, j, molecules out of N leaving or reacting
P N jN
N j jp pj N j( , )
!
( ) ! !( ) ( )
1
p k N N tr r 1 2 p D t xm 2 2 /
NeuroRD
Calculate number of molecules
Calculate j reacting or k moving using Poisson distribution
Determine destinations for diffusing molecules
NeuroRD - Validation• An approximation, to allow large scale simulations• Agrees with Smoldyn, and deterministic solution for
reaction-diffusion system10
8
6
4
2
0
Mol
ecul
es
2000150010005000Time (msec)
Distance 0.5 8.5NeuroRD Smoldyn Determ
350
300
250
200
150
100
50
0
Mol
ecul
es
12008004000Time (msec)
Distance 0.5 2.5 8.5 NeuroRD Smoldyn Determ
Oliveira et al. 2010, PLoS One
Molecule A
Molecule B
NeuroRD
• NeuroRD is up to 60 times faster than Smoldyn• Computations increase linearly with number of
compartments, but not moleculesNeuroRD Smoldyn
Simulation # initial molecules
# injected Time (h:mm:ss)
Memory (kb) Time (h:mm:ss)
Memory (kb)
Diffusion 0 2000 0:00:02.86 1608 0:00:07.04 2344
Reaction 28853 0 0:00:05.97 1764 0:08:03.53 26524
Reaction & Diffusion I
662 4000 0:00:04.51 1764 0:02:48.90 22168
Reaction & Diffusion II
6619 40000 0:00:07.58 1772 2:19:58.00 23760
Oliveira et al. 2010, PLoS One
NeuroRD DevelopmentBiochemical Oscillator
Srivastava et al., J Chem Phys
Spatial Gene Oscillator
• mRNA is inactive in the nucleus, diffuses into cytosol• A diffuses to nucleus, binds to DNA• Effect of diffusion constant (2 cytosol compartment)
Spatial Biochemical OscillatorInactive mRNA in nucleus, activated by binding in cytosol compartmentVary number of compartments, and translation compartment
500
400
300
200
100
0
Mo
lecu
les
200150100500Time (hours)
Diffusion=10, 4 comptranslation in cytosol 2
R, cytosol 2 A, cytosol 2 A, cytosol 1 A, nucleus
1400
1200
1000
800
600
400
200
0
Mo
lecu
les
200150100500Time (hours)
Diffusion=10, 3 comptranslation in cytosol 1
R, cytosol 1 A, cytosol 1 A, nucleus
1400
1200
1000
800
600
400
200
0
Mo
lecu
les
200150100500Time (hours)
Diffusion=10, 4 comptranslation in cytosol 1
R, cytosol 1 A, cytosol 2 A, cytosol 1 A, nucleus
mRNA production is faster when A binds to DNAmRNA production and degradation are faster for A than RProtein synthesis and degradation are faster for A than RR degrades A (at same catalytic rate that A spontaneously degrades)
Protein quantity
Spatial Biochemical Oscillator
5
4
3
2
1
0
Mo
lecu
les
200150100500Time (Hours)
Diffusion=10, 3 comp inactive activemRNA A, cyt 1 mRNA R, cyt 1
5
4
3
2
1
0
Mo
lecu
les
200150100500Time (Hours)
Diffusion=10, 4 comp inactive activemRNA A, cyt 1 mRNA R, cyt 1 10
8
6
4
2
0
Mo
lecu
les
200150100500Time (Hours)
Diffusion=10, 4comp inactive active mRNA R, cyt 1 mRNA R, cyt 2 mRNA A, cyt 2
DNA
mRNA
NeuroRD
• Model specification allows good experimental design, with separate files for– Reactions– Spatial morphology– Initial conditions– Stimulation– Output specification– Top level file which specifies reactions,
morphology, initial conditions, output specs, time step and spatial grid, random seed
Tissue
Experiment
Simulation control
NeuroRD – Morphology File
• Specify start and end of each segment
• Specification includes id, region type, location (x,y,z), radius, and optional label
<Segment id="seg1" region="dendrite">
<start x="1.0" y="1.0" z="0.0" r="0.5" />
<end x="1.0" y="2.0" z="0.0" r="0.5" label="pointA"/>
</Segment>
• Additional segments start on a previous segment
• Branching is possible – see branching.tar
NeuroRD – Reaction File
• Define each species that has either a reaction pool or conservepool• Include diffusion constant, which can be 0
<Specie name="mGluR" id="mGluR" kdiff="0" kdiffunit = "mu2/s"/>
• Specify Reactions• First order – single reactant and product• Second order – two reactants or two products
NeuroRD – Reaction File
• Include forward and backward rate constants
<Reaction name = "glu+mGluR--glu-mGluR reac" id="glu+mGluR--glumGluR_id">
<Reactant specieID="glu" />
<Reactant specieID="mGluR" />
<Product specieID="glu-mGluR" />
<forwardRate> 5e-03 </forwardRate>
<reverseRate> 50e-03 </reverseRate>
<Q10> 0.2 </Q10>
</Reaction>
NeuroRD – Initial Condition File
• Four types of initial conditions
1. General concentration of molecule in entire morphology, or
2. Region specific concentration
• Overrides general concentration
3. Surface Density of membrane molecules
• Overrides concentration specifications
4. Surface Density of Membrane molecules in specific region
• Overrides general surface density
NeuroRD – Initial Condition File
• General concentration of each molecule should be specified (zero otherwise)
<NanoMolarity specieID="mGluR" value="5e3" />
• Surface density if molecule is membrane bound
<PicoSD specieID="PLC" value="2.5" />
• Initial conditions for different parts of morphology
<ConcentrationSet region="PSD" >followed by <NanoMolarity specieID=“IP3" value=“30" />
NeuroRD – Stimulation File
• Stimulation used to inject molecules• Temporary fix until software is integrated with
software for simulating neuron electrical activity and ion channels
• Specify molecule and injection site<InjectionStim specieID="Ca" injectionSite="pointA">
• Repetitive trains can be created• Specify onset time, duration, rate (amplitude)• period and end used for train• InterTrain Interval to repeat train (e.g. For LTP)
NeuroRD – Output Specification
• Specify dt for output, species and compartment<OutputSet filename = "dt1" region="dendrite" dt="1.0">
<OutputSpecie name="glu" />
<OutputSpecie name="IP3" />
</OutputSet>• Multiple outputSets can be specified• Sample slowly changing molecules less frequently• Sample glutamate receptors from PSD only
NeuroRD – Model file
• Specify all the other files<reactionSchemeFile>Purkreactions</reactionSchemeFile>
<morphologyFile>Purkmorph</morphologyFile>
<stimulationFile>Purkstim</stimulationFile>
<initialConditionsFile>Purkic</initialConditionsFile>
<outputSchemeFile>Purkio</outputSchemeFile>
• Specify some other parameters, such as algorithm variations and random seed
• Indicate total simulation time, time step and largest compartment size
NeuroRD – running simulation
• Java -jar stochdiff.jar Purkmodel.xml
• Morphology output file• Purkmodel.out-mesh.txt
• Ascii output file• name of model file -- .out –output set name - conc.txt• Purkmodel.out-dt1-conc.txt