: $Id: CA1ina.mod,v 1.4 2010/11/30 19:50:00 samn Exp $ TITLE INa CA1 UNITS { (mA) = (milliamp) (mV) = (millivolt) } NEURON { SUFFIX nacurrent NONSPECIFIC_CURRENT ina RANGE g, e, vi, ki RANGE minf,hinf,iinf,mtau,htau,itau : testing } PARAMETER { : v (mV) celsius (degC) g = 0.032 (mho/cm2) e = 55 (mV) vi = -60 (mV) ki = 0.8 } STATE { m h I : i } ASSIGNED { i (mA/cm2) ina (mA/cm2) minf mtau (ms) hinf htau (ms) iinf itau (ms) v (mV) : testing } : PROCEDURE iassign () { ina=g*m*m*m*h*i*(v-e) } PROCEDURE iassign () { i=g*m*m*m*h*I*(v-e) ina=i} BREAKPOINT { SOLVE states METHOD cnexp iassign() } DERIVATIVE states { rates(v) m' = (minf - m) / mtau h' = (hinf - h) / htau : i' = (iinf - i) / itau I' = (iinf - I) / itau } INITIAL { rates(v) h = hinf m = minf : i = iinf I = iinf iassign() : testing } PROCEDURE rates(v (mV)) { LOCAL a, b UNITSOFF a = 0.4*(v+30)/(1-exp(-(v+30)/7.2)) b = 0.124*(v+30)/(exp((v+30)/7.2)-1) mtau=0.5/(a+b) if (mtau<0.02) {mtau=0.02} minf=a/(a+b) a = 0.03*(v+45)/(1-exp(-(v+45)/1.5)) b = 0.01*(v+45)/(exp((v+45)/1.5)-1) htau=0.5/(a+b) if (htau<0.5) {htau=0.5} hinf=1/(1+exp((v+50)/4)) a = exp(0.45*(v+66)) b = exp(0.09*(v+66)) itau=3000*b/(1+a) if (itau<10) {itau=10} iinf=(1+ki*exp((v-vi)/2))/(1+exp((v-vi)/2)) UNITSON }