Author: Ronald van Elburg (RonaldAJ at vanElburg eu)
NEURON, Matlab and shell scripts for the paper:
R.A.J. van Elburg and Arjen van Ooyen (2010) `Impact of dendritic size and
dendritic topology on burst firing in pyramidal cells',
PLoS Comput Biol 6(5): e1000781. doi:10.1371/journal.pcbi.1000781.
!!! Contains the MultipleRunControl a new native parameter scanning
!!! tool for NEURON.
!!! MultipleRunControl code and readme can be found in the /hoc/mrc
!!! directory.
This software is released under the GNU GPL version 3:
http://www.gnu.org/copyleft/gpl.html
Purpose and Method:
This code was written to systematically investigate which of the
physical parameters controlled by dendritic morphology underlies the
differences in spiking behaviour observed in different realizations of
the 'ping-pong'-model introduced by Mainen and Sejnowski (1). Their
paper contains two variants of this dynamics one implemented on full
morphologies, on which we based the models found in the main model
file modelCellReConstruction.hoc and one reduced model on which we
based the models in modelSimplifiedCells.hoc but to which we added
topology as in earlier work by van Ooyen et al. (2,3). Structurally
varying dendritic topology and length in the simplified model allows
us to separate out the physical parameters derived from morphology
underlying burst firing. The presence of bursting is evaluated using a
measure introduced earlier by us (4) and reintroduced in the
accompanying paper, which determines whether or not the spike
intervals are drawn alternatingly from different distributions. To
perform the parameter scans we created a new NEURON tool the Multiple
Run Control which can be used to easily set up a parameter scan and
write the simulation results to file. In the directory /hoc/mrc a
separate readme describe the usage of the multiple run control can be
found.
Main scientific result of the accompanying paper:
The arrival time of the return current, as measured provisionally by
the average electrotonic path length, determines whether the pyramidal
cell (with ping-pong model dynamics) will burst or fire single
spikes. This goes against the common belief that input conductance is
the determining physical parameter, as we explicitly show .
Organization of the code:
The code has been adapted from the original code to guard against
starting up time consuming simulations, to achieve this we limited the
run time and the number of points included in the scans. More
specifically we have often disabled the scanning of parameters using
dendritic stimulation, this can easily be switched back on, either
using the Multiple Run Control GUI popping up or by editing the
scripts . Furthermore we have only included part of the code used for
the paper, we were lead by three considerations for including code: is
it needed to reproduce the main findings of the paper, are there
algoritmic details involved important for checking the result, does it
demonstrate an important feature of the Multiple Run Control. If the
answer to one of these questions was yes we included the code.
Howto rerun some of the original experiments:
Make sure a compiled version of the mod-files is available in the
simulations directory. Start a terminal and cd to simulations
directory. (Indicated times where needed for running the code
using NEURON 7.0 on a 1.86 GHz, (8 core), 2.5 GB computer, using
linux kernel 2.6.30)
Warning: Because of the parameter and time scans involved
rerunning the experiments is time consuming, especially the
parameter scans run on the simplified topologies, can easily take
days and in the case of the meta parameters scans, despite
application of poormans paralization, the whole experiment easily
takes a week.
Pruning (Figure 3):
Part I: `Producing spike data and membrane voltage traces
(This step may take about 40-60 minutes.)
step 1: nrngui Pruning.ses
step 2: On the multiple run control press `Loop Run'
step 3: type quit() on the command line or use NEURON
file menu to quit NEURON.
Part II: Analysing the data
step 4: start matlab and open and run Pruning.m in the
simulations directory
Remarks:
- Full figure reproduction requires generation of traces
under dendritic stimulation aswell. On the multiple run
control press `Loop Params', select `Edit' and double
click on `bDendriticStimulation' and change the numbers
from `0 0 1 0 0 0' to `0 1 1 0 0 0'. Before pressing the
`Loop Run' button again make sure to empty the
Pruning\Results directory.
- Postscript figures of all the morphologies will
generated if in the Pruning.ses script bPrintTree is set
to 1.
- Figure 301 shows pooled unaveraged data, Figure 302
shows unaveraged data per seed sequence.
ScalingReconstructed (Figure 4):
Part I: `Producing spike data and membrane voltage traces
(This step may take about 1 hours.)
step 1: nrngui ScalingReconstructed.ses
step 2: On the multiple run control press `Loop Run'
step 3: type quit() on the command line or use NEURON file
menu to quit NEURON.
Part II: Analysing the data
step 4: start matlab and open and run
ScalingReconstructed.m in the simulations directory
Remarks:
- Full figure reproduction requires generation of traces
under dendritic stimulation aswell, this takes about (6
hours). On the multiple run control press `Loop Params',
select `Edit' and double click on `bDendriticStimulation'
and change the numbers from `0 0 1 0 0 0' to `0 1 1 0 0
0'. Before pressing the `Loop Run' button again make sure
to empty the Pruning\Results directory. - Postscript
figures of all the morphologies will generated if in the
Pruning.ses script bPrintTree is set to 1. - Figure 401
how frequency depends on the length scaling factor:
L-factor
ReReconstructedCells (Figure 5 and 12):
Part I: `Producing spike data and membrane voltage traces
(This step make take about 30 minutes.)
step 1: nrngui ReReconstructedCells.ses
step 2: On the multiple run control press `Loop Run'
step 3: type quit() on the command line or use NEURON file
menu to quit NEURON.
Part II: `Calculate physical quantities characterizing the
morphology mean electronic path length, input conductance,
dendritic membrane area (This step takes a couple of minutes.)
step 4: nrngui ReReconstructedCellsIC.ses
step 5: On the multiple run control press `Loop Run'
step 6: type quit() on the command line or use NEURON file
menu to quit NEURON.
Part III: Analysing the data
step 7: start matlab and open and run
ReReconstructedCells.m in the simulations directory
Remarks:
- Full figure reproduction requires generation of traces
under dendritic stimulation aswell, takes about 1-2
hours. On the multiple run control press `Loop Params',
select `Edit' and double click on `bDendriticStimulation'
and change the numbers from `0 0 1 0 0 0' to `0 1 1 0 0
0'. Before pressing the `Loop Run' button again make sure
to empty the ReReconstructedCells\Results directory.
- Postscript figures of all the morphologies will
generated if in the ReReconstructedCells.ses script
bPrintTree is set to 1.
- Figure 501 shows spikes from the full runs top 7 with
somatic stimulation, bottom 7 dendritic stimulation.
- Figure 1201 shows how bursting depends on the tree
(TreeNumber = Index denoting a tree) and figure 1202 shows
how frequency depends on the tree.
simplifiedTopologies obeying Rall's law (Figure 6, 7, 10):
Part I: `Producing spike data and membrane voltage traces
(This part takes about 2 days, unless you slice it and split
it over more processors,see below.)
step 1: nrngui simplifiedTopologies.ses
step 2: On the multiple run control press `Loop Run'
step 3: type quit() on the command line or use NEURON file
menu to quit NEURON.
Part II: `Calculate physical quantities characterizing the
morphology mean electronic path length, input conductance,
dendritic membrane area (This step takes a couple of minutes.)
step 4: nrngui simplifiedTopologiesIC.ses
step 5: On the multiple run control press `Loop Run'
step 6: type quit() on the command line or use NEURON file
menu to quit NEURON.
Part III: `Generate membrane potential traces I. (This part
takes about 30 minutes)
step 7: nrngui simplifiedTopologiesVTraces.ses
step 8: On the multiple run control press `Loop Run'
step 9: type quit() on the command line or use NEURON file menu
to quit NEURON.
Part IV: `Generate membrane potential traces II. (This part
takes about 15 minutes)
step 10: nrngui simplifiedTopologiesVTraces.ses
step 11: On the multiple run control press `SetBasename
for Output Files' and insert "_T1" after "/Sim" and before
"_Vtraces" and `Accept'.
step 12: On the multiple run control press `Loop Params'
and select `Edit'. Double `currentTopologyNo' and change
`1 23 1 0 0 0' to `1 1 1 0 0 0' and `Accept'. Then double
click `totalDendriticLength' and change `1750 1900 150 0 0
0' to `1000 4000 100 0 0 0' and `Accept'.
step 13: On the multiple run control press `Loop Run'
step 14: type quit() on the command line or use NEURON
file menu to quit NEURON.
Part V: Analysing the data
step 15: start matlab and open and run
simplifiedTopologies.m in the simulations directory
Remarks:
- figure 1001 and 1002 show for the same simulation
results, burstMeasure (1001) and frequency (1002) plotted
without offset and as a function of several physical
quantities characterizing the morphology. Because the
diameters fit Rall's law all these physical parameters
have a similar developemnt and it is hard to tease out
which parameter is the most relevant.
simplifiedTopologies with constant diameter (Figure 8, 9 ):
Part I: `Producing spike data and membrane voltage traces
(This part takes about 8 hours, unless you slice it and split
it over more processors, see below.)
step 1: nrngui simplifiedTopologiesDConst.ses
step 2: On the multiple run control press `Loop Run'
step 3: type quit() on the command line or use NEURON file
menu to quit NEURON.
Part II: `Calculate physical quantities characterizing the
morphology mean electronic path length, input conductance,
dendritic membrane area (This step takes a couple of minutes.)
step 4: nrngui simplifiedTopologiesDConstIC.ses
step 5: On the multiple run control press `Loop Run'
step 6: type quit() on the command line or use NEURON file
menu to quit NEURON.
Part V: Analysing the data
step 15: start matlab and open and run
simplifiedTopologies.m in the simulations directory
Remarks:
- figure 901 and 902 show the same comparison as in figure
9 but with dendritic area included for both burst measure
(901) and frequency (902). Outside the bursting region
input conductance is the best predictor of firing
frequency.
- figure 903 and 904 show for the same simulation results,
burstMeasure (1001) and frequency (1002) plotted without
offset and as a function of several physical quantities
characterizing the morphology.
Meta scan over simplifiedTopologies obeying Rall's law (Code used
for producing Supplementary Figures 4,5,6,7):
For these supplementary figures we produced 64 scsans of the
type described just before, each scan takes about 2 days so
clearly some kind of parallelization is needed to pull this
off in reasonable time.
Rather than reproducing the full figure we therefore show here
how this paralellization was achieved using the
MultipleRunControl, and give scripts that with slight
adjusments can be used to recreate the full figures.
Part I: `Producing spike data and membrane voltage traces
(This reduced scan takes about 40 minutes, full scan takes
several days.)
step 1: run the shell script runparallel.sh ()
step 2: On the multiple run control press `Loop Run'
step 3: type quit() on the command line or use NEURON file
menu to quit NEURON.
Part II: Analysing the data
step 4: start matlab and open and run
simplifiedTopologiesGKCaGActScanPanels.m in the
simulations directory
Remarks:
- Full figure reproduction requires adjustment of the
ranges of topologies and lengths scanned and takes several
days. In the files
simplifiedTopologiesGKCaGActScanPanels.ses and
simplifiedTopologiesGKCaGActScanPanels.m it is indicated
what the original parameters where. Given the relative
insensitivity of the dynamics to the amount of KCa and Km
ionchannels, we have only included the extremes of their
ranges in this example.
- Numbering of figures in matlab reflects that these
figures can be seen as figures supporting figure 6 and 7.
References:
(1) Mainen ZF, Sejnowski TJ (1996) Influence of dendritic
structure on firing pattern in model neocortical neurons. Nature
382:363-6
(2) Duijnhouwer, J., Remme, M. W. H., Van Ooyen, A., and Van Pelt,
J. (2001). Influence of dendritic topology on firing patterns in
model neurons. Neurocomputing 38-40: 183-189.
(3) Van Ooyen, A., Duijnhouwer, J., Remme, M. W. H., and Van Pelt,
J. (2002). The effect of dendritic topology on firing patterns in
model neurons. Network: Computation in Neural Systems 13: 311-325.
(4) Van Elburg, R. A. J., and Van Ooyen, A. (2004). A new measure
for bursting. Neurocomputing 58-60: 497-502.