CA1 pyramidal neuron: h channel-dependent deficit of theta oscill. resonance (Marcelin et al. 2008)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:116983
This model was used to confirm and support experimental data suggesting that the neuronal/circuitry changes associated with temporal lobe epilepsy, including Ih-dependent inductive mechanisms, can disrupt hippocampal theta function.
Reference:
1 . Marcelin B, Chauvière L, Becker A, Migliore M, Esclapez M, Bernard C (2009) h channel-dependent deficit of theta oscillation resonance and phase shift in temporal lobe epilepsy. Neurobiol Dis 33:436-47 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Dendrite;
Brain Region(s)/Organism: Hippocampus;
Cell Type(s): Hippocampus CA1 pyramidal GLU cell;
Channel(s): I h;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Oscillations; Detailed Neuronal Models; Epilepsy;
Implementer(s): Migliore, Michele [Michele.Migliore at Yale.edu];
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell; I h;
/
theta
readme.html
h.mod
fixnseg.hoc *
geoc62564.hoc *
mosinit.hoc
ondelette-No-Gain-1-4Hz.txt
screenshot.jpg
theta.hoc
                            
load_file("nrngui.hoc")
cvode_active(0)

dist=22
rel=0.5

xopen("geoc62564.hoc")             // geometry file
xopen("fixnseg.hoc")           

Rm = 28000
RmDend = Rm/1
RmSoma = Rm
RmAx = Rm

Cm    = 1
CmSoma= Cm
CmAx  = Cm
CmDend = Cm

RaAll= 150
RaSoma=150  
RaAx = 50

Vrest = -70
dt = 0.1
celsius = 35.0  
ghd=0.00005

objref g, b, stim, infile, curr
objref p, s, rsyn, nc
strdef filename

curr = new Vector()

infile = new File()

forsec "axon" {insert pas e_pas=Vrest g_pas = 1/RmAx Ra=RaAx cm=CmAx}
forsec "soma" {insert pas e_pas=Vrest g_pas = 1/RmSoma Ra=RaSoma cm=CmSoma}
forsec "dendrite"{insert pas e_pas=Vrest g_pas = 1/RmDend Ra=RaAll cm=CmDend}
forsec "user5" {insert pas e_pas=Vrest g_pas = 1/RmDend Ra=RaAll cm=CmDend}

access soma

freq=50
geom_nseg()
tot=0
forall {tot=tot+nseg}
distance()

maxdist=0
forsec "user5" for(x) {if (distance(x)>maxdist) {maxdist=distance(x)}}
print "total # of segments (50Hz): ",tot, "  max path distance: ", maxdist

tstop=30000

infile = new File()
infile.ropen("ondelette-No-Gain-1-4Hz.txt")
	while (!infile.eof()) {
	curr.append(infile.scanvar()/15)
	}
infile.close()

b = new VBox()
b.intercept(1)
g = new Graph()
g.size(0,tstop,-65,-55)
g.addvar("user5[dist].v(rel)",2,1,2*tstop,0,2)
g.xaxis(1)
xpanel("")
xbutton("runm ", "runm()")
xpanel()
b.intercept(0)
b.map()

user5[dist] {
print distance(rel)
stim= new IClamp(rel)
stim.amp=0
stim.dur=tstop
stim.del=0
curr.play(&stim.amp, 0.3)
}

forsec "soma" {   
		insert hd ghdbar_hd=ghd	vhalfl_hd=-90
}
                
forsec "apical_dendrite" {
		insert hd ghdbar_hd=ghd vhalfl_hd=-90

		for (x,0) { xdist = distance(x)
                	if (xdist>500) {xdist=500}
                	ghdbar_hd(x) = ghd*(1+5*xdist/100)
               		if (xdist > 100){vhalfl_hd=-100} else {vhalfl_hd=-90}
		}
}

forsec "user5" {
		insert hd ghdbar_hd=ghd vhalfl_hd=-90

		for (x,0) { xdist = distance(x)
                	if (xdist>500) {xdist=500}
                	ghdbar_hd(x) = ghd*(1+5*xdist/100)
               		if (xdist > 100){vhalfl_hd=-100} else {vhalfl_hd=-90}
		}

}

proc init() {
	t=0
        forall {v=Vrest	
        if (ismembrane("hd") ) {ehd_hd=-30}
	}
	finitialize(Vrest)
        fcurrent()
        forall for (x) {if (ismembrane("hd")) {e_pas(x)=v(x)+i_hd(x)/g_pas(x)}}
	cvode.re_init()
	cvode.event(tstop)
	access soma
	g.begin()
}


proc advance() {
	fadvance()
	g.plot(t)
	g.flush()
	doNotify()
}

proc runm() {
run()
}