Multiscale simulation of the striatal medium spiny neuron (Mattioni & Le Novere 2013)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:150284
"… We present a new event-driven algorithm to synchronize different neuronal models, which decreases computational time and avoids superfluous synchronizations. The algorithm is implemented in the TimeScales framework. We demonstrate its use by simulating a new multiscale model of the Medium Spiny Neuron of the Neostriatum. The model comprises over a thousand dendritic spines, where the electrical model interacts with the respective instances of a biochemical model. Our results show that a multiscale model is able to exhibit changes of synaptic plasticity as a result of the interaction between electrical and biochemical signaling. …"
Reference:
1 . Mattioni M, Le Novère N (2013) Integration of biochemical and electrical signaling-multiscale model of the medium spiny neuron of the striatum. PLoS One 8:e66811 [PubMed]
Citations  Citation Browser
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;
Cell Type(s): Neostriatum medium spiny direct pathway GABA cell;
Channel(s): I Na,p; I Na,t; I T low threshold; I A; I K,Ca; I CAN; I Calcium; I A, slow; I Krp; I R; I Q;
Gap Junctions:
Receptor(s):
Gene(s): Kv4.2 KCND2; Kv1.2 KCNA2; Cav1.3 CACNA1D; Cav1.2 CACNA1C; Kv2.1 KCNB1;
Transmitter(s):
Simulation Environment: NEURON; Python;
Model Concept(s): Synaptic Plasticity; Signaling pathways; Calcium dynamics; Multiscale;
Implementer(s): Mattioni, Michele [mattioni at ebi.ac.uk];
Search NeuronDB for information about:  Neostriatum medium spiny direct pathway GABA cell; I Na,p; I Na,t; I T low threshold; I A; I K,Ca; I CAN; I Calcium; I A, slow; I Krp; I R; I Q;
//**************************************************************************
// All_Tau_Vecs loads the tables used to define the taus for channels


objref taum_
objref tauh_
objref vtau_
objref file_

file_ = new File ()

taum_ = new Vector(16,0)
tauh_ = new Vector(16,0)
vtau_ = new Vector(16,0)


sprint(dirstr, "%s/hoc/tau_tables/taum_naf.txt", preface)
file_.ropen (dirstr)
taum_.scanf(file_)
file_.close()

sprint(dirstr, "%s/hoc/tau_tables/tauh_naf.txt", preface)
file_.ropen (dirstr)
tauh_.scanf(file_)
file_.close()

sprint(dirstr, "%s/hoc/tau_tables/vtau_naf.txt", preface)
file_.ropen (dirstr)
vtau_.scanf(file_)
file_.close()

table_taumnaf_naf(taum_,vtau_)
table_tauhnaf_naf(tauh_,vtau_)


//*************************



objref tauh_nap_
objref vtau_nap_
objref file_nap_

file_nap_ = new File ()

tauh_nap_ = new Vector(15,0)
vtau_nap_ = new Vector(15,0)

sprint(dirstr, "%s/hoc/tau_tables/tauh_nap.txt", preface)
file_nap_.ropen (dirstr)
tauh_nap_.scanf(file_nap_)
file_nap_.close()

sprint(dirstr, "%s/hoc/tau_tables/vtau_nap.txt", preface)
file_nap_.ropen (dirstr)
vtau_nap_.scanf(file_nap_)
file_nap_.close()

table_tauhnap_nap(tauh_nap_,vtau_nap_)



//*************************




objref taum_kir_
objref vtau_kir_
objref file_kir_

file_kir_ = new File ()

taum_kir_ = new Vector(16,0)
vtau_kir_ = new Vector(16,0)

sprint(dirstr, "%s/hoc/tau_tables/taum_kir.txt", preface)
file_kir_.ropen (dirstr)
taum_kir_.scanf(file_kir_)
file_kir_.close()

sprint(dirstr, "%s/hoc/tau_tables/vtau_kir.txt", preface)
file_kir_.ropen (dirstr)
vtau_kir_.scanf(file_kir_)
file_kir_.close()

table_taumkir_kir(taum_kir_,vtau_kir_)



//*************************



objref taum_krp_
objref tauh_krp_
objref vtau_krp_
objref file_krp_

file_krp_ = new File ()

taum_krp_ = new Vector(31,0)
tauh_krp_ = new Vector(31,0)
vtau_krp_ = new Vector(31,0)

sprint(dirstr, "%s/hoc/tau_tables/taum_krp.txt", preface)
file_krp_.ropen (dirstr)
taum_krp_.scanf(file_krp_)
file_krp_.close()

sprint(dirstr, "%s/hoc/tau_tables/tauh_krp.txt", preface)
file_krp_.ropen (dirstr)
tauh_krp_.scanf(file_krp_)
file_krp_.close()

sprint(dirstr, "%s/hoc/tau_tables/vtau_krp.txt", preface)
file_krp_.ropen (dirstr)
vtau_krp_.scanf(file_krp_)
file_krp_.close()

table_taumkrp_krp(taum_krp_,vtau_krp_)
table_tauhkrp_krp(tauh_krp_,vtau_krp_)



//*************************



objref mtau_kaf_
objref vtau_kaf_
objref file_kaf_

file_kaf_ = new File ()

mtau_kaf_ = new Vector(31,0)
vtau_kaf_ = new Vector(31,0)

sprint(dirstr, "%s/hoc/tau_tables/taum_kaf.txt", preface)
file_kaf_.ropen (dirstr)
mtau_kaf_.scanf(file_kaf_)
file_kaf_.close()

sprint(dirstr, "%s/hoc/tau_tables/vtau_kaf.txt", preface)
file_kaf_.ropen (dirstr)
vtau_kaf_.scanf(file_kaf_)
file_kaf_.close()

table_mtau_kaf(mtau_kaf_,vtau_kaf_)



//*************************



objref taum_catvec
objref tauh_catvec
objref vtau_catvec
objref file_cat


file_cat = new File ()
taum_catvec = new Vector(30,0)
tauh_catvec = new Vector(30,0)
vtau_catvec = new Vector(30,0)

sprint(dirstr, "%s/hoc/tau_tables/taum_cat.txt", preface)
file_cat.ropen (dirstr)
taum_catvec.scanf(file_cat)
file_cat.close()

sprint(dirstr, "%s/hoc/tau_tables/tauh_cat.txt", preface)
file_cat.ropen (dirstr)
tauh_catvec.scanf(file_cat)
file_cat.close()

sprint(dirstr, "%s/hoc/tau_tables/vtau_cat.txt", preface)
file_cat.ropen (dirstr)
vtau_catvec.scanf(file_cat)
file_cat.close()

table_mtau_cat(taum_catvec, vtau_catvec)
table_htau_cat(tauh_catvec, vtau_catvec)



//*************************


objref tauh_carvec
objref vtau_carvec
objref file_car

file_car = new File ()
tauh_carvec = new Vector(30,0)
vtau_carvec = new Vector(30,0)

sprint(dirstr, "%s/hoc/tau_tables/tauh_car.txt", preface)
file_car.ropen (dirstr)
tauh_carvec.scanf(file_car)
file_car.close()

sprint(dirstr, "%s/hoc/tau_tables/vtau_car.txt", preface)
file_car.ropen (dirstr)
vtau_carvec.scanf(file_car)
file_car.close()

table_htau_car(tauh_carvec, vtau_carvec)



//**************************************************************************