TITLE transient potassium current (A-current) COMMENT ********************************************* reference: Huguenard & McCormick (1992) J.Neurophysiology 68(4), 1373-1383 found in: thalamic relay neurons ********************************************* Original by Alain Destexhe Rewritten for MyFirstNEURON by Arthur Houweling ENDCOMMENT INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)} NEURON { SUFFIX iA USEION k READ ek WRITE ik RANGE gkbar, m_inf1, tau_m, h_inf, tau_h1, ik, actvha, inactvha } UNITS { (mA) = (milliamp) (mV) = (millivolt) } PARAMETER { v (mV) celsius (degC) dt (ms) ek (mV) gkbar= 0.00345 (mho/cm2) actvha=50 (mV) inactvha=60 (mV) :tadj = 3^((celsius-23.5)/10) } STATE { m1 h1 } ASSIGNED { ik (mA/cm2) m_inf1[1] tau_m[1] (ms) h_inf[1] tau_h1[1] (ms) tadj } BREAKPOINT { SOLVE states :METHOD cnexp ik = gkbar * m1^4*h1 * (v-ek) } :DERIVATIVE states { : evaluate_fct(v) : : m1'= (m_inf1-m1) / tau_m : h1'= (h_inf-h1) / tau_h1 :} PROCEDURE states() { :evaluate_fct(v) mhn(v) m1= m1 + (1-exp(-dt/tau_m[0]))*(m_inf1[0]-m1) h1= h1 + (1-exp(-dt/tau_h1[0]))*(h_inf[0]-h1) } :UNITSOFF INITIAL { : evaluate_fct(v) : m1 = m_inf1 : h1 = h_inf } :PROCEDURE evaluate_fct(v(mV)) { LOCAL a,b : tau_m = (1.0/(exp((v+35.82)/19.69)+exp(-(v+79.69)/12.7))+0.37) / tadj : :if (v<-65.9) { : m_inf1=0.5822/tadj :}else { : m_inf1 = 1.0 / (1+exp(-(v+actvha)/8.5)) : a = 1.0 / ((exp((v+46.05)/5)+exp(-(v+238.4)/37.45))) / tadj : if (v<-63) { : tau_h1 = a : } else { : tau_h1 = 26.9584/tadj : } :if (v<-65.9) { : h_inf=2.9437/tadj :}else { : h_inf = 1.0/(1+exp((v+inactvha)/6)) :} :UNITSON FUNCTION vartauh(v,i) {LOCAL a,b if (i==0) { if (v<-63) {vartauh =1.0 / ((exp((v+46.05)/5)+exp(-(v+238.4)/37.45))) / tadj } else {vartauh = 26.9584/tadj} } } FUNCTION vartaum(v,i) {LOCAL a,b if (i==0) { vartaum = (1.0/(exp((v+35.82)/19.69)+exp(-(v+79.69)/12.7))+0.37) / tadj } } FUNCTION varssm(v, i) { if (i==0) { varssm = 1.0 / (1+exp(-(v+actvha)/8.5)) } } FUNCTION varssh(v, i) { if (i==0) { varssh = 1.0/(1+exp((v+inactvha)/6)) } } PROCEDURE mhn(v) { TABLE m_inf1,tau_m,h_inf,tau_h1 DEPEND inactvha,celsius, actvha,dt FROM -100 TO 100 WITH 2000 : .1 mV steps. FROM i=0 TO 0 { m_inf1[i] = varssm(v,i) tau_m[i]=vartaum(v,i) h_inf[i] = varssh(v,i) tau_h1[i]=vartauh(v,i) } tadj = 3^((celsius-23.5)/10) }