UNITS {
(mV) = (millivolt)
(mA) = (milliamp)
(S) = (siemens)
}
NEURON {
SUFFIX NaP
USEION na READ ena WRITE ina
RANGE gmax, ina
}
PARAMETER {
gmax = 1.3802e-7 (S/cm2) : 4e-5 in soma; 1.3802e-7 in dends
mvhalf = -52.6 (mV) : Magistretti 1999, Fig 4
mslope = -4.6 (mV) : Magistretti 1999, Fig 4
hvhalf = -48.8 (mV) : Magistretti 1999, Fig 4
hslope = 10.0 (mV) : Magistretti 1999, Fig 4
}
STATE { m h }
ASSIGNED {
ena (mV)
v (mV)
ina (mA/cm2)
g (S/cm2)
minf
hinf
mtau (ms) : Traub 2003, Table A2
}
BREAKPOINT {
SOLVE state METHOD cnexp
g = gmax * m * h
ina = g * ( v - ena )
: VERBATIM
: printf("Ena is %g\n", ena);
: ENDVERBATIM
}
INITIAL {
rates(v)
m = minf
h = hinf
}
FUNCTION_TABLE tabhtau (v(mV)) (ms) : Magistretti 1999, Fig 8A
DERIVATIVE state {
rates(v)
m' = (minf - m) / mtau
h' = (hinf - h) / tabhtau(v)
}
PROCEDURE rates(v (mV)) {
TABLE minf, hinf, mtau
FROM -120 TO 40 WITH 160
minf = 1 / (1 + exp( (v - mvhalf) / mslope))
hinf = 1 / (1 + exp( (v - hvhalf) / hslope))
UNITSOFF
if (v < -40) { : Traub 2003, Table A2
mtau = 0.025 + 0.14 * exp( (v + 40 ) / 10)
} else {
mtau = 0.02 + 0.145 * exp( (-v - 40) / 10)
}
UNITSON
}