Neuronal models in various formats can be loaded and simulated in the MOOSE Graphical User Interface. The GUI displays the neurons in 3D, and allows visual selection and editing of neuronal properties. Plotting and visualization of activity proceeds concurrently with the simulation. Support for creating and editing channels, morphology and networks is planned for the future.
Neurons are modelled as equivalent electrical circuits. The morphology of a neuron can be broken into isopotential compartments connected by axial resistances R
a
denoting the cytoplasmic resistance. In each compartment, the neuronal membrane is represented as a capacitance C
m
with a shunt leak resistance R
m
. Electrochemical gradient (due to ion pumps) across the leaky membrane causes a voltage drive E
m
, that hyperpolarizes the inside of the cell membrane compared to the outside.
Each voltage dependent ion channel, present on the membrane, is modelled as a voltage dependent conductance G
k
with gating kinetics, in series with an electrochemical voltage drive (battery) E
k
, across the membrane capacitance C
m
, as in the figure below.
Equivalent circuit of neuronal compartments
Neurons fire action potentials / spikes (sharp rise and fall of membrane potential V
m
) due to voltage dependent channels. These result in opening of excitatory / inhibitory synaptic channels (conductances with batteries, similar to voltage gated channels) on other connected neurons in the network.
MOOSE can handle large networks of detailed neurons, each with complicated channel dynamics. Further, MOOSE can integrate chemical signalling with electrical activity. Presently, creating and simulating these requires PyMOOSE scripting, but these will be incorporated into the GUI in the future.
To understand channel kinetics and neuronal action potentials, run the Squid Axon demo installed along with MOOSEGUI and consult its help/tutorial.
Read more about compartmental modelling in the first few chapters of the Book of Genesis.
Models can be defined in NeuroML, an XML format which is mostly supported across simulators. Channels, neuronal morphology (compartments), and networks can be specified using various levels of NeuroML, namely ChannelML, MorphML and NetworkML. Importing of cell models in the GENESIS .p
format is supported for backwards compatibitility.
~/moose/Demos/neuroml/CA1PyramidalCell/CA1.net.xml
, which is a model of hippocampal CA1 pyramidal cell Migliore et al, 2005 (exported using neuroConstruct). A 3D rendering of the neuron appears in GL Window
tab.Properties
(which you can modify) will appear on the right pane.Plot configuration
in the right pane, Plot field
V
m
will be selected by default. Click New plot tab
to create a blank plot and Add field
to assign V
m
of this compartment to the plot.Run
button. By default, the model contains a current injection in the soma, which causes action potentials that decay into the dendrites.GL Window
tab.Plot Window
.User interface help is available at Help -> User Interface
. Here we delve into neuronal simulations.
MOOSEGUI uses SI units throughout.
Some salient properties of neuronal building blocks in MOOSE are described below. Variables that are updated at every simulation time step are are listed dynamical. Rest are parameters.
Compartment
When you select a compartment, you can view and edit its properties in the right pane. V
m
and I
m
are plot-able.
V
m
: dynamical membrane potential (across C
m
) in Volts.C
m
: membrane capacitance in Farads.E
m
: membrane leak potential in Volts due to the electrochemical gradient setup by ion pumps.I
m
: dynamical current in Amperes across the membrane via leak resistance R
m
.inject
: current in Amperes injected externally into the compartment.initVm
: initial V
m
in Volts.R
m
: membrane leak resistance in Ohms due to leaky channels.diameter
: diameter of the compartment in metres.length
: length of the compartment in metres.After selecting a compartment, you can click See children
on the right pane to list its membrane channels, Ca pool, etc.
HHChannel
Hodgkin-Huxley channel with voltage dependent dynamical gates.
Gbar
: peak channel conductance in Siemens.E
k
: reversal potential of the channel, due to electrochemical gradient of the ion(s) it allows.G
k
: dynamical conductance of the channel in Siemens.
Gk(t) = Gbar × X(t)Xpower × Y(t)Ypower × Z(t)Zpower
I
k
: dynamical current through the channel into the neuron in Amperes.
Ik(t) = Gk(t) × (Ek-Vm(t))
X
, Y
, Z
: dynamical gating variables (range 0.0
to 1.0
) that may turn on or off as voltage increases with different time constants.
Here,dX(t)/dt = Xinf/τ - X(t)/τ
X
inf
and τ
are typically sigmoidal/linear/linear-sigmoidal functions of membrane potential V
m
, which are described in a ChannelML file and presently not editable from MOOSEGUI. Thus, a gate may open (X
inf
(V
m
) → 1)
or close (X
inf
(V
m
) → 0)
on increasing V
m
, with time constant τ(V
m
)
.Xpower
, Ypower
, Zpower
: powers to which gates are raised in the G
k
(t)
formula above.
HHChannel2D
The Hodgkin-Huxley channel2D can have the usual voltage dependent dynamical gates, and also gates that dependent on voltage and an ionic concentration, as for say Ca-dependent K conductance. It has the properties of HHChannel above, and a few more like Xindex
as in the GENESIS tab2Dchannel reference.
Ca
: dynamical Ca concentration in the pool in units mM
( i.e., mol/m
3
).
d[Ca2+]/dt = B × ICa - [Ca2+]/τ
CaBasal
/Ca_base
: Base Ca concentration to which the Ca decaystau
: time constant with which the Ca concentration decays to the base Ca level.B
: constant in the [Ca
2+
]
equation above.thick
: thickness of the Ca shell within the cell membrane which is used to calculate B
(see Chapter 19 of Book of GENESIS.)
Cerebellar granule cell
File -> Load ->
~/moose/Demos/neuroml/GranuleCell/GranuleCell.net.xml
This is a single compartment Cerebellar granule cell with a variety of channels Maex, R. and De Schutter, E., 1997 (exported from http://www.neuroconstruct.org/
). Click on its soma, and See children for its list of channels. Vary the Gbar
of these channels to obtain regular firing, adapting and bursty behaviour (may need to increase tau of the Ca pool).
Purkinje cell
File -> Load ->
~/moose/Demos/neuroml/PurkinjeCell/Purkinje.net.xml
This is a purely passive cell, but with extensive morphology [De Schutter, E. and Bower, J. M., 1994] (exported from http://www.neuroconstruct.org/
). The channel specifications are in an obsolete ChannelML format which MOOSE does not support.
Olfactory bulb subnetwork
File -> Load ->
~/moose/Demos/neuroml/OlfactoryBulb/numgloms2_seed100.0_decimated.xml
This is a pruned and decimated version of a detailed network model of the Olfactory bulb [Gilra A. and Bhalla U., in preparation] without channels and synaptic connections. We hope to post the ChannelML specifications of the channels and synapses soon.
All channels cell
File -> Load ->
~/moose/Demos/neuroml/allChannelsCell/allChannelsCell.net.xml
This is the Cerebellar granule cell as above, but with loads of channels from various cell types (exported from http://www.neuroconstruct.org/
). Play around with the channel properties to see what they do. You can also edit the ChannelML files in ~/moose/Demos/neuroml/allChannelsCell/cells_channels/
to experiment further.
NeuroML python scripts
In directory ~/moose/Demos/neuroml/GranuleCell
, you can run python FvsI_Granule98.py
which plots firing rate vs injected current for the granule cell. Consult this python script to see how to read in a NeuroML model and to set up simulations. There are ample snippets in ~/moose/Demos/snippets
too.