TITLE fna.mod COMMENT ENDCOMMENT UNITS { (mA) = (milliamp) (mV) = (millivolt) (S) = (siemens) } NEURON { SUFFIX fna USEION na READ ena WRITE ina RANGE gnabar, gna, alpha, beta, alphah, betah, sum GLOBAL minf, hinf, mtau, htau } PARAMETER { gnabar = .12 (S/cm2) <0,1e9> gl = .0003 (S/cm2) <0,1e9> :celsius (degC) } STATE { m h } ASSIGNED { ena (mV) v (mV) :celsius (degC) alpha beta alphah betah sum gna (S/cm2) ina (mA/cm2) minf hinf mtau (ms) htau (ms) } LOCAL mexp, hexp BREAKPOINT { SOLVE states METHOD cnexp gna = gnabar*m*m*m*h ina = gna*(v - ena) } INITIAL { rates(v) m = minf h = hinf } DERIVATIVE states { rates(v) m' = (minf-m)/mtau h' = (hinf-h)/htau } LOCAL q10 PROCEDURE rates(v(mV)) { :Computes rate and other constants at current v. :Call once from HOC to initialize inf at resting v. :LOCAL alphah, betah :TABLE minf, mtau, hinf, htau, DEPEND celsius FROM -100 TO 100 WITH 200 UNITSOFF q10=1 :q10 = 3^((celsius - 6.3)/10) :"m" sodium activation system alpha = -.3 * vtrap((v+70-25),-5) beta = .3 * vtrap((v+70-53),5) sum = alpha + beta mtau = 1/(q10*sum) minf = alpha/sum :"h" sodium inactivation system alphah = .23 /exp((v+70-3)/20) betah = 3.33 / (1+exp((v+70-55.5)/(-10)) ) sum = alphah + betah htau = 1/(q10*sum) hinf = alphah/sum } FUNCTION vtrap(x,y) { :Traps for 0 in denominator of rate eqns. if (fabs(x/y) < 1e-6) { vtrap = y*( 1- x/y/2 ) }else{ vtrap = x/( exp(x/y) - 1 ) } } UNITSON