COMMENT
This file, ahp.mod, implements the after hyperpolarization (gAHP)
current from Quadroni and Knopfel 1994 table 1
Note: this channel can be verified by testing if gives behavior specified in Quadroni
thesis, i.e. that channel is inactivated at cai concentration of 50 nM (5e-5 mM) and
essentially activated at 500 nM (5e-4 mM) (at ten fold higher concentration )
ENDCOMMENT
NEURON {
SUFFIX ahp
USEION ca READ cai
NONSPECIFIC_CURRENT i
RANGE i, Erev, gbar, q, tau_q, qinf, betaq_const
}
UNITS {
(S) = (siemens)
(mV) = (millivolt)
(mA) = (milliamp)
}
PARAMETER {
gbar = 2167e-6 (S/cm2) < 0, 1e9 >
Erev = -82 (mV)
cai (mM) : starts at 0.050 uM = 5e-8 (M) = 5e-5 mM
betaq_const = 0.074 : Q+K 94
}
ASSIGNED {
i (mA/cm2)
v (mV)
g (S/cm2)
qinf
tau_q (ms)
}
STATE { q }
BREAKPOINT {
SOLVE states METHOD cnexp
g = gbar * q*q
i = g * (v - Erev)
}
INITIAL {
: assume that v has been constant for a long time
q = alphaq(v)/(alphaq(v) + betaq(v))
}
DERIVATIVE states {
rates(v)
q' = (qinf - q)/tau_q
}
FUNCTION alphaq(Vm (mV)) (/ms) {
UNITSOFF
alphaq = 3.5e9 * (cai)^3
UNITSON
}
FUNCTION betaq(Vm (mV)) (/ms) {
UNITSOFF
betaq = betaq_const
UNITSON
}
FUNCTION tauq(Vm (mV)) (/ms) {
UNITSOFF
tauq = 1.0 / (alphaq(Vm) + betaq(Vm))
UNITSON
}
PROCEDURE rates(Vm(mV)) {
tau_q = tauq(Vm)
qinf = alphaq(Vm) * tau_q : change back to a/(a+b) if use tauq_min
}