Hyperexcitability from Nav1.2 channel loss in neocortical pyramidal cells (Spratt et al accepted)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:267067
Based on the Layer 5 thick-tufted pyramidal cell from the Blue Brain Project, we modify the distribution of the sodium channel Nav1.2 to recapitulate an increase in excitability observed in ex vivo slice experiments.
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: Prefrontal cortex (PFC);
Cell Type(s): Neocortex layer 5 pyramidal cell;
Channel(s): I h; I M; I Potassium; I Sodium; I L high threshold; I T low threshold;
Gap Junctions:
Receptor(s):
Gene(s): Nav1.2 SCN2A;
Transmitter(s):
Simulation Environment: NEURON; Python;
Model Concept(s):
Implementer(s): Ben-Shalom, Roy [bens.roy at gmail.com]; Kyoung, Henry [hkyoung at berkeley.edu];
Search NeuronDB for information about:  I L high threshold; I T low threshold; I M; I h; I Sodium; I Potassium;
/
SprattEtAl2021
Na12 Analysis
mechanisms
branching.mod *
Ca_HVA.mod *
Ca_LVAst.mod *
CaDynamics_E2.mod *
Ih.mod *
Im.mod *
K_Pst.mod *
K_Tst.mod *
na12.mod
na12_mut.mod
na1216.mod *
na1216_mut.mod *
na16.mod
na8st.mod *
Nap_Et2.mod *
NaTa_t.mod *
NaTs2_t.mod *
nax8st.mod *
ProbAMPANMDA_EMS.mod *
ProbGABAAB_EMS.mod *
SK_E2.mod *
SKv3_1.mod *
vclmp_pl.mod *
26412.tmp *
                            
TITLE na3
: Na current 
: modified from Jeff Magee. M.Migliore may97
: added sh to account for higher threshold M.Migliore, Apr.2002

NEURON {
	SUFFIX na1216
	USEION na READ ena WRITE ina
	RANGE  gbar, ar2, thegna
	GLOBAL vhalfs,sh,tha,qa,Ra,Rb,thi1,thi2,qd,qg,mmin,hmin,q10,Rg,qq,Rd,tq,thinf,qinf,vhalfs,a0s,zetas,gms,smax,vvh,vvs
}

PARAMETER {
	sh   = 8	(mV)
	gbar = 0.010   	(mho/cm2)	
								
	tha  =  -28.76	(mV)		: v 1/2 for act	
	qa   = 5.41	(mV)		: act slope (4.5)		
	Ra   = 0.3282 (/ms)		: open (v)		
	Rb   = 0.1 	(/ms)		: close (v)		

	thi1  = -37.651	(mV)		: v 1/2 for inact 	
	thi2  = -30 	(mV)		: v 1/2 for inact 	
	qd   = 0.5	(mV)	        : inact tau slope
	qg   = 1.5      (mV)
	mmin=0.02	
	hmin=0.01			
	q10=2
	Rg   = 0.01 	(/ms)		: inact recov (v) 	
	Rd   = .02657 	(/ms)		: inact (v)	
	qq   = 10        (mV)
	tq   = -55      (mV)

	thinf  = -48.4785 	(mV)		: inact inf slope	
	qinf  = 7.69	(mV)		: inact inf slope 

        vhalfs=-60	(mV)		: slow inact.
        a0s=0.0003	(ms)		: a0s=b0s
        zetas=12	(1)
        gms=0.2		(1)
        smax=10		(ms)
        vvh=-58		(mV) 
        vvs=2		(mV)
        ar2=1		(1)		: 1=no inact., 0=max inact.
	ena		(mV)	
	Ena = 55	(mV)            : must be explicitly def. in hoc
	celsius
	v 		(mV)
}


UNITS {
	(mA) = (milliamp)
	(mV) = (millivolt)
	(pS) = (picosiemens)
	(um) = (micron)
} 

ASSIGNED {
	ina 		(mA/cm2)
	thegna		(mho/cm2)
	minf 		
	hinf 		
	mtau (ms)	
	htau (ms) 	
	sinf (ms)	
	taus (ms)
}
 

STATE { m h s}

BREAKPOINT {
        SOLVE states METHOD cnexp
        thegna = gbar*m*m*m*h*s
	ina = thegna * (v - Ena)
} 

INITIAL {
	trates(v,ar2,sh)
	m=minf  
	h=hinf
	s=sinf
}


FUNCTION alpv(v) {
         alpv = 1/(1+exp((v-vvh-sh)/vvs))
}
        
FUNCTION alps(v) {  
  alps = exp(1.e-3*zetas*(v-vhalfs-sh)*9.648e4/(8.315*(273.16+celsius)))
}

FUNCTION bets(v) {
  bets = exp(1.e-3*zetas*gms*(v-vhalfs-sh)*9.648e4/(8.315*(273.16+celsius)))
}

LOCAL mexp, hexp, sexp

DERIVATIVE states {   
        trates(v,ar2,sh)      
        m' = (minf-m)/mtau
        h' = (hinf-h)/htau
        s' = (sinf - s)/taus
}

PROCEDURE trates(vm,a2,sh2) {  
        LOCAL  a, b, c, qt
        qt=q10^((celsius-24)/10)
	a = trap0(vm,tha+sh2,Ra,qa)
	b = trap0(-vm,-tha-sh2,Rb,qa)
	mtau = 1/(a+b)/qt
        if (mtau<mmin) {
		mtau=mmin
		}
	minf = a/(a+b)

	a = trap0(vm,thi1,Rd,qd) : +sh2 raus
	b = trap0(-vm,-thi2,Rg,qg) : - sh2 raus
	htau =  1/(a+b)/qt
        if (htau<hmin) {
		htau=hmin
		}
	hinf = 1/(1+exp((vm-thinf)/qinf)): -sh2 raus
	c=alpv(vm)
        sinf = c+a2*(1-c)
        taus = bets(vm)/(a0s*(1+alps(vm)))
        if (taus<smax) {
		taus=smax
		}
}

FUNCTION trap0(v,th,a,q) {
	if (fabs(v-th) > 1e-6) {
	        trap0 = a * (v - th) / (1 - exp(-(v - th)/q))
	} else {
	        trap0 = a * q
 	}
}