TITLE l-calcium channel
: l-type calcium channel
UNITS {
(mA) = (milliamp)
(mV) = (millivolt)
FARADAY = 96520 (coul)
R = 8.3134 (joule/degC)
KTOMV = .0853 (mV/degC)
}
PARAMETER {
v (mV)
celsius= 34 (degC)
gcalbar=0 (mho/cm2)
ki=.001 (mM)
cai = 100.e-6 (mM)
cao = 2 (mM)
tfa = 5
ggk
eca = 140
}
NEURON {
SUFFIX cal
USEION ca READ cao, cai WRITE ica
RANGE gcalbar,cai, ica, gcal, ggk
GLOBAL minf,taum
:POINTER cap
}
STATE {
m
}
ASSIGNED {
ica (mA/cm2)
gcal (mho/cm2)
minf
taum (ms)
:cap
}
INITIAL {
rate(v)
m = minf
}
BREAKPOINT {
SOLVE state METHOD cnexp
gcal = gcalbar*m*h2(cai)
ggk=ghk(v,cai,cao)
ica = gcal*ggk
}
FUNCTION h2(cai(mM)) {
h2 = ki/(ki+cai)
}
FUNCTION MyExp(x) {
if (x<-50) {MyExp=0}
else if (x>50) {MyExp=exp(50)}
else {MyExp=exp(x)}
}
FUNCTION ghk(v(mV), ci(mM), co(mM)) (mV) {
LOCAL nu,f
f = KTF(celsius)/2
nu = v/f
ghk=-f*(1. - (ci/co)*MyExp(nu))*efun(nu)
}
FUNCTION KTF(celsius (DegC)) (mV) {
KTF = ((25./293.15)*(celsius + 273.15))
}
FUNCTION efun(z) {
if (fabs(z) < 1e-4) {
efun = 1 - z/2
}else{
efun = z/(MyExp(z) - 1)
}
}
FUNCTION alpm(v(mV)) {
TABLE FROM -150 TO 150 WITH 200
alpm = 0.055*(-27.01 - v)/(MyExp((-27.01-v)/3.8) - 1)
}
FUNCTION betm(v(mV)) {
TABLE FROM -150 TO 150 WITH 200
betm =0.94*MyExp((-63.01-v)/17)
}
DERIVATIVE state {
rate(v)
m' = (minf - m)/taum
}
PROCEDURE rate(v (mV)) { :callable from hoc
LOCAL a, b, qt
a = alpm(v)
taum = 1/(tfa*(a+betm(v))) : estimation of activation tau
minf = a/(a+betm(v)) : estimation of activation steady state value
}