TITLE I_A current from Connor-Stevens model, adaptable with shifts and scales
COMMENT
Assumes the temp is 10 degC, and rates are corrected from CS accordingly.
ENDCOMMENT
UNITS
{
(mA) = (milliamp)
(mV) = (millivolt)
(molar) = (1/liter)
(mM) = (millimolar)
(S) = (mho)
(uS) = (microS)
}
NEURON
{
SUFFIX aa
USEION k READ ek WRITE ik
RANGE gbar, ik, minf, hinf, taum, tauh, vshiftm,vscalem,tauscalem,vshifth,vscaleh,tauscaleh
}
PARAMETER : this is a variable-declaration block, for params settable
: from the interface
{
gbar = 0 (uS/mm2)
vshiftm = -4.6005120000000002e+000 (mV) : per params_07 in ours-na-kd-v8
vscalem = 1.0363050000000000e+000
tauscalem = 1.8606229999999999e+000
vshifth = -8.6378999999999995e-001 (mV)
vscaleh = 1.0326500000000001e+000
tauscaleh = 2.0000000000000000e+000
}
ASSIGNED
{
v (mV)
ek (mV)
minf
taum (ms)
hinf
tauh (ms)
g (uS/mm2)
ik (mA/cm2)
}
STATE : also a var-decl block, where one declares state vars local to
: this particular mechanism
{
m
h
}
BREAKPOINT
{
SOLVE state_change METHOD cnexp
g = gbar*m^3*h
ik = (1e-4)*(g*(v-ek))
}
DERIVATIVE state_change
{
rates(v) : Calculate minf, taum, hinf, tauh
m' = (minf-m)/taum
h' = (hinf-h)/tauh
}
INITIAL
{
rates(v)
m = minf
h = hinf
}
PROCEDURE rates(v(mV))
{
LOCAL Q, vscaledm, vscaledh
Q=1.501533
vscaledm=v/vscalem-vshiftm
minf=(0.0761*exp((vscaledm-(-94.22(mV)))/(31.84(mV)))*lgc(-(vscaledm-(-1.17(mV)))/(28.93(mV))))^(1/3)
taum=tauscalem*(0.3632(ms)+1.158(ms)*lgc(-(vscaledm-(-55.96(mV)))/(20.12(mV))))*(3.8/Q)
vscaledh=v/vscaleh-vshifth
hinf=(lgc(-(vscaledh-(-53.3(mV)))/(14.54(mV))))^4
tauh=tauscaleh*(1.24(ms)+2.678(ms)*lgc(-(vscaledh-(-50.0(mV)))/(16.027(mV))))*(3.8/Q)
}
FUNCTION lgc(x)
{
lgc = 1/(1+exp(-x))
}