TITLE Moore-Cox sodium channel
: Biophy. J. (1976) 16:171
: This paper mapped HH VClamp currents, 
: Used V-jump  to check match with HH action potential;
: Excellent fit to HH AP but closer to experimental
: records which lack the "gratituitous hump" in HH
: Changed from HH reference potential level at rest 
: to NEURON @-65mV

NEURON { SUFFIX MCna     USEION na READ ena WRITE ina
     RANGE gnabar, gna, ina, lp, ml, nm, porate    }

UNITS {     (mA) = (milliamp)     (mV) = (millivolt)}
INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}
PARAMETER { v (mV)   celsius = 6.3  (degC)  dt (ms)
     gnabar=.120 (mho/cm2)      ena = 50 (mV)
     lp=1.9      ml=.75  nm=.3        porate=1  }
STATE {  P L M N O}
ASSIGNED {     ina (mA/cm2)     gna (mho/cm2)}
LOCAL am, bm, ah, bh
INITIAL {     P=1     rate(v*1(/mV))
     SOLVE states STEADYSTATE sparse}
BREAKPOINT { SOLVE states METHOD sparse
     ina = gnabar*N*(v - ena)}

KINETIC states {
     rate(v*1(/mV))
     CONSERVE P + L + M + N + O = 1
     ~ P <-> L (am, lp*bm)   :back reaction in original = 3.5   
     ~ L <-> M (2*am, ml*bm)   :back reaction in original = 0
     ~ M <-> N (3*am, nm*bm)   :back reaction in original = 0
     ~ N <-> O (1.1*bh, 0)
     ~ N <-> P (3*bm, 0)
     ~ P <-> O (bh, ah)   :back reaction in original = 1,
  	      }


UNITSOFF
FUNCTION alp(v(mV),i) { LOCAL a,b,c,q10 :rest = -65  order m,h
     v = -v - 65  :convert to hh convention
     q10 = 3^((celsius - 6.3)/10)
     if (i==0) {
          alp = q10*.1*expM1(v + 25, 10)
     }else if (i==1){
          alp = q10*.07*exp(v/20)
     }
}

FUNCTION bet(v,i) { LOCAL a,b,c,q10 :rest = -70  order m,h
     v = -v - 65
     q10 = 3^((celsius - 6.3)/10)
     if (i==0) {
          bet = q10* 4*exp(v/18)
     }else if (i==1){
          bet = q10*1/(exp(.1*v + 3) + 1)
     }
}

FUNCTION expM1(x,y) {
     if (fabs(x/y) < 1e-6) {
          expM1 = y*(1 - x/y/2) : for singular point
     }else{
          expM1 = x/(exp(x/y) - 1)
     }
}

PROCEDURE rate(v) {LOCAL a, b, tau :rest = -65
     TABLE am, ah, bm, bh DEPEND dt, celsius FROM -100 TO 100 WITH 200
     am = alp(v, 0)
     ah = alp(v, 1)
     bm = bet(v, 0)
     bh = bet(v, 1)
}
UNITSON