COMMENT
ca.mod
Uses fixed eca instead of GHK eqn
HVA Ca current
Based on Reuveni, Friedman, Amitai and Gutnick (1993) J. Neurosci. 13:
4609-4621.
Author: Zach Mainen, Salk Institute, 1994, zach@salk.edu
ENDCOMMENT
INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}
NEURON {
SUFFIX casoma
USEION ca READ eca WRITE ica
RANGE m, h, gca, gbar
RANGE minf, hinf, mtau, htau
GLOBAL q10, temp, tadj, vmin, vmax, vshift
RANGE v1, v2, v3, v4, v5, v6, v7, v8
}
PARAMETER {
gbar = 1.25(pS/um2) : 0.12 mho/cm2
vshift = 0 (mV) : voltage shift (affects all)
cao = 2.5 (mM) : external ca concentration
cai (mM)
temp = 30 (degC) : original temp (23 Jary Y. Delgado)
q10 = 2.3 : temperature sensitivity
v (mV)
dt (ms)
celsius (degC)
vmin = -120 (mV)
vmax = 100 (mV)
v1 = 13 (mV)
v2 = 50 (mV)
v3 = 15 (mV)
v4 = 8.5 (mV)
v5 = 27 (mV)
v6 = 6 (mV)
v7 = 90 (mV)
v8 = 8.5 (mV)
}
UNITS {
(mA) = (milliamp)
(mV) = (millivolt)
(pS) = (picosiemens)
(um) = (micron)
(molar) = (1/liter)
(mM) = (millimolar)
FARADAY = (faraday) (coulomb)
R = (k-mole) (joule/degC)
PI = (pi) (1)
}
ASSIGNED {
ica (mA/cm2)
gca (pS/um2)
eca (mV)
minf hinf
mtau (ms) htau (ms)
tadj
a
b
}
STATE { m h }
INITIAL {
trates(v+vshift)
m = minf
h = hinf
}
BREAKPOINT {
SOLVE states
gca = tadj*gbar*m*m*h
ica = (1e-4) * gca * (v - eca)
}
LOCAL mexp, hexp
PROCEDURE states() {
: trates(v+vshift)
LOCAL tinc
: a = 0.055*(-27 - v)/(exp((-27-v)/3.8) - 1)
: b = 0.94*exp((-75-v)/17)
a = 0.055*(-v5 - v)/(exp((-v5-v)/v6) - 1)
b = 0.94*exp((-v7-v)/v8)
mtau = 1/(a+b)
minf = a*mtau
:"h" inactivation
: a = 0.000457*exp((-13-v)/50)
: b = 0.0065/(exp((-v-15)/28) + 1)
a = 0.000457*exp((-v1-v)/v2)
b = 0.0065/(exp((-v-v3)/v4) + 1)
htau = 1/(a+b)
hinf = a*htau
tadj = q10^((celsius - temp)/10)
tinc = -dt * tadj
mexp = 1 - exp(tinc/mtau)
hexp = 1 - exp(tinc/htau)
m = m + mexp*(minf-m)
h = h + hexp*(hinf-h)
VERBATIM
return 0;
ENDVERBATIM
}
PROCEDURE trates(v (mV)) {
LOCAL tinc
TABLE minf, mexp, hinf, hexp
DEPEND dt, celsius, temp
FROM vmin TO vmax WITH 199
rates(v): not consistently executed from here if usetable == 1
tadj = q10^((celsius - temp)/10(degC))
tinc = -dt * tadj
mexp = 1 - exp(tinc/mtau)
hexp = 1 - exp(tinc/htau)
}
PROCEDURE rates(vm (mV)) {
LOCAL a, b
a = 0.055(/ms/mV)*(-27(mV) - vm)/(exp((-27(mV)-vm)/3.8(mV)) - 1)
b = 0.94(/ms)*exp((-75(mV)-vm)/17(mV))
mtau = 1/(a+b)
minf = a*mtau
:"h" inactivation
a = 0.000457(/ms)*exp((-13(mV)-vm)/50(mV))
b = 0.0065(/ms)/(exp((-vm-15(mV))/28(mV)) + 1)
htau = 1/(a+b)
hinf = a*htau
}
FUNCTION efun(z) {
if (fabs(z) < 1e-4) {
efun = 1 - z/2
}else{
efun = z/(exp(z) - 1)
}
}