TITLE Ca2+ deinactivated K-D channel from RBD UNITS { (mA) = (milliamp) (mV) = (millivolt) (S) = (siemens) (molar) = (1/liter) (mM) = (millimolar) } NEURON { THREADSAFE : note - every variable accessible in NEURON will be having the suffix _KD_ca3 SUFFIX KD_ca3 USEION k READ ek WRITE ik USEION ca READ cai RANGE gmax, g, taun, taul GLOBAL tnmax, tlmax } PARAMETER { : all values can be adjusted in hoc files gmax=0.01 (mho/cm2) vhalfn=-49 (mV) vn2=-60 (mV) zn=7.0 (mV) tnmax=10 (ms) tnmin=1.5 (ms) tns=-5.5 (mV) np=2 vhalfl=-70 (mV) zl=-3.5 (mV) tlmax=1050 (ms) tlmin=70 (ms) vl2=-75 (mV) tls=15 (mV) cavm=18 (mV) lcp=1 (1) kD=4e-4 (mM) tauca=20 (ms) } STATE { n l ov (mV) ovs (mV) } ASSIGNED { v (mV) ek (mV) cai (mM) ik (mA/cm2) ninf linf vs (mV) taul (ms) taun (ms) g (S/cm2) } BREAKPOINT { SOLVE states METHOD cnexp l = 1/(1+exp((vhalfl-ov+ovs)/zl)) g = gmax*n^np*l ik = g*(v-ek) } INITIAL { lf(v) rates(v) n = ninf l = 1/(1+exp((vhalfl-v)/zl)*exp(vs/zl)) ov = v ovs = vs } FUNCTION alpn(v(mV)) { alpn = exp((vhalfn-v)/zn) } FUNCTION betn(v(mV)) { betn = exp((vn2-v)/tns) } DERIVATIVE states { lci(cai) rates(v) n' = (ninf - n)/taun :l' = (linf - l)/taul :l' = (1/zl)*exp((vhalfl-)/zl)*exp(vs/zl)/(1+exp((vhalfl-v)/zl)*exp(vs/zl))^2 :l' = linf - l ov' = (v-ov)/taul ovs' = (vs-ovs)/tauca } PROCEDURE lf(v(mV)) { LOCAL dvdt, dsdt lci(cai) :linf = 1/(1+exp((vhalfl-v)/zl)*exp(vs/zl)) linf = 1/(1+exp((vhalfl-ov+ovs)/zl)) } PROCEDURE rates(v (mV)) { :callable from hoc LOCAL a TABLE ninf, taun, taul DEPEND vhalfn, tlmax, tnmax, tnmin, zn FROM -100 TO 50 WITH 600 a = alpn(v) ninf = 1/(1 + a) taun = 4*(tnmax-tnmin)/(1+betn(v))*ninf+tnmin taul = 2*tlmax/( exp((v-vl2)/tls) + exp((vl2-v)/tls) ) + tlmin } PROCEDURE lci(cai (mM)) { :callable from hoc TABLE vs DEPEND lcp, kD, cavm FROM 0 TO 0.02 WITH 500 vs = cavm-cavm/(1+(cai/kD)^lcp) }