TITLE Cerebellum Golgi Cell Model COMMENT Na transient channel Gutfreund parametrization Author: E.DAngelo, T.Nieus, A. Fontana Last revised: 8.5.2000 ENDCOMMENT NEURON { SUFFIX Golgi_Na USEION na READ ena WRITE ina RANGE gnabar, ina, g RANGE alpha_m, beta_m, alpha_h, beta_h RANGE Aalpha_m, Kalpha_m, V0alpha_m RANGE Abeta_m, Kbeta_m, V0beta_m RANGE Aalpha_h, Kalpha_h, V0alpha_h RANGE Abeta_h, Kbeta_h, V0beta_h RANGE m_inf, tau_m, h_inf, tau_h, m, h, tcorr } UNITS { (mA) = (milliamp) (mV) = (millivolt) } PARAMETER { Aalpha_m = 0.3 (/ms-mV) Kalpha_m = -10 (mV) V0alpha_m = -25 (mV) Abeta_m = 12 (/ms) Kbeta_m = -18.182 (mV) V0beta_m = -50 (mV) Aalpha_h = 0.21 (/ms) Kalpha_h = -3.333 (mV) V0alpha_h = -50 (mV) Abeta_h = 3 (/ms) Kbeta_h = -5 (mV) V0beta_h = -17 (mV) v (mV) gnabar = 0.048 (mho/cm2) ena (mV) celsius (degC) Q10 = 3 (1) } STATE { m h } ASSIGNED { ina (mA/cm2) m_inf h_inf tau_m (ms) tau_h (ms) g (mho/cm2) alpha_m (/ms) beta_m (/ms) alpha_h (/ms) beta_h (/ms) tcorr (1) } INITIAL { rate(v) m = m_inf h = h_inf } BREAKPOINT { SOLVE states METHOD derivimplicit g = gnabar*m*m*m*h ina = g*(v - ena) alpha_m = alp_m(v) beta_m = bet_m(v) alpha_h = alp_h(v) beta_h = bet_h(v) } DERIVATIVE states { rate(v) m' =(m_inf - m)/tau_m h' =(h_inf - h)/tau_h } FUNCTION alp_m(v(mV))(/ms) { tcorr = Q10^((celsius-20(degC))/10(degC)) alp_m = tcorr*Aalpha_m*linoid(v-V0alpha_m,Kalpha_m) } FUNCTION bet_m(v(mV))(/ms) { tcorr = Q10^((celsius-20(degC))/10(degC)) bet_m = tcorr*Abeta_m*exp((v-V0beta_m)/Kbeta_m) } FUNCTION alp_h(v(mV))(/ms) { tcorr = Q10^((celsius-20(degC))/10(degC)) alp_h = tcorr*Aalpha_h*exp((v-V0alpha_h)/Kalpha_h) } FUNCTION bet_h(v(mV))(/ms) { tcorr = Q10^((celsius-20(degC))/10(degC)) bet_h = tcorr*Abeta_h/(1+exp((v-V0beta_h)/Kbeta_h)) } PROCEDURE rate(v (mV)) {LOCAL a_m, b_m, a_h, b_h TABLE m_inf, tau_m, h_inf, tau_h DEPEND Aalpha_m, Kalpha_m, V0alpha_m, Abeta_m, Kbeta_m, V0beta_m, Aalpha_h, Kalpha_h, V0alpha_h, Abeta_h, Kbeta_h, V0beta_h, celsius FROM -100 TO 30 WITH 13000 a_m = alp_m(v) b_m = bet_m(v) a_h = alp_h(v) b_h = bet_h(v) m_inf = a_m/(a_m + b_m) tau_m = 1/(a_m + b_m) h_inf = a_h/(a_h + b_h) tau_h = 1/(a_h + b_h) :if (tau_h<0.1 (ms)) {tau_h=0.1 (ms)} : riga aggiunta il 10 giugno 2003 } FUNCTION linoid(x (mV),y (mV)) (mV) { if (fabs(x/y) < 1e-6) { linoid = y*(1 - x/y/2) }else{ linoid = x/(1 - exp(x/y)) } }