Library of biophysically detailed striatal projection neurons (Lindroos and Hellgren Kotaleski 2020)

 Download zip file 
Help downloading and running models
Library of compartmentalized models used to investigate dendritic integration in striatal projection neurons under neuromodulation.
1 . Lindroos R, Hellgren Kotaleski J (2020) Predicting complex spikes in striatal projection neurons of the direct pathway following neuromodulation by acetylcholine and dopamine. Eur J Neurosci [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell; Synapse;
Brain Region(s)/Organism: Striatum; Hippocampus; Basal ganglia;
Cell Type(s): Neostriatum medium spiny direct pathway GABA cell; Neostriatum medium spiny indirect pathway GABA cell; Striatal projection neuron;
Channel(s): I M; I Potassium;
Gap Junctions:
Transmitter(s): Acetylcholine; Dopamine;
Simulation Environment: NEURON; Python;
Model Concept(s): Active Dendrites; Detailed Neuronal Models; Neuromodulation; Synaptic Plasticity; Activity Patterns; Soma-dendrite cross-talk;
Implementer(s): Lindroos, Robert [robert.lindroos at]; Filipovic, Marko;
Search NeuronDB for information about:  Neostriatum medium spiny direct pathway GABA cell; Neostriatum medium spiny indirect pathway GABA cell; I M; I Potassium; Acetylcholine; Dopamine;
# Minimal example on how to use the model libraries used in:
#   Lindroos & Hellgren Kotaleski 2020

from   neuron           import h
import MSN_builder          as build
import pickle
import matplotlib.pyplot    as plt

# Load model mechanisms
import neuron               as nrn


# specs
specs = {'dspn': {
                    'N': 71,
                    'lib': 'Libraries/D1_71bestFit_updRheob.pkl',
                    'par': 'params_dMSN.json',
                    'morph': 'Morphologies/WT-dMSN_P270-20_1.02_SGA1-m24.swc'},
         'ispn': {
                    'N': 34,
                    'lib': 'Libraries/D2_34bestFit_updRheob.pkl',
                    'par': 'params_iMSN.json',
                    'morph': 'Morphologies/WT-iMSN_P270-09_1.01_SGA2-m1.swc'}

# chose cell type ('ispn' or 'dspn') and model id(s) to simulate
cell_type         = 'dspn'    # 'dspn'/'ispn'
model_iterator    = range(5)  # range(specs[cell_type]['N']) gives all models

# open library (channel distributions etc)   
with open(specs[cell_type]['lib'], 'rb') as f:
    model_sets = pickle.load(f, encoding="latin1")

# simulate model(s)
OUT = {}
for cell_index in model_iterator: 
    # initiate cell
    cell = build.MSN(  params=specs[cell_type]['par'],
                       variables=model_sets[cell_index]['variables']   )
    # set current injection
    rheobase        =   model_sets[cell_index]['rheobase']
    Istim           =   h.IClamp(0.5, sec=cell.soma)
    Istim.delay     =   100
    Istim.dur       =   1000
    Istim.amp       =   (rheobase) *1e-3
    # record vectors
    tm  = h.Vector()
    vm  = h.Vector()
    # run simulation
    # run simulation
    while h.t < 1000:
    OUT[cell_index] = {'tm':tm.to_python(), 'vm':vm.to_python, 'rheo':rheobase}

# plot
for cell_index in OUT:       
    plt.plot(OUT[cell_index]['tm'], OUT[cell_index]['vm'], \
        label='mdl:{} rhb:{:.0f}'.format(cell_index,OUT[cell_index]['rheo']))

Loading data, please wait...