Striatal D1R medium spiny neuron, including a subcellular DA cascade (Lindroos et al 2018)

 Download zip file 
Help downloading and running models
We are investigating how dopaminergic modulation of single channels can be combined to make the D1R possitive MSN more excitable. We also connect multiple channels to substrates of a dopamine induced subcellular cascade to highlight that the classical pathway is too slow to explain DA induced kinetics in the subsecond range (Howe and Dombeck, 2016. doi: 10.1038/nature18942)
1 . Lindroos R, Dorst MC, Du K, Filipovic M, Keller D, Ketzef M, Kozlov AK, Kumar A, Lindahl M, Nair AG, Pérez-Fernández J, Grillner S, Silberberg G, Hellgren Kotaleski J (2018) Basal Ganglia Neuromodulation Over Multiple Temporal and Structural Scales-Simulations of Direct Pathway MSNs Investigate the Fast Onset of Dopaminergic Effects and Predict the Role of Kv4.2. Front Neural Circuits 12:3 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Axon; Channel/Receptor; Dendrite; Molecular Network; Synapse; Neuron or other electrically excitable cell;
Brain Region(s)/Organism: Basal ganglia; Striatum;
Cell Type(s): Neostriatum medium spiny direct pathway GABA cell; Neostriatum spiny neuron;
Channel(s): I A; I A, slow; I Calcium; I CAN; I K; I K,Ca; I K,leak; I Krp; I Na,t; I Potassium; I R; I T low threshold; Kir;
Gap Junctions:
Receptor(s): D1; Dopaminergic Receptor; AMPA; Gaba; NMDA;
Transmitter(s): Dopamine; Gaba; Glutamate;
Simulation Environment: NEURON; Python;
Model Concept(s): Action Potentials; Detailed Neuronal Models; Electrical-chemical; G-protein coupled; Membrane Properties; Neuromodulation; Multiscale; Synaptic noise;
Implementer(s): Lindroos, Robert [robert.lindroos at]; Du, Kai [kai.du at]; Keller, Daniel ; Kozlov, Alexander [akozlov at];
Search NeuronDB for information about:  Neostriatum medium spiny direct pathway GABA cell; D1; AMPA; NMDA; Gaba; Dopaminergic Receptor; I Na,t; I T low threshold; I A; I K; I K,leak; I K,Ca; I CAN; I Calcium; I Potassium; I A, slow; I Krp; I R; Kir; Dopamine; Gaba; Glutamate;
Model used in 

Lindroos et al. (2018). doi 10.3389/fncir.2018.00003etan


Two corrections were made in the model code to match the description in the article. These 
modifications had minor effects on the results and did not change the conclusions in the 
published paper. The corrected model code closely reproduces the data and figures of the 

1.) The somatic area was larger in the original model than that of a cylinder with length 
    12.2 and diameter 11.2 um (as stated in the paper), but still within reported range 
    (Reinius et al., 2015; Steiner and Tseng, 2017).NEURON interpreted the three point 
    soma as two sections, rather than one. CORRECTIONS MADE: The three point morphology 
    was replaced with a single point soma with radius of 7.06  um, giving the same area as 
    in the original model used in the publication. One additional axonal point was added 
    to the morphology to retain the length of the axon initial segment.

    Additionally, the change in somatic radius also has the consequence that the distance 
    dependence of the dendritic channels are off by 1.46 micrometer compared to the paper 
    version. CORRECTION: The distance dependence of the channels have been recalculated  
    using the following equation:
        dist(seg_x) = dist(seg_x) - r_new + r_org = dist(seg_x) - 7.06 + 5.6

2.) A mistake was discovered in the function setting the background synaptic currents that 
    redirected the stimulus intended for the gaba synapse to the glutamate synapse. 
    CORRECTIONS: The pure excitatory drive was replaced with excitation and inhibition in 
    accordance with the paper. Amplitude and activation frequency was rescaled to retain a 
    similar in vivo like state. The rescaling was further done in a way that kept the 
    balance between glutamatergic and gabaergic input stated in the paper.
    In general a modification of the GABA/Glut ratio will affect the overall excitability 
    levels, but even with significant changes in this background noise Glut/GABA ratio, 
    the qualitative conclusions of the paper hold.
Reinius et al., (2015). 
Conditional targeting of medium spiny neurons in the striatal matrix.
Steiner and Tseng., (2017).
Handbook of basal ganglia structure and function. Second edition.


-How to run
-File structure
-How to convert the cascade
-Additional comments

The model is built in NEURON+Python (v7.4, Hines and Carnevale, 1997)
with the following dependencies:



However, with minor adjustments the model can be run without most of these additional 

The plot functions have a lot more dependencies than the simulation files. If you don't 
want to install these libraries you can comment out the plotting command at the end of the
example scripts and plot the data using a software of your own choice. If so, you need to 
move the functions

    getSpikedata_x_y and save_obj

from to the example script

The following instructions should be valid for Linux and Mac systems.

1. download and decompress the model files
2. compile the mod files by the terminal command "nrnivmodl" (inside the model directory):
        -open a terminal
        -cd path/to/directory/
    If your're in the right directory and the your NEURON installation is correct this 
    should give you a lot of text ending with a success message:
        Successfully created x86_64/special
3. In the same terminal window give the following command:
        python <simulation file>
    where <simulation file> is one of the three example files described below, e.g. 
    This should start the simulation and produce some figure(s) if all dependencies are 
    satisfied. If not install the missing libraries and try again (or restructure the code 
    to remove the dependencies).

There are three example files that all reproduces some part of the figures in the 
Reproduces the model validation in figure 2. It also illustraits how to run the model in
parallel using multiple cores on a local mashine (using the libraries Parallel, delayed 
from joblib and multiprocessing). 
Illustrates how the static DA modulation in figure 3 and 4 were implemented. This 
simulation is implemented to run sequentially and does not depend on the packages above.
Illustrates how the dynamic modulation was implemented and run (sequentially implemented).

All three depends on the rest of the files to run.

-Ion channels and other mechanisms are stored in the mod files. 
holds the main class. This is where all active and passive properties are defined and 
channel distributions are set.

holds the morphology of the model.

holds the parameters used for channel distribution.

holds initial and maximal values for different substrates in the DA induced intracellular
cascade following a transient DA signal of 500 nM amplitude and 500 ms time constant.
These values are used to linearly map substrate concentration to channel conductance.
holds all the functions that were used to create the figures in the manuscript. Only a few
of these are used by the example script

There are also some additional folders:

holds, for example, the files originally used to run simulations on the Beskow super 
computer. These are a little less well structured than the example files...

holds experimental data, extracted from published articles (Day et al., 2008 and Planert
et al., 2013), and used for validation.

these folders are empty. This is where simulation results are stored during simulation.

The intracellular cascade (Additional_files -> MODEL_speedy_reduced2.xml) can be converted
to a mod file by either one of two strategies, both depending on NeuroML.

1. use the NeuroML tool directly
2. use the python library of NeuroML (pyneuroml)

download/install jNeuroML (
After successfull installation you should be able to run the following commands (from a
terminal window):
    jnml -sbml-import MODEL_speedy_reduced2.xml 1 1
    jnml MODEL_speedy_reduced2_LEMS.xml -neuron
    python D1_LTP_time_window_0.mod MODEL_speedy_reduced2.xml
If neuroml is not globally installed use ./jnml instead of jnml (in local folder)
install pyneuroml, lxml and jupyter and open a the notebook TRANSFORM_py_.ipynb 
(Additional_files) from a terminal window:
    cd Additional_files/
    jupyter notebook TRANSFORM_py_.ipynb   

and follow the transformation illustrated in the notebook (you might have to move some 
files for the simulation at the end to work).

2023-02-10 Updated by Pedro García-Rodríguez to support python 3 and for more modern h.distance usage