NEURON {
SUFFIX bk_dop
USEION k READ ek WRITE ik
USEION ca READ cai
RANGE gbar, ik
GLOBAL minf, mtau, hinf, htau, zinf, ztau
GLOBAL m_vh, m_k, mtau_y0, mtau_vh1, mtau_vh2, mtau_k1, mtau_k2
GLOBAL z_coef, ztau
GLOBAL h_y0, h_vh, h_k, htau_y0, htau_vh1, htau_vh2, htau_k1, htau_k2
}
UNITS {
(mV) = (millivolt)
(mA) = (milliamp)
(mM) = (milli/liter)
(S) = (siemens)
}
PARAMETER {
gbar = 1 (S/cm2)
m_vh = -28.9 (mV)
m_k = 6.2 (mV)
mtau_y0 = .000505 (ms)
mtau_vh1 = -33.3 (mV)
mtau_k1 = -10 (mV)
mtau_vh2 = 86.4 (mV)
mtau_k2 = 10.1 (mV)
z_coef = .001 (mM)
ztau = 1 (ms)
h_y0 = .085
h_vh = -32 (mV)
h_k = 5.8 (mV)
htau_y0 = .0019 (ms)
htau_vh1 = -54.2 (mV)
htau_k1 = -12.9 (mV)
htau_vh2 = 48.5 (mV)
htau_k2 = 5.2 (mV)
cai (mM)
}
ASSIGNED {
g (S/cm2)
minf
mtau (ms)
hinf
htau (ms)
zinf
v (mV)
ek (mV)
ik (mA/cm2)
}
STATE {
m FROM 0 TO 1
z FROM 0 TO 1
h FROM 0 TO 1
}
BREAKPOINT {
SOLVE states METHOD cnexp
g = gbar * m * m * m * z * z * h
ik = g * (v - ek)
}
DERIVATIVE states {
rates(v)
m' = (minf - m) / mtau
h' = (hinf - h) / htau
z' = (zinf - z) / ztau
}
PROCEDURE rates(Vm (mV)) {
LOCAL v
v = Vm + 5
minf = 1 / (1 + exp(-(v - (m_vh)) / m_k))
mtau = (mtau_y0 + 1 (ms) /(exp((v+ mtau_vh1)/mtau_k1) + exp((v+mtau_vh2)/mtau_k2)))
zinf = 1/(1 + z_coef / cai)
hinf = h_y0 + (1-h_y0) / (1+exp((v - h_vh)/h_k))
htau = (htau_y0 + 1 (ms) /(exp((v + htau_vh1)/htau_k1)+exp((v+htau_vh2)/htau_k2)))
}
INITIAL {
rates(v)
m = minf
z = zinf
h = hinf
}