Afferent Integration in the NAcb MSP Cell (Wolf et al. 2005)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:112834
"We describe a computational model of the principal cell in the nucleus accumbens (NAcb), the medium spiny projection (MSP) neuron. The model neuron, constructed in NEURON, includes all of the known ionic currents in these cells and receives synaptic input from simulated spike trains via NMDA, AMPA, and GABAA receptors. ... results suggest that afferent information integration by the NAcb MSP cell may be compromised by pathology in which the NMDA current is altered or modulated, as has been proposed in both schizophrenia and addiction."
Reference:
1 . Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions and entrainment to oscillations in a computational model of the nucleus accumbens medium spiny projection neuron. J Neurosci 25:9080-95 [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;
Brain Region(s)/Organism:
Cell Type(s): Nucleus accumbens spiny projection neuron;
Channel(s): I Na,p; I Na,t; I L high threshold; I N; I T low threshold; I A; I h; I K,Ca; I Krp; I R; I Q;
Gap Junctions:
Receptor(s): GabaA; AMPA; NMDA;
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Oscillations; Schizophrenia; Addiction;
Implementer(s): Wolf, John A. [johnwolf at warpmail.net]; Moyer, Jason [jtmoyer at seas.upenn.edu];
Search NeuronDB for information about:  GabaA; AMPA; NMDA; I Na,p; I Na,t; I L high threshold; I N; I T low threshold; I A; I h; I K,Ca; I Krp; I R; I Q;
/
nacb_msp
tau_tables
readme.html
AMPA.mod
bkkca.mod *
cadyn.mod *
caL.mod *
caL13.mod *
caldyn.mod
can.mod *
caq.mod *
car.mod *
cat.mod *
GABA.mod *
kaf.mod *
kas.mod *
kir.mod *
krp.mod *
naf.mod *
nap.mod *
NMDA.mod
skkca.mod *
stim.mod *
_run_me.hoc
all_tau_vecs.hoc *
baseline_values.txt *
basic_procs.hoc
create_mspcells.hoc *
current_clamp.ses *
make_netstims.hoc
mosinit.hoc *
msp_template.hoc
nacb_main.hoc
netstims_template.hoc *
screenshot.jpg
screenshot2.jpg
stimxout_jns_sqwave.dat
synapse_templates.hoc
                            
//****************************************************************************
// basic_procs.hoc defines procedures for setting conductances and range
// variables of channels - these are primarily used to change variables
// from the gui

proc set_pas() {    NEW_GPAS = $1
    forall if (ismembrane("pas")) {g_pas = NEW_GPAS}
	nG_PAS = NEW_GPAS
}


//*****************
// Sodium conductance settings

proc set_naf() {		NEW_GBAR = $1
	nG_NAF = NEW_GBAR
	forsec "soma" {gnabar_naf = nG_NAF}

 }

proc set_nafd() {		NEW_GBAR = $1
	nG_NAFD = NEW_GBAR
	forsec "dend.*" {gnabar_naf = nG_NAFD}
}

proc set_nap() {		NEW_GBAR = $1
	nG_NAP = NEW_GBAR
	forsec "soma" {gnabar_nap = nG_NAP}
	}

proc set_napd() {		NEW_GBAR = $1
	nG_NAPD = NEW_GBAR
	forsec "dend.*" {gnabar_nap = nG_NAPD}
}

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


	


//*****************
// Potassium conductance settings

proc set_ek() {	newEK = $1
	forsec "MSP" {ek = newEK}
	EK = newEK
}

proc set_kir() {		NEW_GBAR = $1
	nG_KIR = NEW_GBAR
	forall if (ismembrane("kir")) {gkbar_kir = nG_KIR}
}

proc set_kas() {		NEW_GBAR = $1
	nG_KAS = NEW_GBAR
	forsec "soma" {gkbar_kas = nG_KAS}
	MSP_Cell[0].dend1 gkbar_kas = nG_KAS
	MSP_Cell[0].dend2 gkbar_kas = nG_KAS
	MSP_Cell[0].dend3 gkbar_kas = nG_KAS
	MSP_Cell[0].dend4 gkbar_kas = nG_KAS
 }

proc set_kasd() {		NEW_GBAR = $1
	nG_KASD = NEW_GBAR
	forsec "dend._.*" {gkbar_kas = nG_KASD}
}
proc set_kaf() {		NEW_GBAR = $1
	nG_KAF = NEW_GBAR
	forsec "soma" {gkbar_kaf = nG_KAF}
	MSP_Cell[0].dend1 gkbar_kaf = nG_KAF
	MSP_Cell[0].dend2 gkbar_kaf = nG_KAF
	MSP_Cell[0].dend3 gkbar_kaf = nG_KAF
	MSP_Cell[0].dend4 gkbar_kaf = nG_KAF

}

proc set_kafd() {		NEW_GBAR = $1
	nG_KAFD = NEW_GBAR
	forsec "dend._.*" {gkbar_kaf = nG_KAFD}
}

proc set_krp() {		NEW_GBAR = $1
	nG_KRP = NEW_GBAR
	forall if (ismembrane("krp")) {gkbar_krp = NEW_GBAR}
}

proc set_bkkca() {		NEW_GBAR = $1
	nG_BKKCA = NEW_GBAR
	forall if(ismembrane("bkkca")) {gkbar_bkkca = NEW_GBAR}
}

proc set_skkca() {		NEW_GBAR = $1
	nG_SKKCA = NEW_GBAR
	forall if(ismembrane("skkca")) {gkbar_skkca = NEW_GBAR}
}

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





//******************
// Calcium conductance settings

proc set_caL() {		NEW_PBAR = $1
	nP_CAL = NEW_PBAR
	forall if (ismembrane("caL")) {pbar_caL = NEW_PBAR}
}

proc set_caL13() {		NEW_PBAR = $1
	nP_CAL13 = NEW_PBAR
	forall if (ismembrane("caL13")) {pcaLbar_caL13 = NEW_PBAR}
}

proc set_can() {		NEW_PBAR = $1
	nP_CAN = NEW_PBAR
	forall if (ismembrane("can")) {pbar_can = NEW_PBAR}
}

proc set_caq() {		NEW_PBAR = $1
	nP_CAQ = NEW_PBAR
	forall if (ismembrane("caq")) {pcaqbar_caq = NEW_PBAR}
}

proc set_car() {		NEW_PBAR = $1
	nP_CAR = NEW_PBAR
	forall if (ismembrane("car")) {pcarbar_car = NEW_PBAR}
}
proc set_cat() {		NEW_PBAR = $1
	nP_CAT = NEW_PBAR
	forall if (ismembrane("cat")) {pcatbar_cat = NEW_PBAR}
}

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





//******************
// Calcium dynamics procs

proc set_cainf() {	NEW_CAINF = $1
	nCA_INF = NEW_CAINF
	forall if (ismembrane("cadyn")) {cainf_cadyn = NEW_CAINF}
	forall if (ismembrane("caldyn")) {cainf_caldyn = NEW_CAINF}
}

proc set_taur() {	NEW_TAUR = $1
	nCA_TAUR = NEW_TAUR
	forall if (ismembrane("cadyn")) {taur_cadyn = NEW_TAUR}
	forall if (ismembrane("caldyn")) {taur_caldyn = NEW_TAUR}
}
proc set_cadrive() { 	NEW_DRIVE = $1
	nCA_DRIVE = NEW_DRIVE
	forall if (ismembrane("cadyn")) {drive_cadyn = NEW_DRIVE}
	forall if (ismembrane("caldyn")) {drive_caldyn = NEW_DRIVE}
}
proc set_pump() {	NEW_PUMP = $1
	nCA_PUMP = NEW_PUMP
	forall if (ismembrane("cadyn")) {pump_cadyn = NEW_PUMP}
	forall if (ismembrane("caldyn")) {pump_caldyn = NEW_PUMP}
}
//******************



 
//******************
// synaptic gbar procs
proc gampa() {	NEW = $1		// AMPA conductance
	nG_AMPA = NEW
	for j = 0, NGLU-1 {AMPA[j].gbar = NEW}
}

proc gnmda() {	NEW = $1		// NMDA conductance
	nG_NMDA = NEW
	for j = 0, NGLU-1 {NMDA[j].gbar = NEW}
}

proc ggaba() {	NEW = $1		// GABA conductance
	nG_GABA = NEW
	for j = 0, NGABA-1 {GABA[j].gbar = nG_GABA}
}
//******************




//******************
// netstim variables
proc tstart() {		NEW = $1	// time of netstims to start spiking
	nT_START = NEW
	for i = 0, NSYN-1 {NS_NetStim[i].pp.start = NEW}
}

proc setnetn() {	NEW = $1	// number of times a netstim will spike
	nNET_N = NEW
	for i = 0, NSYN-1 { NS_NetStim[i].pp.number = nNET_N }
}

proc setnoise() { NEW = $1		// netstim noise - 1 = random, 0 = not
	nNOISE = NEW
	for i = 0, NSYN-1 { NS_NetStim[i].pp.noise = nNOISE }
}
//******************