TITLE M99Ka.mod - K (A) COMMENT From Migliore et al J. Comput. Neurosci. 7(1):5-15, 1999 Based on Hoffman et al (1997) CA1 data. Activation time constant, forward and backward rates parameterized to allow for differences between proximal and distal Ka. BPG 31-10-99 Ability to shift (in)activation curves and change time constants added via parameters. BPG 12-11-99 Minimum inactivation time constant added BPG 9-1-01 ENDCOMMENT UNITS { (mA) = (milliamp) (mV) = (millivolt) } NEURON { SUFFIX M99Ka USEION k WRITE ik RANGE gkbar,gk,ik,tmfac,afac,bfac,thfac,vms,vhs,minf,hinf,mexp,hexp,thmin : GLOBAL minf, hinf, mexp, hexp } INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)} PARAMETER { v (mV) celsius = 35 (degC) dt (ms) gkbar = 0.048 (mho/cm2) ek = -90 (mV) tmfac = 4 (1) : activation time constant factor (def. proximal) thfac = 1 (1) : inactivation time constant factor thmin = 2 (ms) : minimum inactivation time constant afac = 1.5 (1) : activation forward rate factor bfac = 0.825 (1) : activation backward rate factor vms = 0 (mV) : activation curve voltage shift (+ve=right) vhs = 0 (mV) : inactivation curve voltage shift } STATE { m h } ASSIGNED { ik (mA/cm2) minf hinf mexp hexp } BREAKPOINT { SOLVE states ik = gkbar*m*h*(v - ek) } UNITSOFF INITIAL { rates(v) m = minf h = hinf } PROCEDURE states() { :Computes state variables m, h rates(v) : at the current v and dt. m = m + mexp*(minf-m) h = h + hexp*(hinf-h) } PROCEDURE rates(v) { :Computes rate and other constants at current v. :Call once from HOC to initialize inf at resting v. LOCAL alpha, beta, sum, tau TABLE minf,mexp,hinf,hexp DEPEND dt,vms,vhs,tmfac,afac,bfac,thfac,thmin FROM -100 TO 100 WITH 200 :"m" potassium activation system alpha = exp(-0.038*(afac+1/(1+exp((v-vms+40)/5)))*(v-vms-11)) beta = exp(-0.038*(bfac+1/(1+exp((v-vms+40)/5)))*(v-vms-11)) sum = 1 + alpha minf = 1/sum tau = tmfac*beta/sum if (tau < 0.1) {tau=0.1} mexp = 1 - exp(-dt/tau) :"h" potassium inactivation system alpha = exp(0.11*(v-vhs+56)) hinf = 1/(1+alpha) tau = thfac*0.26*(v+50) if (tau < thmin) {tau=thmin} hexp = 1 - exp(-dt/tau) } UNITSON