Firing neocortical layer V pyramidal neuron (Reetz et al. 2014; Stadler et al. 2014)

 Download zip file 
Help downloading and running models
Accession:168148
Neocortical Layer V model with firing behaviour adjusted to in vitro observations. The model was used to investigate the effects of IFN and PKC on the excitability of neurons (Stadler et al 2014, Reetz et al. 2014). The model contains new channel simulations for HCN1, HCN2 and the big calcium dependent potassium channel BK.
References:
1 . Stadler K, Bierwirth C, Stoenica L, Battefeld A, Reetz O, Mix E, Schuchmann S, Velmans T, Rosenberger K, Bräuer AU, Lehnardt S, Nitsch R, Budt M, Wolff T, Kole MH, Strauss U (2014) Elevation in type I interferons inhibits HCN1 and slows cortical neuronal oscillations. Cereb Cortex 24:199-210 [PubMed]
2 . Reetz O, Stadler K, Strauss U (2014) Protein kinase C activation mediates interferon-ß-induced neuronal excitability changes in neocortical pyramidal neurons. J Neuroinflammation 11:185 [PubMed]
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: Neocortex;
Cell Type(s): Neocortex L5/6 pyramidal GLU cell;
Channel(s): I Na,p; I Na,t; I L high threshold; I A; I K; I M; I h; I K,Ca; I Sodium; I Calcium; I Mixed; I Potassium; I Q;
Gap Junctions:
Receptor(s):
Gene(s): HCN1; HCN2;
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Activity Patterns; Detailed Neuronal Models; Action Potentials; Signaling pathways;
Implementer(s): Stadler, Konstantin [konstantin.stadler at ntnu.no];
Search NeuronDB for information about:  Neocortex L5/6 pyramidal GLU cell; I Na,p; I Na,t; I L high threshold; I A; I K; I M; I h; I K,Ca; I Sodium; I Calcium; I Mixed; I Potassium; I Q;
/
stadler2014_layerV
geo
sub
readme.html
readme_alt_format.html
ca.mod
cad.mod
caT.mod
HCN1r.mod
HCN2r.mod
kadist.mod
kaprox.mod
kBK.mod
kca.mod
km.mod
kv.mod *
na.mod *
Nap.mod
nax.mod *
syn.mod *
LayerVinit.hoc
LayerVrun.hoc
mosinit.hoc
screenshot1.png
screenshot2.png
                            
TITLE K-A channel from Klee Ficker and Heinemann
: modified to account for Dax A Current ----------
: M.Migliore Jun 1997

:ek and celsius default values deleted Konstantin Stadler 2009


UNITS {
	(mA) = (milliamp)
	(mV) = (millivolt)
	(mS) = (millisiemens)

}

INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}

PARAMETER {
        dt (ms)
	v (mV)
        ek 
	celsius 	(degC)
	gkabar=.008 (mho/cm2)
        vhalfn=-1   (mV)
        vhalfl=-56   (mV)
        a0l=0.05      (/ms)
        a0n=.1    (/ms)
        zetan=-1.8    (1)
        zetal=3    (1)
        gmn=0.39   (1)
        gml=1   (1)
	lmin=2  (ms)
	nmin=0.1  (ms)
	pw=-1    (1)
	tq=-40 (mV)
	qq=5  (mV)
	temp = 23	(degC)		
	q10=5 
	qtl=1
        nscale=1
        lscale=1
}


NEURON {
	SUFFIX kad
	USEION k READ ek WRITE ik
        RANGE gkabar,gka,ik
        RANGE ninf,linf,taul,taun
        GLOBAL lmin,nscale,lscale
}

STATE {
	n
        l
}

ASSIGNED {
	ik (mA/cm2)
        ninf
        linf      
        taul   (ms)
        taun   (ms)
        gka    (mho/cm2)
        qt     
}

INITIAL {
        rates(v)
        n=ninf
        l=linf
        gka = gkabar*n*l
	ik = gka*(v-ek)
}        

BREAKPOINT {
	SOLVE states METHOD cnexp
	gka = gkabar*n*l
	ik = gka*(v-ek)
}

DERIVATIVE states {
        rates(v)
        n' = (ninf-n)/taun
        l' = (linf-l)/taul
}

FUNCTION alpn(v(mV)) {
LOCAL zeta
  zeta=zetan+pw/(1+exp((v-tq)/qq))
  alpn = exp(1.e-3*zeta*(v-vhalfn)*9.648e4 (degC/mV)/(8.315*(273.16+celsius))) 
}

FUNCTION betn(v(mV)) {
LOCAL zeta
  zeta=zetan+pw/(1+exp((v-tq)/qq))
  betn = exp(1.e-3*zeta*gmn*(v-vhalfn)*9.648e4 (degC/mV)/(8.315*(273.16+celsius))) 
}

FUNCTION alpl(v(mV)) {
  alpl = exp(1.e-3*zetal*(v-vhalfl)*9.648e4 (degC/mV)/(8.315*(273.16+celsius))) 
}

FUNCTION betl(v(mV)) {
  betl = exp(1.e-3*zetal*gml*(v-vhalfl)*9.648e4 (degC/mV)/(8.315*(273.16+celsius))) 
}
LOCAL facn,facl

:if state_borgka is called from hoc, garbage or segmentation violation will
:result because range variables won't have correct pointer.  This is because
: only BREAKPOINT sets up the correct pointers to range variables.
:PROCEDURE states() {     : exact when v held constant; integrates over dt step
:        rates(v)
:        n = n + facn*(ninf - n)
:        l = l + facl*(linf - l)
:        VERBATIM
:        return 0;
:        ENDVERBATIM
:}

PROCEDURE rates(v (mV)) { :callable from hoc
        LOCAL a,qt
        qt=q10^((celsius-temp)/10 (degC))
        a = alpn(v)
        ninf = 1/(1 + a)
        taun = betn(v)/(qt*a0n*(1+a))
        taun = taun/nscale
	if (taun<nmin) {taun=nmin}
        facn = (1 - exp(-dt/taun))
        a = alpl(v)
        linf = 1/(1+ a)
	taul = 0.26(ms/mV)*(v+50)/qtl
        taul = taul/lscale
	if (taul<lmin/qtl) {taul=lmin/qtl}
        facl = (1 - exp(-dt/taul))
}















Loading data, please wait...