TITLE T-type calcium channel COMMENT T-Type Ca2+ channel From: Migliore et al, 1995; based on Jaffe et al, 1994 Updates: 20100910-MJCASE-documented ENDCOMMENT VERBATIM #include /* Include this library so that the following (innocuous) warning does not appear: In function '_thread_cleanup': warning: incompatible implicit declaration of built-in function 'free' */ ENDVERBATIM UNITS { (mA) = (milliamp) (mV) = (millivolt) FARADAY = 96520 (coul) R = 8.3134 (joule/degC) KTOMV = .0853 (mV/degC) } PARAMETER { v (mV) : membrane potential celsius (degC) : temperature - set in hoc; default is 6.3 gmax=.003 (mho/cm2) : conductance flux (bar(?)) cai (mM) : intracellular Ca2+ concentration cao (mM) : extracellular Ca2+ concentration } NEURON { SUFFIX ch_CavT : The name of the mechanism USEION ca READ cai, cao WRITE ica VALENCE 2 RANGE gmax, cai, ica RANGE myi THREADSAFE } STATE { m h : m = , h = } ASSIGNED { : assigned (where?) ica (mA/cm2) : current flux g (mho/cm2) : conductance flux :etca (mV) : reversal potential myi (mA/cm2) } : verbatim blocks are not thread safe (perhaps related, this mechanism cannot be used with cvode) INITIAL { m = minf(v) h = hinf(v) VERBATIM cai=_ion_cai; ENDVERBATIM } BREAKPOINT { SOLVE states METHOD cnexp g = gmax*m*m*h ica = g*ghk(v,cai,cao) myi = ica } DERIVATIVE states { : exact when v held constant m' = (minf(v) - m)/m_tau(v) h' = (hinf(v) - h)/h_tau(v) } FUNCTION ghk(v(mV), ci(mM), co(mM)) (mV) { LOCAL nu,f f = KTF(celsius)/2 nu = v/f ghk=-f*(1. - (ci/co)*exp(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/(exp(z) - 1) } } FUNCTION hinf(v(mV)) { LOCAL a,b TABLE FROM -150 TO 150 WITH 200 a = 1.e-6*exp(-v/16.26) b = 1/(exp((-v+29.79)/10)+1) hinf = a/(a+b) } FUNCTION minf(v(mV)) { LOCAL a,b TABLE FROM -150 TO 150 WITH 200 a = 0.2*(-1.0*v+19.26)/(exp((-1.0*v+19.26)/10.0)-1.0) b = 0.009*exp(-v/22.03) minf = a/(a+b) } FUNCTION m_tau(v(mV)) (ms) { LOCAL a,b TABLE FROM -150 TO 150 WITH 200 a = 0.2*(-1.0*v+19.26)/(exp((-1.0*v+19.26)/10.0)-1.0) b = 0.009*exp(-v/22.03) m_tau = 1/(a+b) } FUNCTION h_tau(v(mV)) (ms) { LOCAL a,b TABLE FROM -150 TO 150 WITH 200 a = 1.e-6*exp(-v/16.26) b = 1/(exp((-v+29.79)/10.)+1.) h_tau = 1/(a+b) }