//================================================================== // Persistent Na channel // Based on Magistretti & Alonso (1999), JGP 114:491-509 // and Magistretti & Alonso (2002), JGP 120: 855-873. // Created by J.R. Edgerton, 03/2004 // Modified 10/2004 by JRE: add z-gate slow inactivation, improve // model's y-gate intermediate inactivation. //================================================================== // --> kinetics for room temperature float mpower_NaP = 3 float Vhalfm_NaP = -0.050 float Km_NaP = 0.0057 float taummin_NaP = 0.00003 // room temperature float taummax_NaP = 0.00043686 // room temperature float V0taum_NaP = -0.04264 float Ktaum1_NaP = 0.0144 float Ktaum2_NaP = -0.0144 float hpower_NaP = 1 float hmin_NaP = 0.154 float V0h_NaP = -0.057 float Kh_NaP = -0.004 float tauhmin_NaP = 0.03 // room temp float tauhmax_NaP = 0.051 // room temp float V0tauh_NaP = -0.034 float Ktauh1_NaP = 0.026 float Ktauh2_NaP = -0.0319 // Couldn't get the same curve shape with the standard tau(V) equation. float spower_NaP = 1 float V0s_NaP = -0.01 float Ks_NaP = -0.0049 float Aalpha_NaP = -2.88 // units of /volt/sec float Balpha_NaP = -0.049 // units of /sec float Kalpha_NaP = 0.00463 // units of volts float Abeta_NaP = 6.94 // units of /volt/sec float Bbeta_NaP = 0.447 // units of /sec float Kbeta_NaP = -0.00263 // units of volts float dq10_NaP = 3 // divide all tau values by this number function make_Na_slow_GP if ({exists Na_slow_GP}) return end create tabchannel Na_slow_GP setfield Na_slow_GP Ek {ENa} Gbar {G_Na_slow_GP} Ik 0 Gk 0 \ Xpower {mpower_NaP} Ypower {hpower_NaP} Zpower {spower_NaP} // *** Activation & Deactivation (m-gate) float Km = {Km_NaP} float Vhalfm = {Vhalfm_NaP} float V0taum = {V0taum_NaP} float taummax = {taummax_NaP} / {dq10_NaP} float taummin = {taummin_NaP} / {dq10_NaP} float Ktau1 = {Ktaum1_NaP} float Ktau2 = {Ktaum2_NaP} float minf, taum float V0m = {Vhalfm} + ({Km} * {log {(1 / {pow 0.5 {1/{mpower_NaP}}}) - 1}}) echo "Na_slow V0m: " {V0m} call Na_slow_GP TABCREATE X {xdivs} {xmin} {xmax} x = xmin for (i = 0; i <= {xdivs}; i = i + 1) minf = 1 / (1 + {exp {({V0m} - x) / {Km} }}) taum = {taummin} + (({taummax} - {taummin}) / ({exp { ({V0m} - x) / {Ktau1} } } + {exp {({V0m} - x) / {Ktau2} }})) setfield Na_slow_GP X_A->table[{i}] {taum} setfield Na_slow_GP X_B->table[{i}] {minf} x = x + dx end tweaktau Na_slow_GP X call Na_slow_GP TABFILL X 6000 0 setfield Na_slow_GP X_A->calc_mode {NO_INTERP} setfield Na_slow_GP X_B->calc_mode {NO_INTERP} // *** Fast / Intermediate Inactivation (h-gate) float hmin = {hmin_NaP} float V0h = {V0h_NaP} float Kh = {Kh_NaP} float V0tauh = {V0tauh_NaP} float Ktauh1 = {Ktauh1_NaP} float Ktauh2 = {Ktauh2_NaP} float tauhmin = {tauhmin_NaP} / {dq10_NaP} float tauhmax = {tauhmax_NaP} / {dq10_NaP} float tauh, hinf call Na_slow_GP TABCREATE Y {xdivs} {xmin} {xmax} x = xmin for (i = 0; i <= {xdivs}; i = i + 1) hinf = {hmin} + ((1 - {hmin}) / (1 + {exp {({V0h} - x) / {Kh} }})) tauh = ({tauhmin} + (({tauhmax} - {tauhmin}) / ({exp {({V0tauh} - x) / {Ktauh1}}} + {exp {({V0tauh} - x) / {Ktauh2}}}))) setfield Na_slow_GP Y_A->table[{i}] {tauh} setfield Na_slow_GP Y_B->table[{i}] {hinf} x = x + dx end tweaktau Na_slow_GP Y call Na_slow_GP TABFILL Y 6000 0 setfield Na_slow_GP Y_A->calc_mode {NO_INTERP} setfield Na_slow_GP Y_B->calc_mode {NO_INTERP} // *** Slow Inactivation (s-gate) float Ks = {Ks_NaP} float V0s = {V0s_NaP} float Aalpha = {Aalpha_NaP} float Balpha = {Balpha_NaP} float Kalpha = {Kalpha_NaP} float Abeta = {Abeta_NaP} float Bbeta = {Bbeta_NaP} float Kbeta = {Kbeta_NaP} float alphas, betas, taus, sinf call Na_slow_GP TABCREATE Z {xdivs} {xmin} {xmax} x = xmin for (i = 0; i <= {xdivs}; i = i + 1) alphas = (({Aalpha} * x) + {Balpha}) / (1 - {exp {((x + ({Balpha} / {Aalpha})) / {Kalpha})}}) betas = (({Abeta} * x) + {Bbeta}) / (1 - {exp {((x + ({Bbeta} / {Abeta})) / {Kbeta})}}) taus = 1 / ({dq10_NaP} * ({alphas} + {betas})) sinf = 1 / (1 + {exp {({V0s} - x) / {Ks} }}) setfield Na_slow_GP Z_A->table[{i}] {taus} setfield Na_slow_GP Z_B->table[{i}] {sinf} x = x + dx end tweaktau Na_slow_GP Z call Na_slow_GP TABFILL Z 6000 0 setfield Na_slow_GP Z_A->calc_mode {NO_INTERP} setfield Na_slow_GP Z_B->calc_mode {NO_INTERP} setfield Na_slow_GP Z_conc 0 // Z-gate voltage-dependent end