COMMENT na.mod Sodium channel, Hodgkin-Huxley style kinetics. Author: Alon Korngreen, MPI, 1999 ENDCOMMENT INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)} NEURON { SUFFIX na USEION na READ ena WRITE ina RANGE m, h, gna, gbar,vshiftm,vshifth,taum_scale,tauh_scale RANGE minf, hinf, mtau, htau GLOBAL a1,a2,a3,a4,v05m,km GLOBAL i1,i2,i3,i4,v05h,kh GLOBAL q10, temp, tadj, vmin, vmax } PARAMETER { gbar = 0.0 (pS/um2) : 0.12 mho/cm2 vshiftm =-5 (mV) : activation voltage shift vshifth =-10 (mV) : inactivation voltage shift taum_scale= 1 tauh_scale=1 a1=0.058 (ms) : activation parameters a2=0.114 (ms) a3=-36 (mV) a4=28 (mV) v05m=-38 (mV) km=10 (mV) i1=0.28 (ms) : inactivation parameters i2=16.7 (ms) i3=-60 (mV) i4=25 (mV) v05h=-66 (mV) kh=-6 (mV) temp = 21 (degC) : original temp q10 = 2.3 : temperature sensitivity v (mV) celsius (degC) vmin = -120 (mV) vmax = 100 (mV) } UNITS { (mA) = (milliamp) (mV) = (millivolt) (pS) = (picosiemens) (um) = (micron) } ASSIGNED { ina (mA/cm2) gna (pS/um2) ena (mV) minf hinf mtau (ms) htau (ms) tadj } STATE { m h } INITIAL { mrates(v+vshiftm) hrates(v+vshifth) m = minf h = hinf } BREAKPOINT { SOLVE states METHOD cnexp gna = gbar*m*m*m*h ina = (1e-4) * gna * (v - ena) } DERIVATIVE states { mrates(v+vshiftm) hrates(v+vshifth) m' = (minf-m)/mtau h' = (hinf-h)/htau } PROCEDURE mrates(vm) { :TABLE mtau, minf DEPEND celsius FROM vmin TO vmax WITH 199 tadj = q10^((celsius - temp)/10) mtau = (a1+a2*exp(-((vm-a3)/a4)^2))/tadj minf = 1/(1+exp(-(vm-v05m)/km)) } PROCEDURE hrates(vm) { :TABLE htau, hinf DEPEND celsius FROM vmin TO vmax WITH 199 tadj = q10^((celsius - temp)/10) htau = (i1+i2*exp(-((vm-i3)/i4)^2))/tadj hinf = 1/(1+exp(-(vm-v05h)/kh)) }