Medial vestibular neuron models (Quadroni and Knopfel 1994)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:53876
The structure and the parameters of the model cells were chosen to reproduce the responses of type A and type B MVNns as described in electrophysiological recordings. The emergence of oscillatory firing under these two specific experimental conditions is consistent with electrophysiological recordings not used during construction of the model. We, therefore, suggest that these models have a high predictive value.
Reference:
1 . Quadroni R, Knöpfel T (1994) Compartmental models of type A and type B guinea pig medial vestibular neurons. J Neurophysiol 72:1911-24 [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): Vestibular neuron;
Channel(s): I Na,p; I Na,t; I L high threshold; I T low threshold; I A; I K; I h;
Gap Junctions:
Receptor(s): NMDA;
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Oscillations; Action Potentials; Calcium dynamics;
Implementer(s): Morse, Tom [Tom.Morse at Yale.edu];
Search NeuronDB for information about:  NMDA; I Na,p; I Na,t; I L high threshold; I T low threshold; I A; I K; I h;
// fig13aB.hoc
// This file is under development (isn't debuged)

// make sure the nmda receptors are turned on for fig 13a
// for cell type B

B_nmda_on()	// can only turn off once otherwise forgets prev value

//figure 13 has no K(AHP) current:

somaB g_ahp_save = gbar_ahp
somaB gbar_ahp = 0

// record voltages, time

objref somaB_V[2], tvec

tstop = 4000
steps_per_ms=40
dt = 0.025

steps_per_ms=20
dt = 0.05

for i=0,1 {
	somaB_V[i] = new Vector(int(tstop/dt + 1))
}

tvec = somaB_V.c

// protocol for playing a waveform into the cell

objref bic	// B current clamps
somaB bic = new IClamp(0.5)
bic.del = 0
bic.dur = 1e9

objref somaBcurrent	// this will be played into bic.amp

somaBcurrent = new Vector(int(tstop/dt+2))
somaBcurrent.fill(0)
somaBcurrent.play(&bic.amp,dt)	// somaAcurrent will be further modified below

for i = 0, 1 {
	somaB_V[i].record(&somaB.v(0.5))
	tvec.record(&t)
	if (i>0) {
		somaB_V[i-1].play_remove()
		tvec.play_remove()	// only needs to be recorded once
	}
	somaBcurrent.fill((-0.04-0.025*(i+1)), int(500/dt), int(4000/dt))
	{init() run()}
}

objref g13a, g13b

g13a=new Graph()
g13a.exec_menu("Keep Lines")

g13b=new Graph()
g13b.exec_menu("Keep Lines")

somaB_V[0].line(g13a,dt, 1, 1)
somaBcurrent.fill(-0.04, int(500/dt), int(4000/dt))
somaBcurrent.c.mul(100).sub(100).line(g13a, dt, 1, 1)

somaB_V[1].line(g13b,dt, 1, 1)
somaBcurrent.fill(-0.065, int(500/dt), int(4000/dt))
somaBcurrent.c.mul(100).sub(100).line(g13b, dt, 1, 1)

g13a.exec_menu("View = plot")
g13a.label(.4,.3,"FIG 13A")
g13b.exec_menu("View = plot")
g13b.label(.4,.3,"FIG 13B")

// turn off current clamp

bic.amp=0
somaBcurrent.play_remove()

B_nmda_off() // turn B's nmda off

// restore the K(AHP) current
somaB gbar_ahp = g_ahp_save