TITLE naps :modified to have slow inactivation described in Fleidervish and to make slope a global parameter
NEURON {
SUFFIX naps
USEION na READ ena WRITE ina
RANGE gbar, thegna, sh, ar
GLOBAL minf, mtau,sinf,taus,vslope
}
PARAMETER {
gbar = .0052085 (mho/cm2)
sh = 0 (mV)
vslope=6.8 (mV) :activation slope
ena (mV) :must be explicitly defined in hoc
a0s=0.001 (/ms)
b0s=0.0034 (/ms)
asvh=-85 (mV)
bsvh=-17 (mV)
avs=30 (mV)
bvs=10 (mV)
ar=1 (1) : 1=no inact., 0=max inact.
celsius (degC)
v (mV)
}
UNITS {
(mA) = (milliamp)
(mV) = (millivolt)
(pS) = (picosiemens)
(um) = (micron)
}
ASSIGNED {
ina (mA/cm2)
thegna (mho/cm2)
minf
mtau (ms)
sinf
taus (ms)
}
STATE { m s }
UNITSOFF
BREAKPOINT {
SOLVE states METHOD cnexp
thegna =gbar*m*s
ina = thegna * (v - ena)
}
INITIAL {
trates(v,ar,sh)
mtau = 1
m=minf
s=sinf
}
DERIVATIVE states {
trates(v,ar,sh)
mtau = 1
s' = (sinf - s)/taus
m' = (minf-m)/mtau
}
PROCEDURE trates(vm,a2,sh2) {
LOCAL c
minf = (1/(1+exp(-(vm+52.3-sh2)/vslope)))
taus = 1/(alps(vm)+bets(vm))
c=alps(vm)*taus
sinf = c+a2*(1-c)
}
FUNCTION alps(v(mV)) {
alps = a0s*exp((asvh-v)/avs)
}
FUNCTION bets(v(mV)) {
bets = b0s/(exp((bsvh-v)/bvs)+1)
}
UNITSON