A fast model of voltage-dependent NMDA Receptors (Moradi et al. 2013)

 Download zip file 
Help downloading and running models
Accession:145836
These are two or triple-exponential models of the voltage-dependent NMDA receptors. Conductance of these receptors increase voltage-dependently with a "Hodgkin and Huxley-type" gating style that is also depending on glutamate-binding. Time course of the gating of these receptors in response to glutamate are also changing voltage-dependently. Temperature sensitivity and desensitization of these receptor are also taken into account. Three previous kinetic models that are able to simulate the voltage-dependence of the NMDARs are also imported to the NMODL. These models are not temperature sensitive. These models are compatible with the "event delivery system" of NEURON. Parameters that are reported in our paper are applicable to CA1 pyramidal cell dendrites.
Reference:
1 . Moradi K, Moradi K, Ganjkhani M, Hajihasani M, Gharibzadeh S, Kaka G (2013) A fast model of voltage-dependent NMDA receptors. J Comput Neurosci 34:521-31 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Synapse;
Brain Region(s)/Organism: Neocortex; Hippocampus;
Cell Type(s): Hippocampus CA1 pyramidal GLU cell;
Channel(s):
Gap Junctions:
Receptor(s): NMDA; Glutamate;
Gene(s): NR2B GRIN2B;
Transmitter(s): Glutamate;
Simulation Environment: NEURON;
Model Concept(s): Ion Channel Kinetics; Simplified Models; Long-term Synaptic Plasticity; Methods;
Implementer(s): Moradi, Keivan [k.moradi at gmail.com];
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell; NMDA; Glutamate; Glutamate;
/* In our experiments we understand that voltage dependent change in
the condunctance of NMDAR alone cannot explain the voltage-dependnent change 
in the time constant: we understand that in a triple-exponential model
tau1 is voltage independent but tau2 and tau3 are voltage-dependent
Both tau2 and tau3 rise exponentially to a maximum in responce to voltage

In this experiment we want to find an estimate of these parameters in CA1 pyramidal cells

note: net_send(590, 1) command in the SynExp4NMDA2.mod file help us reset the model 
after 590 ms from the start of the simulation so that we can fit our model 
to both recordings at the same time
*/
load_file("nrngui.hoc")
load_file("params.hoc")

//fully activates cache efficiency
cvode.cache_efficient(1)  

tstop = 1200
dt = .025
celsius = 18	//room temperature in spruston95 experiment
v_init = 40

Tau1 = 1.0232
Tau2_0 = 33.755
A2 = 0.42299
Tau3_0 = 225.5
A3 = 10.007
SynWeight = 0.16464

// ------------------
create soma
access soma

objref sNMDA, stim, nc
stim = new NetStim(.5)
	stim.interval = 600	//ms (mean) time between spikes
	stim.number = 3	//(average) number of spikes
	stim.start 	= 0	//ms (most likely) start time of first spike
	stim.noise 	= 0		//---- range 0 to 1. Fractional randomness.
	//0 deterministic, 1 intervals have negexp distribution.
	
// this is an especial version of our model in which model would reset itself 
// after 590 ms from the start of simulation
sNMDA = new Exp4NMDA2(.5)
nc = new NetCon(stim, sNMDA)

proc init_NMDA() {
	sNMDA.tau1 = Tau1
	sNMDA.a2 = A2
	sNMDA.tau2_0 = Tau2_0
	sNMDA.a3 = A3
	sNMDA.tau3_0 = Tau3_0
	
	nc.weight = SynWeight
	nc.delay = .001
}
objref FinNMDA
FinNMDA = new FInitializeHandler(3,"init_NMDA()")
	
//----------------------------------------------------	
objref vc, vscr, tvec

vscr = new Vector(12)
tvec = new Vector(12)

vscr.x[0] = 40
tvec.x[0] = 0

vscr.x[1] = -80
tvec.x[1] = 510

vscr.x[2] = 40
tvec.x[2] = 647.175

vscr.x[3] = -80
tvec.x[3] = 652.743

vscr.x[4] = 40
tvec.x[4] = 745.74

vscr.x[5] = -80
tvec.x[5] = 751.352

vscr.x[6] = 40
tvec.x[6] = 845.027

vscr.x[7] = -80
tvec.x[7] = 850.629

vscr.x[8] = 40
tvec.x[8] = 944.315

vscr.x[9] = -80
tvec.x[9] = 950.179

vscr.x[10] = 40
tvec.x[10] = 1044.6659

vscr.x[11] = -80
tvec.x[11] = 1049.6795

vc = new VClamp(.5)
	vc.dur[0] = tstop
	vscr.play(&vc.amp[0],tvec)

objref iNMDA, vSoma
iNMDA = new Graph()
iNMDA.size(0,tstop,-1,50)
iNMDA.addvar("sNMDA.i",3,0)
iNMDA.save_name("graphList[0].")
graphList[0].append(iNMDA)

vSoma = new Graph()
vSoma.size(0,tstop,-100,50)
vSoma.addvar("soma.v(.5)",3,0)
vSoma.save_name("graphList[0].")
graphList[0].append(vSoma)

load_file("MRFExp4SynFull.ses")

// objref iNMDA, iFile, time, tFile
// iNMDA = new Vector()
// iNMDA.record(&sNMDA.i)
// iFile = new File("iFile.dat")
// iFile.wopen("iFile.dat")

// time = new Vector()
// time.record(&t)
// tFile = new File("tFile.dat")
// tFile.wopen("tFile.dat")

// init()
// run()

// iNMDA.printf(iFile)
// iFile.close()

// time.printf(tFile)
// tFile.close()

Loading data, please wait...