Spatial Stochastic Simulators Kim “Avrama” Blackwell George Mason University Krasnow Institute of Advanced Studies Diverse Numbers of Molecules Spatially Inhomogeneous G protein coupled receptors Diffusion required for signal interaction Glutamate receptors 1 M 60 molecules molecular interactions occur stochastically Kotaleski and Blackwell 2010 Small number of molecules in spines Large 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 Diffusion Association sb Membrane Dissociation MCell • Geometry from volumetric imaging data using Blender (www.blender.org) Transparent – Mesh elements may be reflective, transparent, or absorptive • Surface or volume diffusion q q q – Ray tracing determines whether molecules would have collided during (fixed) time step Reflective • Reaction rules depend on order of reaction, and whether surface or volume molecules involved (Kerr et al. SIAM J Sci Comput 2008) 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 voltagedependent 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 NMDAR Pre-synaptic Terminal Spine Head Spine Neck Dendrite Pumps (Membrane) VDCC Calcium binding Proteins (cytosol) Unpaired Stimuli • Calcium differs due to channel distribution Keller et al. PLoS One 2008 EPSP-AP AP-EPSP Paired Stimuli • Calcium depends on timing of AP versus glutamate release 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 • Spatial Gillespie, e.g. Fange et al. 2010, PNAS ad2 a2 – Morphology is subdivided into small + ad1 compartments ad4 a1 – Propensity of diffusion calculated from + ad3 diffusion coefficient, ad D Nd – Diffusion considered as another reaction • Tau leap – non-spatial – Allow multiple reaction events, Kj, to occur for each reaction at each time step, t, according to Poisson: a jt k Kj e (a j t ) k! 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, noncritical 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 STEPSCerebellar LTD Calcium Buffers AMPA Receptor Protein Phosphatase 5 Protein Phosphatase 2A MapKinase Phosphatase 1 Raf MEK Raf-act Positive Feedback Loop ERK Inactivation, dephosphorylation Activation, phosphorylation Calcium Pumps calcium PKC Arachidonic Acid cPLA2 Protein Phosphatase 1 Single Spine Model • Average of multiple simulations reveals graded induction of LTD • Single runs reveals bistability at intermediate calcium Antunes et al. J Neurosci 2012 Time (min) 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 pr k r N1 N 2 t pm 2 D t / x 2 N! P( N , j ) p j (1 p ) ( N j ) ( N j )! j ! • 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 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 system 10 350 Distance 0.5 NeuroRD Smoldyn Determ Molecules 250 2.5 200 150 Molecule A 8.5 8 Molecules 300 Distance 0.5 NeuroRD Smoldyn Determ 8.5 6 4 100 2 50 Molecule B 0 0 0 400 800 1200 Time (msec) 0 500 Oliveira et al. 2010, PLoS One 1000 1500 Time (msec) 2000 NeuroRD • NeuroRD is up to 60 times faster than Smoldyn • Computations increase linearly with number of compartments, but not molecules NeuroRD # injected Time (h:mm:ss) Memory (kb) Smoldyn Simulation # initial molecules 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 Time (h:mm:ss) Memory (kb) NeuroRD Development Biochemical 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 Oscillator Inactive mRNA in nucleus, activated by binding in cytosol compartment Vary number of compartments, and translation compartment Protein quantity 1000 1200 Molecules Molecules 1200 800 600 1000 800 600 400 400 200 200 0 0 0 50 100 150 Time (hours) Diffusion=10, 4 comp translation in cytosol 1 R, cytosol 1 A, cytosol 2 A, cytosol 1 A, nucleus 1400 200 Diffusion=10, 4 comp translation in cytosol 2 R, cytosol 2 A, cytosol 2 A, cytosol 1 A, nucleus 500 400 Molecules Diffusion=10, 3 comp translation in cytosol 1 R, cytosol 1 A, cytosol 1 A, nucleus 1400 300 200 100 0 0 50 100 150 Time (hours) 200 0 50 100 150 Time (hours) mRNA production is faster when A binds to DNA mRNA production and degradation are faster for A than R Protein synthesis and degradation are faster for A than R R degrades A (at same catalytic rate that A spontaneously degrades) 200 Spatial Biochemical Oscillator Diffusion=10, 4 comp inactive mRNA A, cyt 1 mRNA R, cyt 1 5 Molecules 4 mRNA active 10 Diffusion=10, 4comp inactive active mRNA R, cyt 1 mRNA R, cyt 2 mRNA A, cyt 2 3 2 8 1 0 Diffusion=10, 3 comp inactive mRNA A, cyt 1 mRNA R, cyt 1 5 4 Molecules 50 100 Time (Hours) 150 active Molecules 0 200 6 4 3 2 2 1 0 0 0 DNA 50 100 Time (Hours) 150 200 0 50 100 Time (Hours) 150 200 NeuroRD • Model specification allows good experimental design, with separate files for – Reactions Tissue – Spatial morphology – Initial conditions Experiment – Stimulation Simulation control – Output specification – Top level file which specifies reactions, morphology, initial conditions, output specs, time step and spatial grid, random seed 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" "mu2/s"/> kdiffunit = • 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