NEURON {
SUFFIX MN_na
USEION na READ ena WRITE ina
RANGE gmax, ina
RANGE alpha_A_m, alpha_B_m, alpha_C_m, alpha_D_m, alpha_E_m
RANGE beta_A_m, beta_B_m, beta_C_m, beta_D_m, beta_E_m
RANGE alpha_A_h, alpha_B_h, alpha_C_h, alpha_D_h, alpha_E_h
RANGE beta_A_h, beta_B_h, beta_C_h, beta_D_h, beta_E_h
}
UNITS {
(mA) = (milliamp)
(mV) = (millivolt)
(S) = (siemens)
}
PARAMETER {
gmax = 0 (S/cm2)
alpha_A_m = 13.26
alpha_B_m = 0.0
alpha_C_m = 0.5
alpha_D_m = -5.01
alpha_E_m = -12.56
beta_A_m = 5.73
beta_B_m = 0.0
beta_C_m = 1.0
beta_D_m = 5.01
beta_E_m = 9.69
alpha_A_h = 0.04
alpha_B_h = 0.0
alpha_C_h = 0.0
alpha_D_h = 28.8
alpha_E_h = 26.0
beta_A_h = 2.04
beta_B_h = 0.0
beta_C_h = 0.001
beta_D_h = -9.09
beta_E_h = -10.21
}
ASSIGNED {
v (mV)
ena (mV)
ina (mA/cm2)
na_minf
na_hinf
na_mtau (ms)
na_htau (ms)
rate_h
rate_m
}
STATE {
h
m
}
INITIAL {
ena = 50.0
rates()
h = na_hinf
m = na_minf
}
BREAKPOINT {
SOLVE states METHOD cnexp
ina = gmax * m*m*m * h * (v - ena)
}
DERIVATIVE states {
rates()
m' = ( na_minf - m ) / na_mtau
h' = ( na_hinf - h ) / na_htau
}
UNITSOFF
PROCEDURE rates() {LOCAL alpha_m, beta_m, alpha_h, beta_h
:alpha_m = 13.26/(0.5 + exp((-5.01+v)/(-12.56)))
:beta_m = 5.73/(1.0 + exp((5.01+v)/9.69))
:alpha_h = 0.04/exp((28.8+v)/26.0)
:beta_h = 2.04/(0.001 + exp((-9.09+v)/-10.21))
alpha_m = (alpha_A_m+alpha_B_m*v)/(alpha_C_m+exp((alpha_D_m+v)/alpha_E_m))
beta_m = (beta_A_m+beta_B_m*v)/(beta_C_m+exp((beta_D_m+v)/beta_E_m))
alpha_h = (alpha_A_h+alpha_B_h*v)/(alpha_C_h+exp((alpha_D_h+v)/alpha_E_h))
beta_h = (beta_A_h+beta_B_h*v)/(beta_C_h+exp((beta_D_h+v)/beta_E_h))
na_mtau = 1/( alpha_m + beta_m)
na_htau = 1/( alpha_h + beta_h)
na_minf = alpha_m * na_mtau
na_hinf = alpha_h * na_htau
}
UNITSON