TITLE HH channel
: Mel-modified Hodgkin - Huxley conductances (after Ojvind et al.)
VERBATIM
static const char rcsid[]="$Id: hh3.mod,v 1.1 1996/05/19 19:26:28 karchie Exp $";
ENDVERBATIM
NEURON {
SUFFIX hh3
USEION na READ ena WRITE ina
USEION k READ ek WRITE ik
NONSPECIFIC_CURRENT il
RANGE gnabar, gkbar, gl, el,gkbar2,vshift
GLOBAL taus,taun,taum,tauh,tausb,taun2
GLOBAL tausv,tausd,mN,nN,sN
}
UNITS {
(mA) = (milliamp)
(mV) = (millivolt)
}
INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}
PARAMETER {
v (mV)
celsius = 37 (degC)
dt (ms)
gnabar=.20 (mho/cm2)
gkbar=.12 (mho/cm2)
gkbar2=.12 (mho/cm2)
gl=.0001 (mho/cm2)
ena = 40 (mV)
ek = -80 (mV)
el = -70.0 (mV) : steady state at v = -65 mV
taum=0.05
tauh=0.5
taus=50
tausv=30
tausd=1
taun=1
taun2 =10
mN=3
nN=3
sN=1
tausb=0.5
vshift=0
}
STATE {
m h n s n2
}
ASSIGNED {
ina (mA/cm2)
ik (mA/cm2)
il (mA/cm2)
}
BREAKPOINT {
SOLVE states
ina = gnabar*h*s^sN*(v - ena)*m^mN
ik = gkbar*(v - ek)*n^nN+gkbar2*(v - ek)*n2^nN
il = gl*(v - el)
}
PROCEDURE states() { : exact when v held constant
LOCAL sigmas
sigmas=1/(1+exp((v+tausv+vshift)/tausd))
m = m + (1 - exp(-dt/taum))*(1 / (1 + exp((v + 40+vshift)/(-3))) - m)
h = h + (1 - exp(-dt/tauh))*(1 / (1 + exp((v + 45+vshift)/3)) - h)
s = s + (1 - exp(-dt/(taus*sigmas+tausb)))*(1 / (1 + exp((v + 44+vshift)/3)) - s)
n = n + (1 - exp(-dt/taun))*(1 / (1 + exp((v + 40+vshift)/(-3))) - n)
n2 = n2 + (1 - exp(-dt/taun2))*(1 / (1 + exp((v + 40+vshift)/(-3))) - n2)
VERBATIM
return 0;
ENDVERBATIM
}