Neurophysiological impact of inactivation pathways in A-type K+ channels (Fineberg et al 2012)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:145672
These models predict the differential effects of varying pathways of inactivation (closed state inactivation, CSI, or open state inactivation, OSI). Specifically, Markov models of Kv4 potassium channels with CSI or CSI+OSI were inserted into the CA1 pyramidal neuron model from Migliore et al (1999; ModelDB accession #2796) to determine the neurophysiological impact of inactivation pathways. Furthermore, Markov models of Kv4.2 and Kv3.4 channels are used to illustrate a method by which to test what pathway of inactivation a channel uses.
Reference:
1 . Fineberg JD, Ritter DM, Covarrubias M (2012) Modeling-independent elucidation of inactivation pathways in recombinant and native A-type Kv channels. J Gen Physiol 140:513-27 [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; Channel/Receptor;
Brain Region(s)/Organism:
Cell Type(s): Hippocampus CA1 pyramidal GLU cell;
Channel(s): I Na,t; I A; I K;
Gap Junctions:
Receptor(s):
Gene(s): Kv4.2 KCND2; Kv3.4 KCNC4;
Transmitter(s):
Simulation Environment: NEURON; IonChannelLab;
Model Concept(s): Ion Channel Kinetics; Markov-type model;
Implementer(s): Ritter, David [david.ritter at jefferson.edu];
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell; I Na,t; I A; I K;
/
Fineberg_et_al_2012
IonChannelLab Files
README.html
Kv4_csi.mod
Kv4_csiosi.mod
migliore_kaprox.mod *
migliore_kdrca1.mod *
migliore_na3.mod *
migliore_nax.mod *
csi.hoc
csin160_mod.nrn
csiosi.hoc
csiosin160_mod.nrn
Figure11C CSI.hoc
Figure11C CSIOSI.hoc
Figure11D.hoc
Figure11E.hoc
graphavailability.ses
graphvoltage.ses
iclamp250.ses
iclamp40.ses
mosinit.hoc
n160_mod.nrn *
screenshot1.png
screenshot2.png
                            
//Recreates Figure 11C with CSI+OSI (red traces)
//From Migliore et al Fig.1a with Kv4 CSI+OSI replacing the distal A-type K current (Kad)


load_file("nrngui.hoc")
cvode.active(1)

mid=12
dist=27
secondorder=2
FARADAY=96520
PI=3.14159

Rm = 28000
RmDend = Rm/2
RmSoma = Rm
RmAx = Rm

Cm    = 1
CmSoma= Cm
CmAx  = Cm
CmDend = Cm*2

RaAll= 150
RaSoma=150  
RaAx = 50

Vrest = -65
dt = 0.025
gna =  .032
AXONM = 2
gkdr = 0.01
celsius = 34.0  
KMULT =  0.144
KMULTP = 0.048

xopen("n160_mod.nrn")             // geometry file

tstim=90
strength = 0.15 /*namps*/
tstop=90

objref g, b
b = new VBox()
b.intercept(1)
g = new Graph()
g.size(0,tstop,-70,30)
g.addvar("soma[5].v(0.5)",4,1, 2*tstop,0,2)
g.addvar("apical[dist].v(0.5)",2,2,2*tstop,0,2)
g.color(4)
g.label(0.1,0.05,"somatic AP")
g.color(2)
g.label(0.6,0.05,"Kv4 CSI+OSI bAP (400 um)")
g.xaxis(1)
g.begin()
xpanel("")
xbutton("Run Figure11C CSI+OSI", "runu()")
xpanel()
b.intercept(0)
b.map()



soma[5] distance()

access soma[5]

axon[1] {
                insert nax    gbar_nax=gna * AXONM ena=55
                insert kdr gkdrbar_kdr=gkdr ek=-90
                insert pas e_pas=Vrest g_pas = 1/RmAx Ra=RaAx cm=CmAx
                insert kap gkabar_kap = KMULTP*0.2 ek=-90
}

axon[0] {   
                insert nax  gbar_nax=gna * AXONM ena=55
                insert kdr  gkdrbar_kdr=gkdr ek=-90
                insert pas e_pas=Vrest g_pas = 1/RmAx Ra=RaAx cm=CmAx
                insert kap gkabar_kap = KMULTP*0.2 ek=-90
}

for i=0,NumSoma-1 soma[i] {   
                insert na3  gbar_na3=gna  ena=55
                insert kdr gkdrbar_kdr=gkdr ek=-90
		ar2_na3=0.8
                insert kap gkabar_kap = KMULTP ek=-90
                insert pas e_pas=Vrest g_pas = 1/RmSoma Ra=RaSoma cm=CmSoma
}

for i=0,NumBasal-1 basal[i] {
                insert na3    gbar_na3=gna ena=55
                insert kdr gkdrbar_kdr=gkdr ek=-90
		ar2_na3=1
                insert kap gkabar_kap=KMULTP ek=-90
                insert pas e_pas=Vrest g_pas = 1/RmDend Ra=RaAll cm=CmDend
}
                
for i=0,NumApical-1 apical[i] {
//if (i<40) {printf(" %d, %g \n",i,distance(0.5))}
              insert pas e_pas=Vrest g_pas = 1/RmDend Ra=RaAll  cm=CmDend
              for (x){ xdist = distance(x)
			}
			if (diam>0.5 && distance(0.5)<500) {
                insert na3 ena=55
		ar2_na3=0.5
		gbar_na3=gna
                insert kdr ek=-90
		gkdrbar_kdr=gkdr
		insert kap ek=-90
		insert kv4csiosi ek=-90
		gkabar_kap=0
		gmax_kv4csiosi=0

              for (x){ xdist = distance(x)
                if (xdist>500) {xdist=500}
                if (xdist > 100){
                        gmax_kv4csiosi(x) = KMULT*(1+xdist/100)
                } else {
                        gkabar_kap(x) = KMULTP*(1+xdist/100)
                	}
              				}
							}
				}

proc init() {
	t=0
        forall {v=Vrest}
	finitialize(v)
        fcurrent()

        forall {
	  for (x) {if (ismembrane("na3")||ismembrane("nax")){e_pas(x)=v(x)+(ina(x)+ik(x))/g_pas(x)
		   } else {
			e_pas(x)=v(x)
		   }
		  }
	}
	cvode.re_init()
}

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

proc run() {

	t=0

	access soma[5]
        nstim=1
        fstim(nstim)
        fstim(0, 0.5, 2, tstim, strength)
	init()
        access soma[5]

	while(t<tstop) { step()}
}


proc runu() {
run()
}