From df31522a6a3da8555722a79da9234983392d0f3e Mon Sep 17 00:00:00 2001 From: bhalla <bhalla@ncbs.res.in> Date: Thu, 7 Jul 2016 10:35:22 +0530 Subject: [PATCH] Added axon model and documentation for rdesigneur --- docs/user/images/rdes3.1_axon.png | Bin 0 -> 38700 bytes docs/user/images/rdes3.2_myelinated_axon.png | Bin 0 -> 66856 bytes .../markdown/RdesigneurDocumentation.markdown | 1560 +++++++++-------- 3 files changed, 858 insertions(+), 702 deletions(-) create mode 100644 docs/user/images/rdes3.1_axon.png create mode 100644 docs/user/images/rdes3.2_myelinated_axon.png diff --git a/docs/user/images/rdes3.1_axon.png b/docs/user/images/rdes3.1_axon.png new file mode 100644 index 0000000000000000000000000000000000000000..585415c6aeb2378728486b2d535acae65c8aaa61 GIT binary patch literal 38700 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 Zhb&rMhpR4XJGv0?Q&Z7Wu2g&$@;~GGAc_D0 literal 0 HcmV?d00001 diff --git a/docs/user/images/rdes3.2_myelinated_axon.png b/docs/user/images/rdes3.2_myelinated_axon.png new file mode 100644 index 0000000000000000000000000000000000000000..5a532ea2ada93dd7137788fbbe77b545b964e7e6 GIT binary patch literal 66856 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 literal 0 HcmV?d00001 diff --git a/docs/user/markdown/RdesigneurDocumentation.markdown b/docs/user/markdown/RdesigneurDocumentation.markdown index f1ca9812..c842b3f2 100644 --- a/docs/user/markdown/RdesigneurDocumentation.markdown +++ b/docs/user/markdown/RdesigneurDocumentation.markdown @@ -1,702 +1,858 @@ ------ - -# **Rdesigneur: Building multiscale models** - -Upi Bhalla - -Dec 28 2015. - ------ - -## Contents - - -## Introduction - -**Rdesigneur** (Reaction Diffusion and Electrical SIGnaling in NEURons) is an -interface to the multiscale modeling capabilities in MOOSE. It is designed -to build models incorporating biochemical signaling pathways in -dendrites and spines, coupled to electrical events in neurons. Rdesigneur -assembles models from predefined parts: it delegates the details to -specialized model definition formats. Rdesigneur combines one or more of -the following cell parts to build models: - -* Neuronal morphology -* Dendritic spines -* Ion channels -* Reaction systems - -Rdesigneur's main role is to specify how these are put together, including -assigning parameters to do so. Rdesigneur also helps with setting up the -simulation input and output. - -## Quick Start -Here we provide a few use cases, building up from a minimal model to a -reasonably complete multiscale model spanning chemical and electrical signaling. - -### Bare Rdesigneur: single passive compartment -If we don't provide any arguments at all to the Rdesigneur, it makes a model -with a single passive electrical compartment in the MOOSE path -`/model/elec/soma`. Here is how to do this: - - import moose - import rdesigneur as rd - rdes = rd.rdesigneur() - rdes.buildModel() - -To confirm that it has made a compartment with some default values we can add -a line: - - moose.showfields( rdes.soma ) - -This should produce the output: - - [ /model[0]/elec[0]/soma[0] ] - diameter = 0.0005 - fieldIndex = 0 - Ra = 7639437.26841 - y0 = 0.0 - Rm = 424413.177334 - index = 0 - numData = 1 - inject = 0.0 - initVm = -0.065 - Em = -0.0544 - y = 0.0 - numField = 1 - path = /model[0]/elec[0]/soma[0] - dt = 0.0 - tick = -2 - z0 = 0.0 - name = soma - Cm = 7.85398163398e-09 - x0 = 0.0 - Vm = -0.06 - className = ZombieCompartment - idValue = 465 - length = 0.0005 - Im = 1.3194689277e-08 - x = 0.0005 - z = 0.0 - - -### Simulate and display current pulse to soma -A more useful script would run and display the model. Rdesigneur can help with -the stimulus and the plotting. This simulation has the same passive -compartment, and current is injected as the simulation runs. -This script displays the membrane potential of the soma as it charges and -discharges. - - import moose - import rdesigneur as rd - rdes = rd.rdesigneur( - stimList = [['soma', '1', '.', 'inject', '(t>0.1 && t<0.2) * 2e-8']], - plotList = [['soma', '1', '.', 'Vm', 'Soma membrane potential']], - ) - rdes.buildModel() - moose.reinit() - moose.start( 0.3 ) - rdes.display() - -The *stimList* defines a stimulus. Each entry has five arguments: - - `[region_in_cell, region_expression, moose_object, parameter, expression_string]` - -+ `region_in_cell` specifies the objects to stimulate. Here it is just the - soma. -+ `region_expression` specifies a geometry based calculation to decide - whether to apply the stimulus. The value must be >0 for the stimulus - to be present. Here it is just 1. - `moose_object` specifies the simulation object to operate upon during - the stimulus. Here the `.` means that it is the soma itself. In other - models it might be a channel on the soma, or a synapse, and so on. -+ `parameter` specifies the simulation parameter on the moose object that - the stimulus will modify. Here it is - the injection current to the soma compartment. -+ `expression_string` calculates the value of the parameter, typically - as a function of time. Here we use the function - `(t>0.1 && t<0.2) * 2e-8` which evaluates as 2e-8 between the times of - 0.1 and 0.2 seconds. - -To summarise this, the *stimList* here means *inject a current of 20nA to the -soma between the times of 0.1 and 0.2 s*. - -The *plotList* defines what to plot. It has a similar set of arguments: - - `[region_in_cell, region_expression, moose_object, parameter, title_of_plot]` -These mean the same thing as for the stimList except for the title of the plot. - -The *rdes.display()* function causes the plots to be displayed. - - - -When we run this we see an initial depolarization as the soma settles from its -initial -65 mV to a resting Em = -54.4 mV. These are the original HH values, see -the example above. At t = 0.1 seconds there is another depolarization due -to the current injection, and at t = 0.2 seconds this goes back to the resting -potential. - -### HH Squid model in a single compartment -Here we put the Hodgkin-Huxley squid model channels into a passive compartment. -The HH channels are predefined as prototype channels for Rdesigneur, - - import moose - import pylab - import rdesigneur as rd - rdes = rd.rdesigneur( - chanProto = [['make_HH_Na()', 'Na'], ['make_HH_K()', 'K']], - chanDistrib = [ - ['Na', 'soma', 'Gbar', '1200' ], - ['K', 'soma', 'Gbar', '360' ]], - stimList = [['soma', '1', '.', 'inject', '(t>0.1 && t<0.2) * 1e-8' ]], - plotList = [['soma', '1', '.', 'Vm', 'Membrane potential']] - ) - - rdes.buildModel() - moose.reinit() - moose.start( 0.3 ) - rdes.display() - - -Here we introduce two new model specification lines: - -+ **chanProto**: This specifies which ion channels will be used in the - model. - Each entry here has two fields: the source of the channel definition, - and (optionally) the name of the channel. - In this example we specify two channels, an Na and a K channel using - the original Hodgkin-Huxley parameters. As the source of the channel - definition we use the name of the Python function that builds the - channel. The *make_HH_Na()* and *make_HH_K()* functions are predefined - but we can also specify our own functions for making prototypes. - We could also have specified the channel prototype using the name - of a channel definition file in ChannelML (a subset of NeuroML) format. -+ **chanDistrib**: This specifies *where* the channels should be placed - over the geometry of the cell. Each entry in the chanDistrib list - specifies the distribution of parameters for one channel using four - entries: - - `[object_name, region_in_cell, parameter, expression_string]` - - In this case the job is almost trivial, since we just have a single - compartment named *soma*. So the line - - `['Na', 'soma', 'Gbar', '1200' ]` - - means *Put the Na channel in the soma, and set its maximal - conductance density (Gbar) to 1200 Siemens/m^2*. - -As before we apply a somatic current pulse. Since we now have HH channels in -the model, this generates action potentials. - - - - -### Reaction system in a single compartment -Here we use the compartment as a place in which to embed a chemical model. -The chemical oscillator model is predefined in the rdesigneur prototypes. - - import moose - import pylab - import rdesigneur as rd - rdes = rd.rdesigneur( - turnOffElec = True, - diffusionLength = 1e-3, # Default diffusion length is 2 microns - chemProto = [['makeChemOscillator()', 'osc']], - chemDistrib = [['osc', 'soma', 'install', '1' ]], - plotList = [['soma', '1', 'dend/a', 'conc', 'a Conc'], - ['soma', '1', 'dend/b', 'conc', 'b Conc']] - ) - rdes.buildModel() - b = moose.element( '/model/chem/dend/b' ) - b.concInit *= 5 - moose.reinit() - moose.start( 200 ) - - rdes.display() - -In this special case we set the turnOffElec flag to True, so that Rdesigneur -only sets up chemical and not electrical calculations. This makes the -calculations much faster, since we disable electrical calculations and delink -chemical calculations from them. - -We also have a line which sets the `diffusionLength` to 1 mm, so that it is -bigger than the 0.5 mm squid axon segment in the default compartment. If you -don't do this the system will subdivide the compartment into the default -2 micron voxels for the purposes of putting in a reaction-diffusion system. -We discuss this case below. - -Note how the *plotList* is done here. To remind you, each entry has five -arguments - - [region_in_cell, region_expression, moose_object, parameter, title_of_plot] - -The change from the earlier usage is that the `moose_object` now refers to -a chemical entity, in this example the molecule *dend/a*. The simulator -builds a default chemical compartment named *dend* to hold the reactions -defined in the *chemProto*. What we do in this plot is to select molecule *a* -sitting in *dend*, and plot its concentration. Then we do this again for -molecule *b*. - -After the model is built, we add a couple of lines to change the -initial concentration of the molecular pool *b*. Note its full path within -MOOSE: */model/chem/dend/b*. It is scaled up 5x to give rise to slowly -decaying oscillations. - - - -### Reaction-diffusion system - -In order to see what a reaction-diffusion system looks like, delete the -`diffusionLength` expression in the previous example and add a couple of lines -to set up 3-D graphics for the reaction-diffusion product: - - import moose - import pylab - import rdesigneur as rd - rdes = rd.rdesigneur( - turnOffElec = True, - chemProto = [['makeChemOscillator()', 'osc']], - chemDistrib = [['osc', 'soma', 'install', '1' ]], - plotList = [['soma', '1', 'dend/a', 'conc', 'Concentration of a'], - ['soma', '1', 'dend/b', 'conc', 'Concentration of b']], - moogList = [['soma', '1', 'dend/a', 'conc', 'a Conc', 0, 360 ]] - ) - - rdes.buildModel() - bv = moose.vec( '/model/chem/dend/b' ) - bv[0].concInit *= 2 - bv[-1].concInit *= 2 - moose.reinit() - - rdes.displayMoogli( 1, 400, 0.001 ) - - - -This is the line we deleted. - - diffusionLength = 1e-3, - -With this change we permit -*rdesigneur* to use the default diffusion length of 2 microns. -The 500-micron axon segment is now subdivided into 250 voxels, each of -which has a reaction system and diffusing molecules. To make it more -picturesque, we have added a line after the plotList, to display the outcome -in 3-D: - - moogList = [['soma', '1', 'dend/a', 'conc', 'a Conc', 0, 360 ]] - -This line says: take the model compartments defined by `soma` as the region -to display, do so throughout the the geometry (the `1` signifies this), and -over this range find the chemical entity defined by `dend/a`. For each `a` -molecule, find the `conc` and dsiplay it. There are two optional arguments, -`0` and `360`, which specify the low and high value of the displayed variable. - -In order to initially break the symmetry of the system, we change the initial -concentration of molecule b at each end of the cylinder: - - bv[0].concInit *= 2 - bv[-1].concInit *= 2 - -If we didn't do this the entire system would go through a few cycles of -decaying oscillation and then reach a boring, spatially uniform, steady state. -Try putting an initial symmetry break elsewhere to see what happens. - -To display the concenctration changes in the 3-D soma as the simulation runs, -we use the line - - `rdes.displayMoogli( 1, 400, 0.001 )` - -The arguments mean: *displayMoogli( frametime, runtime, rotation )* -Here, - - frametime = time by which simulation advances between display updates - runtime = Total simulated time - rotation = angle by which display rotates in each frame, in radians. - -When we run this, we first get a 3-D display with the oscillating -reaction-diffusion system making its way inward from the two ends. After the -simulation ends the plots for all compartments for the whole run come up. - - - - -### Primer on using the 3-D MOOGLI display -Here is a short primer on the 3-D display controls. - -- *Roll, pitch, and yaw*: Use the letters *r*, *p*, and *y*. To rotate -backwards, use capitals. -- *Zoom out and in*: Use the *,* and *.* keys, or their upper-case equivalents, -*<* and *>*. Easier to remember if you think in terms of the upper-case. -- *Left/right/up/down*: Arrow keys. -- *Quit*: control-q or control-w. -- You can also use the mouse or trackpad to control most of the above. -- By default rdesigneur gives Moogli a small rotation each frame. It is the -*rotation* argument in the line: - - `displayMoogli( frametime, runtime, rotation )` - -These controls operate over and above this rotation, but the rotation -continues. If you set the rotation to zero you can, with a suitable flick of -the mouse, get the image to rotate in any direction you choose as long as the -window is updating. - -### Make a toy multiscale model with electrical and chemical signaling. -Now we put together chemical and electrical models. In this toy model we have an -HH-squid type single compartment electrical model, cohabiting with a chemical -oscillator. The chemical oscillator regulates K+ channel amounts, and the -average membrane potential regulates the amounts of a reactant in the -chemical oscillator. This is a recipe for some strange firing patterns. - - import moose - import pylab - import rdesigneur as rd - rdes = rd.rdesigneur( - # We want just one compartment so we set diffusion length to be - # bigger than the 0.5 mm HH axon compartment default. - diffusionLength = 1e-3, - chanProto = [['make_HH_Na()', 'Na'], ['make_HH_K()', 'K']], - chanDistrib = [ - ['Na', 'soma', 'Gbar', '1200' ], - ['K', 'soma', 'Gbar', '360' ]], - chemProto = [['makeChemOscillator()', 'osc']], - chemDistrib = [['osc', 'soma', 'install', '1' ]], - # These adaptor parameters give interesting-looking but - # not particularly physiological behaviour. - adaptorList = [ - [ 'dend/a', 'conc', 'Na', 'modulation', 1, -5.0 ], - [ 'dend/b', 'conc', 'K', 'modulation', 1, -0.2], - [ 'dend/b', 'conc', '.', 'inject', -1.0e-7, 4e-7 ], - [ '.', 'Vm', 'dend/s', 'conc', 2.5, 20.0 ] - ], - plotList = [['soma', '1', 'dend/a', 'conc', 'a Conc'], - ['soma', '1', 'dend/b', 'conc', 'b Conc'], - ['soma', '1', 'dend/s', 'conc', 's Conc'], - ['soma', '1', 'Na', 'Gk', 'Na Gk'], - ['soma', '1', '.', 'Vm', 'Membrane potential'] - ] - ) - - rdes.buildModel() - moose.reinit() - moose.start( 250 ) # Takes a few seconds to run this. - - rdes.display() - -We've already modeled the HH squid model and the oscillator individually, -and you should recognize the parts of those models above. -The new section that makes this work the *adaptorList* which specifies how -the electrical and chemical parts talk to each other. This entirely -fictional set of interactions goes like this: - - [ 'dend/a', 'conc', 'Na', 'modulation', 1, -5.0 ] - -+ *dend/a*: The originating variable comes from the 'a' pool on the - 'dend' compartment. - - *conc*: This is the originating variable name on the 'a' pool. - - *Na*: This is the target variable - - *modulation*: scale the Gbar of Na up and down. Use 'modulation' - rather than direct assignment of Gbar since Gbar is different for - each differently-sized compartment. - - *1*: This is the initial offset - - *-5.0*: This is the scaling from the input to the parameter updated - in the simulation. - -A similar set of adaptor entries couple the molecule *dend/b* to the -K channel, *dend/b* again to the current injection into the soma, and the -membrane potential to the concentration of *dend/s*. - - - - -### Morphology: Load .swc morphology file and view it -Here we build a passive model using a morphology file in the .swc file format -(as used by NeuroMorpho.org). The morphology file is predefined for Rdesigneur -and resides in the -directory `./cells`. We apply a somatic current pulse, and view -the somatic membrane potential in a plot, as before. -To make things interesting we display the morphology in 3-D upon which we -represent the membrane potential as colors. - - import moose - import rdesigneur as rd - rdes = rd.rdesigneur( - cellProto = [['./cells/h10.CNG.swc', 'elec']], - stimList = [['soma', '1', '.', 'inject', 't * 25e-9' ]], - plotList = [['#', '1', '.', 'Vm', 'Membrane potential'], - ['#', '1', 'Ca_conc', 'Ca', 'Ca conc (uM)']], - moogList = [['#', '1', '.', 'Vm', 'Soma potential']] - ) - - rdes.buildModel() - - moose.reinit() - rdes.displayMoogli( 0.0002, 0.1 ) - -Here the new concept is the cellProto line, which loads in the specified cell -model: - - `[ filename, cellname ]` - -The system recognizes the filename extension and builds a model from the swc -file. It uses the cellname **elec** in this example. - -We use a similar line as in the reaction-diffusion example, to build up a -Moogli display of the cell model: - - `moogList = [['#', '1', '.', 'Vm', 'Soma potential']]` - -Here we have: - - *#*: the path to use for selecting the compartments to display. - This wildcard means use all compartments. - *1*: The expression to use for the compartments. Again, `1` means use - all of them. - *.*: Which object in the compartment to display. Here we are using the - compartment itself, so it is just a dot. - *Vm*: Field to display - *Soma potential*: Title for display. - - - -### Build an active neuron model by putting channels into a morphology file -We load in a morphology file and distribute voltage-gated ion channels over -the neuron. Here the voltage-gated channels are obtained from a number of -channelML files, located in the `./channels` subdirectory. Since we have a -spatially extended neuron, we need to specify the spatial distribution of -channel densities too. - - - import moose - import rdesigneur as rd - rdes = rd.rdesigneur( - chanProto = [ - ['./chans/hd.xml'], - ['./chans/kap.xml'], - ['./chans/kad.xml'], - ['./chans/kdr.xml'], - ['./chans/na3.xml'], - ['./chans/nax.xml'], - ['./chans/CaConc.xml'], - ['./chans/Ca.xml'] - ], - cellProto = [['./cells/h10.CNG.swc', 'elec']], - chanDistrib = [ \ - ["hd", "#dend#,#apical#", "Gbar", "50e-2*(1+(p*3e4))" ], - ["kdr", "#", "Gbar", "p < 50e-6 ? 500 : 100" ], - ["na3", "#soma#,#dend#,#apical#", "Gbar", "850" ], - ["nax", "#soma#,#axon#", "Gbar", "1250" ], - ["kap", "#axon#,#soma#", "Gbar", "300" ], - ["kap", "#dend#,#apical#", "Gbar", - "300*(H(100-p*1e6)) * (1+(p*1e4))" ], - ["Ca_conc", "#", "tau", "0.0133" ], - ["kad", "#soma#,#dend#,#apical#", "Gbar", "50" ], - ["Ca", "#", "Gbar", "50" ] - ], - stimList = [['soma', '1', '.', 'inject', '(t>0.02) * 1e-9' ]], - plotList = [['#', '1', '.', 'Vm', 'Membrane potential'], - ['#', '1', 'Ca_conc', 'Ca', 'Ca conc (uM)']], - moogList = [['#', '1', 'Ca_conc', 'Ca', 'Calcium conc (uM)', 0, 120], - ['#', '1', '.', 'Vm', 'Soma potential']] - ) - - rdes.buildModel() - - moose.reinit() - rdes.displayMoogli( 0.0002, 0.052 ) - - -Here we make more extensive use of two concepts which we've already seen from -the single compartment squid model: - -1. *chanProto*: This defines numerous channels, each of which is of the form: - - `[ filename ]` - - or - - `[ filename, channelname ]` - -If the *channelname* is not specified the system uses the last part of the -channel name, before the filetype suffix. - -2. *chanDistrib*: This defines the spatial distribution of each channel type. -Each line is of a form that should be familiar now: - - `[channelname, region_in_cell, parameter, expression_string]` - -- The *channelname* is the name of the prototype from *chanproto*. This is -usually an ion channel, but in the example above you can also see a calcium -concentration pool defined. -- The *region_in_cell* is typically defined using wildcards, so that it -generalizes to any cell morphology. -For example, the plain wildcard `#` means to consider -all cell compartments. The wildcard `#dend#` means to consider all compartments with the string `dend` -somewhere in the name. Wildcards can be comma-separated, so -`#soma#,#dend#` means consider all compartments with either soma or dend in -their name. The naming in MOOSE is defined by the model file. Importantly, -in **.swc** files MOOSE generates names that respect the classification of -compartments into axon, soma, dendrite, and apical dendrite compartments -respectively. SWC files generate compartment names such as: - - soma_<number> - dend_<number> - apical_<number> - axon_<number> - -where the number is automatically assigned by the reader. In order to -select all dendritic compartments, for example, one would use *"#dend#"* -where the *"#"* acts as a wildcard to accept any string. -- The *parameter* is usually Gbar, the channel conductance density in *S/m^2*. -If *Gbar* is zero or less, then the system economizes by not incorporating this -channel mechanism in this part of the cell. Similarly, for calcium pools, if -the *tau* is below zero then the calcium pool object is simply not inserted -into this part of the cell. -- The *expression_string* defines the value of the parameter, such as Gbar. -This is typically a function of position in the cell. The expression evaluator -knows about several parameters of cell geometry. All units are in metres: - -+ *x*, *y* and *z* coordinates. -+ *g*, the geometrical distance from the soma -+ *p*, the path length from the soma, measured along the dendrites. -+ *dia*, the diameter of the dendrite. -+ *L*, The electrotonic length from the soma (no units). - -Along with these geometrical arguments, we make liberal use of the Heaviside -function H(x) to set up the channel distributions. The expression evaluator -also knows about pretty much all common algebraic, trignometric, and logarithmic -functions, should you wish to use these. - -Also note the two Moogli displays. The first is the calcium -concentration. The second is the membrane potential in each compartment. Easy! - - - -### Build a spiny neuron from a morphology file and put active channels in it. -This model is one step elaborated from the previous one, in that we now also -have dendritic spines. MOOSE lets one decorate a bare neuronal morphology file -with dendritic spines, specifying various geometric parameters of their -location. As before, we use an swc file for the morphology, and the same -ion channels and distribution. - - import moose - import pylab - import rdesigneur as rd - rdes = rd.rdesigneur( - chanProto = [ - ['./chans/hd.xml'], - ['./chans/kap.xml'], - ['./chans/kad.xml'], - ['./chans/kdr.xml'], - ['./chans/na3.xml'], - ['./chans/nax.xml'], - ['./chans/CaConc.xml'], - ['./chans/Ca.xml'] - ], - cellProto = [['./cells/h10.CNG.swc', 'elec']], - spineProto = [['makeActiveSpine()', 'spine']], - chanDistrib = [ - ["hd", "#dend#,#apical#", "Gbar", "50e-2*(1+(p*3e4))" ], - ["kdr", "#", "Gbar", "p < 50e-6 ? 500 : 100" ], - ["na3", "#soma#,#dend#,#apical#", "Gbar", "850" ], - ["nax", "#soma#,#axon#", "Gbar", "1250" ], - ["kap", "#axon#,#soma#", "Gbar", "300" ], - ["kap", "#dend#,#apical#", "Gbar", - "300*(H(100-p*1e6)) * (1+(p*1e4))" ], - ["Ca_conc", "#", "tau", "0.0133" ], - ["kad", "#soma#,#dend#,#apical#", "Gbar", "50" ], - ["Ca", "#", "Gbar", "50" ] - ], - spineDistrib = [['spine', '#dend#,#apical#', '20e-6', '1e-6']], - stimList = [['soma', '1', '.', 'inject', '(t>0.02) * 1e-9' ]], - plotList = [['#', '1', '.', 'Vm', 'Membrane potential'], - ['#', '1', 'Ca_conc', 'Ca', 'Ca conc (uM)']], - moogList = [['#', '1', 'Ca_conc', 'Ca', 'Calcium conc (uM)', 0, 120], - ['#', '1', '.', 'Vm', 'Soma potential']] - ) - - rdes.buildModel() - - moose.reinit() - rdes.displayMoogli( 0.0002, 0.023 ) - - -Spines are set up in a familiar way: we first define one (or more) prototype -spines, and then distribute these around the cell. Here is the prototype -string: - - [spine_proto, spinename] - -*spineProto*: This is typically a function. One can define one's own, -but there are several predefined ones in rdesigneur. All these define a -spine with the following parameters: - -- head diameter 0.5 microns -- head length 0.5 microns -- shaft length 1 micron -- shaft diameter of 0.2 microns -- RM = 1.0 ohm-metre square -- RA = 1.0 ohm-meter -- CM = 0.01 Farads per square metre. - -Here are the predefined spine prototypes: - -- *makePassiveSpine()*: This just makes a passive spine with the -default parameters -- *makeExcSpine()*: This makes a spine with NMDA and glu receptors, -and also a calcium pool. The NMDA channel feeds the Ca pool. -- *makeActiveSpine()*: This adds a Ca channel to the exc_spine. -and also a calcium pool. - -The spine distributions are specified in a familiar way for the first few -arguments, and then there are multiple (optional) spine-specific parameters: - -*[spinename, region_in_cell, spacing, spacing_distrib, size, size_distrib, angle, angle_distrib ]* - -Only the first two arguments are mandatory. - -- *spinename*: The prototype name -- *region_in_cell*: Usual wildcard specification of names of compartments in which to put the spines. -- *spacing*: Math expression to define spacing between spines. In the current implementation this evaluates to `1/probability_of_spine_per_unit_length`. -Defaults to 10 microns. Thus, there is a 10% probability of a spine insertion in every micron. This evaluation method has the drawback that it is possible to space spines rather too close to each other. If spacing is zero or less, no spines are inserted. -- *spacing_distrib*: Math expression for distribution of spacing. In the current implementation, this specifies the interval at which the system samples from the spacing probability above. Defaults to 1 micron. -- *size*: Linear scale factor for size of spine. All dimensions are scaled by this factor. The default spine head here is 0.5 microns in diameter and length. If the scale factor were to be 2, the volume would be 8 times as large. Defaults to 1.0. -- *size_distrib*: Range for size of spine. A random number R is computed in the range 0 to 1, and the final size used is `size + (R - 0.5) * size_distrib`. Defaults to 0.5 -- *angle*: This specifies the initial angle at which the spine sticks out of the dendrite. If all angles were zero, they would all point away from the soma. Defaults to 0 radians. -- *angle_distrib*: Specifies a random number to add to the initial angle. Defaults to 2 PI radians, so the spines come out in any direction. - -One may well ask why we are not using a Python dictionary to handle all -these parameters. Short answer is: terseness. Longer answer is that the -rdesigneur format is itself meant to be an intermediate form for an -eventual high-level, possibly XML-based multiscale modeling format. - - - -### Build a spiny neuron from a morphology file and put a reaction-diffusion system in it. -Rdesigneur is specially designed to take reaction systems with a dendrite, -a spine head, and a spine PSD compartment, and embed these systems into -neuronal morphologies. This example shows how this is done. - -The dendritic molecules diffuse along the dendrite -in the region specified by the *chemDistrib* keyword. In this case they are -placed on all apical and basal dendrites, but only at distances over -500 microns from the soma. The spine head and PSD -reaction systems are inserted only into spines within this same *chemDistrib* -zone. Diffusion coupling between dendrite, and each spine head and PSD is also -set up. -It takes a predefined chemical model file for Rdesigneur, which resides -in the `./chem` subdirectory. As in an earlier example, we turn off the -electrical calculations here as they are not needed. -Here we plot out the number of receptors on every single spine as a function -of time. - -(Documentation still to come here) - -### Make a full multiscale model with complex spiny morphology and electrical and chemical signaling. - -(Documentation still to come here) +----- + +# **Rdesigneur: Building multiscale models** + +Upi Bhalla + +Dec 28 2015. + +----- + +## Contents + + +## Introduction + +**Rdesigneur** (Reaction Diffusion and Electrical SIGnaling in NEURons) is an +interface to the multiscale modeling capabilities in MOOSE. It is designed +to build models incorporating biochemical signaling pathways in +dendrites and spines, coupled to electrical events in neurons. Rdesigneur +assembles models from predefined parts: it delegates the details to +specialized model definition formats. Rdesigneur combines one or more of +the following cell parts to build models: + +* Neuronal morphology +* Dendritic spines +* Ion channels +* Reaction systems + +Rdesigneur's main role is to specify how these are put together, including +assigning parameters to do so. Rdesigneur also helps with setting up the +simulation input and output. + +## Quick Start +Here we provide a few use cases, building up from a minimal model to a +reasonably complete multiscale model spanning chemical and electrical signaling. + +### Bare Rdesigneur: single passive compartment +If we don't provide any arguments at all to the Rdesigneur, it makes a model +with a single passive electrical compartment in the MOOSE path +`/model/elec/soma`. Here is how to do this: + + import moose + import rdesigneur as rd + rdes = rd.rdesigneur() + rdes.buildModel() + +To confirm that it has made a compartment with some default values we can add +a line: + + moose.showfields( rdes.soma ) + +This should produce the output: + + [ /model[0]/elec[0]/soma[0] ] + diameter = 0.0005 + fieldIndex = 0 + Ra = 7639437.26841 + y0 = 0.0 + Rm = 424413.177334 + index = 0 + numData = 1 + inject = 0.0 + initVm = -0.065 + Em = -0.0544 + y = 0.0 + numField = 1 + path = /model[0]/elec[0]/soma[0] + dt = 0.0 + tick = -2 + z0 = 0.0 + name = soma + Cm = 7.85398163398e-09 + x0 = 0.0 + Vm = -0.06 + className = ZombieCompartment + idValue = 465 + length = 0.0005 + Im = 1.3194689277e-08 + x = 0.0005 + z = 0.0 + + +### Simulate and display current pulse to soma +A more useful script would run and display the model. Rdesigneur can help with +the stimulus and the plotting. This simulation has the same passive +compartment, and current is injected as the simulation runs. +This script displays the membrane potential of the soma as it charges and +discharges. + + import moose + import rdesigneur as rd + rdes = rd.rdesigneur( + stimList = [['soma', '1', '.', 'inject', '(t>0.1 && t<0.2) * 2e-8']], + plotList = [['soma', '1', '.', 'Vm', 'Soma membrane potential']], + ) + rdes.buildModel() + moose.reinit() + moose.start( 0.3 ) + rdes.display() + +The *stimList* defines a stimulus. Each entry has five arguments: + + `[region_in_cell, region_expression, moose_object, parameter, expression_string]` + ++ `region_in_cell` specifies the objects to stimulate. Here it is just the + soma. ++ `region_expression` specifies a geometry based calculation to decide + whether to apply the stimulus. The value must be >0 for the stimulus + to be present. Here it is just 1. + `moose_object` specifies the simulation object to operate upon during + the stimulus. Here the `.` means that it is the soma itself. In other + models it might be a channel on the soma, or a synapse, and so on. ++ `parameter` specifies the simulation parameter on the moose object that + the stimulus will modify. Here it is + the injection current to the soma compartment. ++ `expression_string` calculates the value of the parameter, typically + as a function of time. Here we use the function + `(t>0.1 && t<0.2) * 2e-8` which evaluates as 2e-8 between the times of + 0.1 and 0.2 seconds. + +To summarise this, the *stimList* here means *inject a current of 20nA to the +soma between the times of 0.1 and 0.2 s*. + +The *plotList* defines what to plot. It has a similar set of arguments: + + `[region_in_cell, region_expression, moose_object, parameter, title_of_plot]` +These mean the same thing as for the stimList except for the title of the plot. + +The *rdes.display()* function causes the plots to be displayed. + + + +When we run this we see an initial depolarization as the soma settles from its +initial -65 mV to a resting Em = -54.4 mV. These are the original HH values, see +the example above. At t = 0.1 seconds there is another depolarization due +to the current injection, and at t = 0.2 seconds this goes back to the resting +potential. + +### HH Squid model in a single compartment +Here we put the Hodgkin-Huxley squid model channels into a passive compartment. +The HH channels are predefined as prototype channels for Rdesigneur, + + import moose + import pylab + import rdesigneur as rd + rdes = rd.rdesigneur( + chanProto = [['make_HH_Na()', 'Na'], ['make_HH_K()', 'K']], + chanDistrib = [ + ['Na', 'soma', 'Gbar', '1200' ], + ['K', 'soma', 'Gbar', '360' ]], + stimList = [['soma', '1', '.', 'inject', '(t>0.1 && t<0.2) * 1e-8' ]], + plotList = [['soma', '1', '.', 'Vm', 'Membrane potential']] + ) + + rdes.buildModel() + moose.reinit() + moose.start( 0.3 ) + rdes.display() + + +Here we introduce two new model specification lines: + ++ **chanProto**: This specifies which ion channels will be used in the + model. + Each entry here has two fields: the source of the channel definition, + and (optionally) the name of the channel. + In this example we specify two channels, an Na and a K channel using + the original Hodgkin-Huxley parameters. As the source of the channel + definition we use the name of the Python function that builds the + channel. The *make_HH_Na()* and *make_HH_K()* functions are predefined + but we can also specify our own functions for making prototypes. + We could also have specified the channel prototype using the name + of a channel definition file in ChannelML (a subset of NeuroML) format. ++ **chanDistrib**: This specifies *where* the channels should be placed + over the geometry of the cell. Each entry in the chanDistrib list + specifies the distribution of parameters for one channel using four + entries: + + `[object_name, region_in_cell, parameter, expression_string]` + + In this case the job is almost trivial, since we just have a single + compartment named *soma*. So the line + + `['Na', 'soma', 'Gbar', '1200' ]` + + means *Put the Na channel in the soma, and set its maximal + conductance density (Gbar) to 1200 Siemens/m^2*. + +As before we apply a somatic current pulse. Since we now have HH channels in +the model, this generates action potentials. + + + +### HH Squid model in an axon +Here we put the Hodgkin-Huxley squid model into a long compartment that is +subdivided into many segments, so that we can watch action potentials +propagate. Most of this example is boilerplate code to build a spiral axon. +There is a short *rdesigneur* segment that takes +the spiral axon prototype and populates it with channels, and sets up the +display. Later examples will show you how to read morphology files to specify +the neuronal geometry. + + import numpy as np + import moose + import pylab + import rdesigneur as rd + + numAxonSegments = 200 + comptLen = 10e-6 + comptDia = 1e-6 + RM = 1.0 + RA = 10.0 + CM = 0.01 + + def makeAxonProto(): + axon = moose.Neuron( '/library/axon' ) + prev = rd.buildCompt( axon, 'soma', RM = RM, RA = RA, CM = CM, dia = 10e-6, x=0, dx=comptLen) + theta = 0 + x = comptLen + y = 0.0 + + for i in range( numAxonSegments ): + dx = comptLen * np.cos( theta ) + dy = comptLen * np.sin( theta ) + r = np.sqrt( x * x + y * y ) + theta += comptLen / r + compt = rd.buildCompt( axon, 'axon' + str(i), RM = RM, RA = RA, CM = CM, x = x, y = y, dx = dx, dy = dy, dia = comptDia ) + moose.connect( prev, 'axial', compt, 'raxial' ) + prev = compt + x += dx + y += dy + + return axon + + moose.Neutral( '/library' ) + makeAxonProto() + + rdes = rd.rdesigneur( + chanProto = [['make_HH_Na()', 'Na'], ['make_HH_K()', 'K']], + cellProto = [['elec','axon']], + chanDistrib = [ + ['Na', '#', 'Gbar', '1200' ], + ['K', '#', 'Gbar', '360' ]], + stimList = [['soma', '1', '.', 'inject', '(t>0.01 && t<0.2) * 2e-11' ]], + plotList = [['soma', '1', '.', 'Vm', 'Membrane potential']], + moogList = [['#', '1', '.', 'Vm', 'Vm (mV)']] +) + + rdes.buildModel() + moose.reinit() + + rdes.displayMoogli( 0.00005, 0.05, 0.0 ) + + + +Note how we explicitly create the prototype axon on '/library', and then +specify it using the *cellProto* line in the rdesigneur. +The moogList specifies the 3-D display. See below for how to set up and use +these displays. + +### HH Squid model in a myelinated axon +This is a curious cross-species chimera model, where we embed the HH equations +into a myelinated example model. As for the regular axon above, most of the +example is boilerplate setup code. Note how we restrict the HH channels to the +nodes of Ranvier using a conditional test for the diameter of the axon +segment. + + + import numpy as np + import moose + import pylab + import rdesigneur as rd + + numAxonSegments = 405 + nodeSpacing = 100 + comptLen = 10e-6 + comptDia = 2e-6 # 2x usual + RM = 100.0 # 10x usual + RA = 5.0 + CM = 0.001 # 0.1x usual + + nodeDia = 1e-6 + nodeRM = 1.0 + nodeCM = 0.01 + + def makeAxonProto(): + axon = moose.Neuron( '/library/axon' ) + x = 0.0 + y = 0.0 + prev = rd.buildCompt( axon, 'soma', RM = RM, RA = RA, CM = CM, dia = 10e-6, x=0, dx=comptLen) + theta = 0 + x = comptLen + + for i in range( numAxonSegments ): + r = comptLen + dx = comptLen * np.cos( theta ) + dy = comptLen * np.sin( theta ) + r = np.sqrt( x * x + y * y ) + theta += comptLen / r + if i % nodeSpacing == 0: + compt = rd.buildCompt( axon, 'axon' + str(i), RM = nodeRM, RA = RA, CM = nodeCM, x = x, y = y, dx = dx, dy = dy, dia = nodeDia ) + else: + compt = rd.buildCompt( axon, 'axon' + str(i), RM = RM, RA = RA, CM = CM, x = x, y = y, dx = dx, dy = dy, dia = comptDia ) + moose.connect( prev, 'axial', compt, 'raxial' ) + prev = compt + x += dx + y += dy + + return axon + + moose.Neutral( '/library' ) + makeAxonProto() + + rdes = rd.rdesigneur( + chanProto = [['make_HH_Na()', 'Na'], ['make_HH_K()', 'K']], + cellProto = [['elec','axon']], + chanDistrib = [ + ['Na', '#', 'Gbar', '12000 * (dia < 1.5e-6)' ], + ['K', '#', 'Gbar', '3600 * (dia < 1.5e-6)' ]], + stimList = [['soma', '1', '.', 'inject', '(t>0.01 && t<0.2) * 1e-10' ]], + plotList = [['soma,axon100,axon200,axon300,axon400', '1', '.', 'Vm', 'Membrane potential']], + moogList = [['#', '1', '.', 'Vm', 'Vm (mV)']] + ) + + rdes.buildModel() + + for i in moose.wildcardFind( "/model/elec/#/Na" ): + print i.parent.name, i.Gbar + + moose.reinit() + + rdes.displayMoogli( 0.00005, 0.05, 0.0 ) + + +When you run the example, keep an eye out for a few things: + ++ **saltatory conduction:** This is the way the action potential jumps + from one node of Ranvier to the next. Between the nodes it is just + passive propagation. ++ **Failure to propagate:** Observe that the second and fourth action + potentials fails to trigger propagation along the axon. Here we have + specially tuned the model properties so that this happens. With a larger + RA of 10.0, the model will be more reliable. ++ **Speed:** Compare the propagation speed with the previous, + unmyelinated axon. Note that the current model is larger! + + + + + +### Reaction system in a single compartment +Here we use the compartment as a place in which to embed a chemical model. +The chemical oscillator model is predefined in the rdesigneur prototypes. + + import moose + import pylab + import rdesigneur as rd + rdes = rd.rdesigneur( + turnOffElec = True, + diffusionLength = 1e-3, # Default diffusion length is 2 microns + chemProto = [['makeChemOscillator()', 'osc']], + chemDistrib = [['osc', 'soma', 'install', '1' ]], + plotList = [['soma', '1', 'dend/a', 'conc', 'a Conc'], + ['soma', '1', 'dend/b', 'conc', 'b Conc']] + ) + rdes.buildModel() + b = moose.element( '/model/chem/dend/b' ) + b.concInit *= 5 + moose.reinit() + moose.start( 200 ) + + rdes.display() + +In this special case we set the turnOffElec flag to True, so that Rdesigneur +only sets up chemical and not electrical calculations. This makes the +calculations much faster, since we disable electrical calculations and delink +chemical calculations from them. + +We also have a line which sets the `diffusionLength` to 1 mm, so that it is +bigger than the 0.5 mm squid axon segment in the default compartment. If you +don't do this the system will subdivide the compartment into the default +2 micron voxels for the purposes of putting in a reaction-diffusion system. +We discuss this case below. + +Note how the *plotList* is done here. To remind you, each entry has five +arguments + + [region_in_cell, region_expression, moose_object, parameter, title_of_plot] + +The change from the earlier usage is that the `moose_object` now refers to +a chemical entity, in this example the molecule *dend/a*. The simulator +builds a default chemical compartment named *dend* to hold the reactions +defined in the *chemProto*. What we do in this plot is to select molecule *a* +sitting in *dend*, and plot its concentration. Then we do this again for +molecule *b*. + +After the model is built, we add a couple of lines to change the +initial concentration of the molecular pool *b*. Note its full path within +MOOSE: */model/chem/dend/b*. It is scaled up 5x to give rise to slowly +decaying oscillations. + + + +### Reaction-diffusion system + +In order to see what a reaction-diffusion system looks like, delete the +`diffusionLength` expression in the previous example and add a couple of lines +to set up 3-D graphics for the reaction-diffusion product: + + import moose + import pylab + import rdesigneur as rd + rdes = rd.rdesigneur( + turnOffElec = True, + chemProto = [['makeChemOscillator()', 'osc']], + chemDistrib = [['osc', 'soma', 'install', '1' ]], + plotList = [['soma', '1', 'dend/a', 'conc', 'Concentration of a'], + ['soma', '1', 'dend/b', 'conc', 'Concentration of b']], + moogList = [['soma', '1', 'dend/a', 'conc', 'a Conc', 0, 360 ]] + ) + + rdes.buildModel() + bv = moose.vec( '/model/chem/dend/b' ) + bv[0].concInit *= 2 + bv[-1].concInit *= 2 + moose.reinit() + + rdes.displayMoogli( 1, 400, 0.001 ) + + + +This is the line we deleted. + + diffusionLength = 1e-3, + +With this change we permit +*rdesigneur* to use the default diffusion length of 2 microns. +The 500-micron axon segment is now subdivided into 250 voxels, each of +which has a reaction system and diffusing molecules. To make it more +picturesque, we have added a line after the plotList, to display the outcome +in 3-D: + + moogList = [['soma', '1', 'dend/a', 'conc', 'a Conc', 0, 360 ]] + +This line says: take the model compartments defined by `soma` as the region +to display, do so throughout the the geometry (the `1` signifies this), and +over this range find the chemical entity defined by `dend/a`. For each `a` +molecule, find the `conc` and dsiplay it. There are two optional arguments, +`0` and `360`, which specify the low and high value of the displayed variable. + +In order to initially break the symmetry of the system, we change the initial +concentration of molecule b at each end of the cylinder: + + bv[0].concInit *= 2 + bv[-1].concInit *= 2 + +If we didn't do this the entire system would go through a few cycles of +decaying oscillation and then reach a boring, spatially uniform, steady state. +Try putting an initial symmetry break elsewhere to see what happens. + +To display the concenctration changes in the 3-D soma as the simulation runs, +we use the line + + `rdes.displayMoogli( 1, 400, 0.001 )` + +The arguments mean: *displayMoogli( frametime, runtime, rotation )* +Here, + + frametime = time by which simulation advances between display updates + runtime = Total simulated time + rotation = angle by which display rotates in each frame, in radians. + +When we run this, we first get a 3-D display with the oscillating +reaction-diffusion system making its way inward from the two ends. After the +simulation ends the plots for all compartments for the whole run come up. + + + + +### Primer on using the 3-D MOOGLI display +Here is a short primer on the 3-D display controls. + +- *Roll, pitch, and yaw*: Use the letters *r*, *p*, and *y*. To rotate +backwards, use capitals. +- *Zoom out and in*: Use the *,* and *.* keys, or their upper-case equivalents, +*<* and *>*. Easier to remember if you think in terms of the upper-case. +- *Left/right/up/down*: Arrow keys. +- *Quit*: control-q or control-w. +- You can also use the mouse or trackpad to control most of the above. +- By default rdesigneur gives Moogli a small rotation each frame. It is the +*rotation* argument in the line: + + `displayMoogli( frametime, runtime, rotation )` + +These controls operate over and above this rotation, but the rotation +continues. If you set the rotation to zero you can, with a suitable flick of +the mouse, get the image to rotate in any direction you choose as long as the +window is updating. + +### Make a toy multiscale model with electrical and chemical signaling. +Now we put together chemical and electrical models. In this toy model we have an +HH-squid type single compartment electrical model, cohabiting with a chemical +oscillator. The chemical oscillator regulates K+ channel amounts, and the +average membrane potential regulates the amounts of a reactant in the +chemical oscillator. This is a recipe for some strange firing patterns. + + import moose + import pylab + import rdesigneur as rd + rdes = rd.rdesigneur( + # We want just one compartment so we set diffusion length to be + # bigger than the 0.5 mm HH axon compartment default. + diffusionLength = 1e-3, + chanProto = [['make_HH_Na()', 'Na'], ['make_HH_K()', 'K']], + chanDistrib = [ + ['Na', 'soma', 'Gbar', '1200' ], + ['K', 'soma', 'Gbar', '360' ]], + chemProto = [['makeChemOscillator()', 'osc']], + chemDistrib = [['osc', 'soma', 'install', '1' ]], + # These adaptor parameters give interesting-looking but + # not particularly physiological behaviour. + adaptorList = [ + [ 'dend/a', 'conc', 'Na', 'modulation', 1, -5.0 ], + [ 'dend/b', 'conc', 'K', 'modulation', 1, -0.2], + [ 'dend/b', 'conc', '.', 'inject', -1.0e-7, 4e-7 ], + [ '.', 'Vm', 'dend/s', 'conc', 2.5, 20.0 ] + ], + plotList = [['soma', '1', 'dend/a', 'conc', 'a Conc'], + ['soma', '1', 'dend/b', 'conc', 'b Conc'], + ['soma', '1', 'dend/s', 'conc', 's Conc'], + ['soma', '1', 'Na', 'Gk', 'Na Gk'], + ['soma', '1', '.', 'Vm', 'Membrane potential'] + ] + ) + + rdes.buildModel() + moose.reinit() + moose.start( 250 ) # Takes a few seconds to run this. + + rdes.display() + +We've already modeled the HH squid model and the oscillator individually, +and you should recognize the parts of those models above. +The new section that makes this work the *adaptorList* which specifies how +the electrical and chemical parts talk to each other. This entirely +fictional set of interactions goes like this: + + [ 'dend/a', 'conc', 'Na', 'modulation', 1, -5.0 ] + ++ *dend/a*: The originating variable comes from the 'a' pool on the + 'dend' compartment. + + *conc*: This is the originating variable name on the 'a' pool. + + *Na*: This is the target variable + + *modulation*: scale the Gbar of Na up and down. Use 'modulation' + rather than direct assignment of Gbar since Gbar is different for + each differently-sized compartment. + + *1*: This is the initial offset + + *-5.0*: This is the scaling from the input to the parameter updated + in the simulation. + +A similar set of adaptor entries couple the molecule *dend/b* to the +K channel, *dend/b* again to the current injection into the soma, and the +membrane potential to the concentration of *dend/s*. + + + + +### Morphology: Load .swc morphology file and view it +Here we build a passive model using a morphology file in the .swc file format +(as used by NeuroMorpho.org). The morphology file is predefined for Rdesigneur +and resides in the +directory `./cells`. We apply a somatic current pulse, and view +the somatic membrane potential in a plot, as before. +To make things interesting we display the morphology in 3-D upon which we +represent the membrane potential as colors. + + import moose + import rdesigneur as rd + rdes = rd.rdesigneur( + cellProto = [['./cells/h10.CNG.swc', 'elec']], + stimList = [['soma', '1', '.', 'inject', 't * 25e-9' ]], + plotList = [['#', '1', '.', 'Vm', 'Membrane potential'], + ['#', '1', 'Ca_conc', 'Ca', 'Ca conc (uM)']], + moogList = [['#', '1', '.', 'Vm', 'Soma potential']] + ) + + rdes.buildModel() + + moose.reinit() + rdes.displayMoogli( 0.0002, 0.1 ) + +Here the new concept is the cellProto line, which loads in the specified cell +model: + + `[ filename, cellname ]` + +The system recognizes the filename extension and builds a model from the swc +file. It uses the cellname **elec** in this example. + +We use a similar line as in the reaction-diffusion example, to build up a +Moogli display of the cell model: + + `moogList = [['#', '1', '.', 'Vm', 'Soma potential']]` + +Here we have: + + *#*: the path to use for selecting the compartments to display. + This wildcard means use all compartments. + *1*: The expression to use for the compartments. Again, `1` means use + all of them. + *.*: Which object in the compartment to display. Here we are using the + compartment itself, so it is just a dot. + *Vm*: Field to display + *Soma potential*: Title for display. + + + +### Build an active neuron model by putting channels into a morphology file +We load in a morphology file and distribute voltage-gated ion channels over +the neuron. Here the voltage-gated channels are obtained from a number of +channelML files, located in the `./channels` subdirectory. Since we have a +spatially extended neuron, we need to specify the spatial distribution of +channel densities too. + + + import moose + import rdesigneur as rd + rdes = rd.rdesigneur( + chanProto = [ + ['./chans/hd.xml'], + ['./chans/kap.xml'], + ['./chans/kad.xml'], + ['./chans/kdr.xml'], + ['./chans/na3.xml'], + ['./chans/nax.xml'], + ['./chans/CaConc.xml'], + ['./chans/Ca.xml'] + ], + cellProto = [['./cells/h10.CNG.swc', 'elec']], + chanDistrib = [ \ + ["hd", "#dend#,#apical#", "Gbar", "50e-2*(1+(p*3e4))" ], + ["kdr", "#", "Gbar", "p < 50e-6 ? 500 : 100" ], + ["na3", "#soma#,#dend#,#apical#", "Gbar", "850" ], + ["nax", "#soma#,#axon#", "Gbar", "1250" ], + ["kap", "#axon#,#soma#", "Gbar", "300" ], + ["kap", "#dend#,#apical#", "Gbar", + "300*(H(100-p*1e6)) * (1+(p*1e4))" ], + ["Ca_conc", "#", "tau", "0.0133" ], + ["kad", "#soma#,#dend#,#apical#", "Gbar", "50" ], + ["Ca", "#", "Gbar", "50" ] + ], + stimList = [['soma', '1', '.', 'inject', '(t>0.02) * 1e-9' ]], + plotList = [['#', '1', '.', 'Vm', 'Membrane potential'], + ['#', '1', 'Ca_conc', 'Ca', 'Ca conc (uM)']], + moogList = [['#', '1', 'Ca_conc', 'Ca', 'Calcium conc (uM)', 0, 120], + ['#', '1', '.', 'Vm', 'Soma potential']] + ) + + rdes.buildModel() + + moose.reinit() + rdes.displayMoogli( 0.0002, 0.052 ) + + +Here we make more extensive use of two concepts which we've already seen from +the single compartment squid model: + +1. *chanProto*: This defines numerous channels, each of which is of the form: + + `[ filename ]` + + or + + `[ filename, channelname ]` + +If the *channelname* is not specified the system uses the last part of the +channel name, before the filetype suffix. + +2. *chanDistrib*: This defines the spatial distribution of each channel type. +Each line is of a form that should be familiar now: + + `[channelname, region_in_cell, parameter, expression_string]` + +- The *channelname* is the name of the prototype from *chanproto*. This is +usually an ion channel, but in the example above you can also see a calcium +concentration pool defined. +- The *region_in_cell* is typically defined using wildcards, so that it +generalizes to any cell morphology. +For example, the plain wildcard `#` means to consider +all cell compartments. The wildcard `#dend#` means to consider all compartments with the string `dend` +somewhere in the name. Wildcards can be comma-separated, so +`#soma#,#dend#` means consider all compartments with either soma or dend in +their name. The naming in MOOSE is defined by the model file. Importantly, +in **.swc** files MOOSE generates names that respect the classification of +compartments into axon, soma, dendrite, and apical dendrite compartments +respectively. SWC files generate compartment names such as: + + soma_<number> + dend_<number> + apical_<number> + axon_<number> + +where the number is automatically assigned by the reader. In order to +select all dendritic compartments, for example, one would use *"#dend#"* +where the *"#"* acts as a wildcard to accept any string. +- The *parameter* is usually Gbar, the channel conductance density in *S/m^2*. +If *Gbar* is zero or less, then the system economizes by not incorporating this +channel mechanism in this part of the cell. Similarly, for calcium pools, if +the *tau* is below zero then the calcium pool object is simply not inserted +into this part of the cell. +- The *expression_string* defines the value of the parameter, such as Gbar. +This is typically a function of position in the cell. The expression evaluator +knows about several parameters of cell geometry. All units are in metres: + ++ *x*, *y* and *z* coordinates. ++ *g*, the geometrical distance from the soma ++ *p*, the path length from the soma, measured along the dendrites. ++ *dia*, the diameter of the dendrite. ++ *L*, The electrotonic length from the soma (no units). + +Along with these geometrical arguments, we make liberal use of the Heaviside +function H(x) to set up the channel distributions. The expression evaluator +also knows about pretty much all common algebraic, trignometric, and logarithmic +functions, should you wish to use these. + +Also note the two Moogli displays. The first is the calcium +concentration. The second is the membrane potential in each compartment. Easy! + + + +### Build a spiny neuron from a morphology file and put active channels in it. +This model is one step elaborated from the previous one, in that we now also +have dendritic spines. MOOSE lets one decorate a bare neuronal morphology file +with dendritic spines, specifying various geometric parameters of their +location. As before, we use an swc file for the morphology, and the same +ion channels and distribution. + + import moose + import pylab + import rdesigneur as rd + rdes = rd.rdesigneur( + chanProto = [ + ['./chans/hd.xml'], + ['./chans/kap.xml'], + ['./chans/kad.xml'], + ['./chans/kdr.xml'], + ['./chans/na3.xml'], + ['./chans/nax.xml'], + ['./chans/CaConc.xml'], + ['./chans/Ca.xml'] + ], + cellProto = [['./cells/h10.CNG.swc', 'elec']], + spineProto = [['makeActiveSpine()', 'spine']], + chanDistrib = [ + ["hd", "#dend#,#apical#", "Gbar", "50e-2*(1+(p*3e4))" ], + ["kdr", "#", "Gbar", "p < 50e-6 ? 500 : 100" ], + ["na3", "#soma#,#dend#,#apical#", "Gbar", "850" ], + ["nax", "#soma#,#axon#", "Gbar", "1250" ], + ["kap", "#axon#,#soma#", "Gbar", "300" ], + ["kap", "#dend#,#apical#", "Gbar", + "300*(H(100-p*1e6)) * (1+(p*1e4))" ], + ["Ca_conc", "#", "tau", "0.0133" ], + ["kad", "#soma#,#dend#,#apical#", "Gbar", "50" ], + ["Ca", "#", "Gbar", "50" ] + ], + spineDistrib = [['spine', '#dend#,#apical#', '20e-6', '1e-6']], + stimList = [['soma', '1', '.', 'inject', '(t>0.02) * 1e-9' ]], + plotList = [['#', '1', '.', 'Vm', 'Membrane potential'], + ['#', '1', 'Ca_conc', 'Ca', 'Ca conc (uM)']], + moogList = [['#', '1', 'Ca_conc', 'Ca', 'Calcium conc (uM)', 0, 120], + ['#', '1', '.', 'Vm', 'Soma potential']] + ) + + rdes.buildModel() + + moose.reinit() + rdes.displayMoogli( 0.0002, 0.023 ) + + +Spines are set up in a familiar way: we first define one (or more) prototype +spines, and then distribute these around the cell. Here is the prototype +string: + + [spine_proto, spinename] + +*spineProto*: This is typically a function. One can define one's own, +but there are several predefined ones in rdesigneur. All these define a +spine with the following parameters: + +- head diameter 0.5 microns +- head length 0.5 microns +- shaft length 1 micron +- shaft diameter of 0.2 microns +- RM = 1.0 ohm-metre square +- RA = 1.0 ohm-meter +- CM = 0.01 Farads per square metre. + +Here are the predefined spine prototypes: + +- *makePassiveSpine()*: This just makes a passive spine with the +default parameters +- *makeExcSpine()*: This makes a spine with NMDA and glu receptors, +and also a calcium pool. The NMDA channel feeds the Ca pool. +- *makeActiveSpine()*: This adds a Ca channel to the exc_spine. +and also a calcium pool. + +The spine distributions are specified in a familiar way for the first few +arguments, and then there are multiple (optional) spine-specific parameters: + +*[spinename, region_in_cell, spacing, spacing_distrib, size, size_distrib, angle, angle_distrib ]* + +Only the first two arguments are mandatory. + +- *spinename*: The prototype name +- *region_in_cell*: Usual wildcard specification of names of compartments in which to put the spines. +- *spacing*: Math expression to define spacing between spines. In the current implementation this evaluates to `1/probability_of_spine_per_unit_length`. +Defaults to 10 microns. Thus, there is a 10% probability of a spine insertion in every micron. This evaluation method has the drawback that it is possible to space spines rather too close to each other. If spacing is zero or less, no spines are inserted. +- *spacing_distrib*: Math expression for distribution of spacing. In the current implementation, this specifies the interval at which the system samples from the spacing probability above. Defaults to 1 micron. +- *size*: Linear scale factor for size of spine. All dimensions are scaled by this factor. The default spine head here is 0.5 microns in diameter and length. If the scale factor were to be 2, the volume would be 8 times as large. Defaults to 1.0. +- *size_distrib*: Range for size of spine. A random number R is computed in the range 0 to 1, and the final size used is `size + (R - 0.5) * size_distrib`. Defaults to 0.5 +- *angle*: This specifies the initial angle at which the spine sticks out of the dendrite. If all angles were zero, they would all point away from the soma. Defaults to 0 radians. +- *angle_distrib*: Specifies a random number to add to the initial angle. Defaults to 2 PI radians, so the spines come out in any direction. + +One may well ask why we are not using a Python dictionary to handle all +these parameters. Short answer is: terseness. Longer answer is that the +rdesigneur format is itself meant to be an intermediate form for an +eventual high-level, possibly XML-based multiscale modeling format. + + + +### Build a spiny neuron from a morphology file and put a reaction-diffusion system in it. +Rdesigneur is specially designed to take reaction systems with a dendrite, +a spine head, and a spine PSD compartment, and embed these systems into +neuronal morphologies. This example shows how this is done. + +The dendritic molecules diffuse along the dendrite +in the region specified by the *chemDistrib* keyword. In this case they are +placed on all apical and basal dendrites, but only at distances over +500 microns from the soma. The spine head and PSD +reaction systems are inserted only into spines within this same *chemDistrib* +zone. Diffusion coupling between dendrite, and each spine head and PSD is also +set up. +It takes a predefined chemical model file for Rdesigneur, which resides +in the `./chem` subdirectory. As in an earlier example, we turn off the +electrical calculations here as they are not needed. +Here we plot out the number of receptors on every single spine as a function +of time. + +(Documentation still to come here) + +### Make a full multiscale model with complex spiny morphology and electrical and chemical signaling. + +(Documentation still to come here) -- GitLab