TITLE Ca R-type channel : Yiota Poirazi, 11/13/00 NEURON { SUFFIX car USEION ca READ eca WRITE ica RANGE gcabar, m, h RANGE inf, fac, tau } UNITS { (mA) = (milliamp) (mV) = (millivolt) } INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)} PARAMETER { v (mV) celsius = 34 (degC) dt (ms) gcabar=0 (mho/cm2) eca = 140 (mV) } STATE { m h } ASSIGNED { ica (mA/cm2) inf[2] fac[2] tau[2] } BREAKPOINT { SOLVE states ica = gcabar*m*m*m*h*(v - eca) :ica = gcabar*m*m*m*(v - eca ) } INITIAL { h=1 m=0 states() ica = gcabar*m*m*m*h*(v - eca) :ica = gcabar*m*m*m*(v - eca) } PROCEDURE calcg() { mhn(v*1(/mV)) m = m + fac[0]*(inf[0] - m) h = h + fac[1]*(inf[1] - h) } PROCEDURE states() { : exact when v held constant calcg() VERBATIM return 0; ENDVERBATIM } FUNCTION varss(v, i) { if (i==0) { varss = 1 / (1 + exp((v+49)/(-3))) :Ca activation } else if (i==1) { varss = 1/ (1 + exp((v+52)/(1))) :Ca inactivation } } FUNCTION vartau(v, i) { if (i==0) { : vartau = 5+9/(exp((v+35)/5) + exp(-(v+35)/5)) vartau = 50 } else if (i==1) { : vartau = 7+ 50/(exp((v+35)/10) + exp(-(v+35)/20)) vartau = 10 } } PROCEDURE mhn(v) {LOCAL a, b :rest = -70 : TABLE inf, fac DEPEND dt, celsius FROM -100 TO 100 WITH 200 FROM i=0 TO 1 { tau[i] = vartau(v,i) inf[i] = varss(v,i) fac[i] = (1 - exp(-dt/tau[i])) } }