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
                            
// _run_me.hoc runs a current clamp experiment
// "play_netstims" activates synaptic input - the current clamp will be turned
//    - ampa, gaba, and nmda weight can be changed in the panel

//****************************************************************************
// create cells, load appropriate session file
strdef preface, dirstr
preface = "."
 
xopen("./nacb_main.hoc")
print "main hoc loaded"

xopen("./current_clamp.ses")

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




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

NSYN = 168
maxcol = 21

strdef input_file
objref stimx, stimxout

stimx = new Matrix(NSYN, maxcol)
sprint(input_file,"./stimxout_jns_sqwave.dat")		// input file with 
													// synaptic input times

proc play_stimx() {							// turns on synaptic inputs
	stimxout = new File()
	stimxout.ropen(input_file)				// read in input times
	stimx.scanf(stimxout,NSYN,maxcol-1)
	stimxout.close()


	for cntrw = 0, NSYN-1 {					// assign spike times to synapses
		cntcl = 0
		while (stimx.x[cntrw][cntcl] > 0) {
			ConnectFAKE_[cntrw].event(stimx.x[cntrw][cntcl])
			cntcl = cntcl + 1
		}
	}
}


proc init() {
	finitialize(v_init)

	// play synaptic input
	if (playstim == 1) {
		setnetn(0)
		play_stimx()
		recordstim = 0
		IClamp[0].amp = 0
		tstop = 2000
	} else { setnetn(1e7) }
	
	frecord_init()

	if (cvode.active()) {
		cvode.re_init()
	} else {
		fcurrent()
	}
}

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



// intialize some variables
cvode.active(1)
dt = 0.025
IClamp[0].amp = 0.2481		// 0.271
tstop = 800	
playstim = 0




//****************************************************************************
// Define the user interface
xpanel("cell settings")
xvalue("prox naf bar","nG_NAF", 1,"set_naf(nG_NAF)", 1, 1 )
xvalue("distal naf bar","nG_NAFD", 1,"set_nafd(nG_NAFD)", 1, 1 )
xvalue("prox nap bar","nG_NAP", 1,"set_nap(nG_NAP)", 1, 1 )
xvalue("distal nap bar","nG_NAPD", 1,"set_napd(nG_NAPD)", 1, 1 )
xlabel("--------------------")
xvalue("gkbar_kir","nG_KIR", 1,"set_kir(nG_KIR)", 1, 1 )
xvalue("prox kas bar","nG_KAS", 1,"set_kas(nG_KAS)", 1, 1 )
xvalue("distal kas bar","nG_KASD", 1,"set_kasd(nG_KASD)", 1, 1 )
xvalue("prox kaf bar","nG_KAF", 1,"set_kaf(nG_KAF)", 1, 1 )
xvalue("distal kaf bar","nG_KAFD", 1,"set_kafd(nG_KAFD)", 1, 1 )
xvalue("gkbar_krp","nG_KRP", 1,"set_krp(nG_KRP)", 1, 1 )
xvalue("gkbar_bkkca","nG_BKKCA", 1,"set_bkkca(nG_BKKCA)", 1, 1 )
xvalue("gkbar_skkca","nG_SKKCA",1,"set_skkca(nG_SKKCA)",1,1)
xlabel("--------------------")
xvalue("g_pas","nG_PAS", 1,"set_pas(nG_PAS)", 1, 1 )
xvalue("P_CAL","nP_CAL", 1,"set_caL(nP_CAL)", 1, 1 )
xvalue("P_CAL13","nP_CAL13", 1,"set_caL13(nP_CAL13)", 1, 1 )
xvalue("P_CAN","nP_CAN", 1,"set_can(nP_CAN)", 1, 1 )
xvalue("P_CAQ","nP_CAQ", 1,"set_caq(nP_CAQ)", 1, 1 )
xvalue("P_CAR","nP_CAR", 1,"set_car(nP_CAR)", 1, 1 )
xvalue("P_CAT","nP_CAT", 1,"set_cat(nP_CAT)", 1, 1 )
xlabel("--------------------")
xvalue("ampa weight","nAMPA_WT", 1,"champawt(nAMPA_WT)", 1, 1 )
xvalue("nmda weight","nNMDA_WT", 1,"chnmdawt(nNMDA_WT)", 1, 1 )
xvalue("gaba weight","nGABA_WT", 1,"chgabawt(nGABA_WT)", 1, 1 )
xlabel("--------------------")
xstatebutton("play netstims",&playstim, "init()")
xlabel("--------------------")
xpanel(1162,22)




run()