ModelDB is moving. Check out our new site at The corresponding page is

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

 Download zip file 
Help downloading and running models
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.
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;
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];
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell; NMDA; Glutamate; Glutamate;
/* This experiment is the same as the experiment 3 but we extended our
data to include NMDAR current simulated by NMDA16 (Clarke's and Johnson's Model)
when membrane voltage is clamped to an AP.

We did this because we wanted to make MgBlock degree in our model 
comparable to the previous kinetic model



tstop = 1271
dt = .025
celsius = 18
v_init = 40

Tau1 = 1.0676
Tau2_0 = 32.693
Wtau2 = 0.65
Tau3_0 = 217.69
A2 = 2.2364
B2 = 0.0243
A3 = 43.495
B3 = 0.01
k0 = 2.8261
DELTA = 0.8
SynWeight = 0.57
gVDst = 0.007

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

objref sNMDA, stim, stim1, nc, nc1, vc
stim = new NetStim(.5)
	stim.interval = 600
	stim.number = 2
	stim.start 	= 0
	stim.noise 	= 0
stim1 = new NetStim(.5)
	stim1.interval = 50
	stim1.number = 2
	stim1.start = 1201.534 - 1
	stim1.noise = 0	
sNMDA = new Exp4NMDA2(.5)
nc = new NetCon(stim, sNMDA)
nc1 = new NetCon(stim1, sNMDA)

proc init_NMDA() {
	nc.weight = SynWeight
	nc.delay = .001
	nc1.weight = SynWeight
	nc1.delay = 1
	sNMDA.tau1 = Tau1
	sNMDA.tau2_0 = Tau2_0
	sNMDA.a2 = A2
	sNMDA.b2 = B2
	sNMDA.wtau2 = Wtau2
	sNMDA.tau3_0 = Tau3_0
	sNMDA.a3 = A3
	sNMDA.b3 = B3
	sNMDA.K0 = k0 = DELTA
	sNMDA.gVDst = gVDst
objref FinNMDA
FinNMDA = new FInitializeHandler(3,"init_NMDA()")
// load data
//------------Action Potential Clamp---------------------------	
objref vc, vRec, tRec, vFile, tFile

vRec = new Vector(1026)
tRec = new Vector(1026)
vFile = new File()
tFile = new File()


vc = new VClamp(.5)
	vc.dur[0] = tstop[0],tRec)

	objref iNMDA, vSoma
iNMDA = new Graph()

vSoma = new Graph()

//--------Record Current
// 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")


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

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


Loading data, please wait...