TITLE Paranode Axon channels
:
: Based on axon model from McIntyre2004
:
: Fast K+ currents
: Iterative equations H-H notation rest = -75 mV
INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}
NEURON {
SUFFIX parak75
NONSPECIFIC_CURRENT ik
RANGE gkbar, ek
RANGE n_inf
RANGE tau_n
}
UNITS {
(mA) = (milliamp)
(mV) = (millivolt)
}
PARAMETER {
gkbar = 0.01 (mho/cm2)
ek = -85.0 (mV)
celsius (degC)
dt (ms)
v (mV)
vshift = 5 (mV)
anA = 0.00798
anB = 93.2
anC = 1.1
bnA = 0.0142
bnB = 76
bnC = 10.5
}
STATE {
n
}
ASSIGNED {
ik (mA/cm2)
n_inf
tau_n
q10
}
BREAKPOINT {
SOLVE states METHOD cnexp
ik = gkbar * n*n*n*n * (v - ek)
}
DERIVATIVE states { : exact Hodgkin-Huxley equations
evaluate_fct(v)
n' = (n_inf - n) / tau_n
}
UNITSOFF
INITIAL {
:Q10 adjustment
q10 = 3.0 ^ ((celsius-20)/ 10 )
evaluate_fct(v)
n = n_inf
}
PROCEDURE evaluate_fct(v(mV)) { LOCAL a,b,v2
v2 = v-vshift
a = q10*vtrap1(v2)
b = q10*vtrap2(v2)
tau_n = 1 / (a + b)
n_inf = a / (a + b)
}
FUNCTION vtrap1(x) {
if (fabs((x+anB)/anC) < 1e-6) {
vtrap1 = anA*anC
}else{
vtrap1 = (anA*(x+anB)) / (1 - Exp(-(x+anB)/anC))
}
}
FUNCTION vtrap2(x) {
if (fabs((x+bnB)/bnC) < 1e-6) {
vtrap2 = bnA*bnC : Ted Carnevale bug fix removed minus sign
}else{
vtrap2 = (bnA*(-(x+bnB))) / (1 - Exp((x+bnB)/bnC))
}
}
FUNCTION Exp(x) {
if (x < -100) {
Exp = 0
}else{
Exp = exp(x)
}
}
UNITSON