/************************ VTA v2.14 Naf.g ********************* *****Equations and Parameters for Na channel***** Rebekah Evans rebekah.evans@nih.gov **************************************************************************/ //slight change from Tucker Canavier Levitan 2012 function make_Na_channel float Erev = 0.05 // Volts str path = "Na_channel" float xmin = -0.10 /* minimum voltage we will see in the simulation */ // Volts float xmax = 0.05 /* maximum voltage we will see in the simulation */ // Volts int xdivsFiner = 3000 int c = 0 float increment = (xmax - xmin)*1e3/xdivsFiner // mV //activation variables match Tucker 2012 float mhalf = -20.907 //shifted from -30.907 in Tucker et al., 2012 so spike threshold more closely matches our experiments float mslope = 9.7264 float mrate = 1 //fast inactivation variables match Tucker 2012 float hhalf = -54.0289 float hslope = -10.7665 float hrate = 1 //slow inactivation variables to match Ogata et al. 1990 //slow inactivation is OFF by default in this model float iA_rate = 40 float iA_vhalf = -150 float iA_slope = 9 float iB_rate = 31 float iB_vhalf = 60 float iB_slope = -12 create tabchannel {path} call {path} TABCREATE X {xdivsFiner} {xmin} {xmax} // activation gate call {path} TABCREATE Y {xdivsFiner} {xmin} {xmax} // fast inactivation gate call {path} TABCREATE Z {xdivsFiner} {xmin} {xmax} // slow inactivation gate setfield {path} Z_conc 0 float x = -100.00 // mV echo "Make Na channel" for(c = 0; c < {xdivsFiner} + 1; c = c + 1) float minf = {boltz {mrate} {mhalf} {mslope} {x}} float malpha = {Namalpha {x}} float mbeta = {Nambeta {x}} float m_tau = 0.01+1/({malpha}+{mbeta}) float hinf = {boltz {hrate} {hhalf} {hslope} {x}} float halpha = {Nahalpha {x}} float hbeta = {Nahbeta {x}} float h_tau = 0.4+1/({halpha} + {hbeta}) float i_alpha = {sig_form {iA_rate} {iA_vhalf} {iA_slope} {x}} float i_beta = {sig_form {iB_rate} {iB_vhalf} {iB_slope} {x}} float zinf = {{i_alpha/(i_alpha+i_beta)}} /* 1e-3 converts from ms to sec for taus*/ setfield {path} X_A->table[{c}] {1e-3*{m_tau}} setfield {path} X_B->table[{c}] {minf} setfield {path} Y_A->table[{c}] {1e-3*{h_tau}} setfield {path} Y_B->table[{c}] {hinf} setfield {path} Z_A->table[{c}] 80e-3 setfield {path} Z_B->table[{c}] {zinf} x = x + increment end setfield {path} Ek {Erev} Xpower 3 Ypower 1 Zpower 0 tweaktau {path} X tweaktau {path} Y tweaktau {path} Z end