//genesis
/*************************** MS Model, Version 6 *********************
**************************** kAf_chanRE.g *********************
Rebekah Evans rcolema2@gmu.edu
Tom Sheehan tsheeha2@gmu.edu thsheeha@vt.edu 703-538-8361
******************************************************************************
******************************************************************************/
/* K A-type Fast channel
* * This is a tab channel created from KAf channel data in Tkatch 2000.
* They are using dissociated medium spiny neurons, and did not specify recording temperature, so I am assuming room temp.
* Our data matching process showed that the original model from Johanes Hjorth via Kai Du and Tom Sheehan matched closely with the
* activation and inactivation inf curves, but did not match the activation tau curve very well. This new tab channel uses Alphas and
* Betas obtained by matching both the activation inf and tau curves. The m power according to wolf is 2 (didn't find in Tkatch)
* The inactivation curve matched well, and the inactivation tau is constant according to wolf (did not see this in Tkatch either).
*inactivation has been updated with voltage dependence more consistent with current clamp data
* *************** Rebekah Evans 02/07/10 rcolema2@gmu.edu ********************************/
/*inactivation has been updated with voltage dependence more consistent
with current clamp data *** Rebekah Evans Aug 2010 rcolema2@gmu.edu **/
function make_KAf_channel
//include tabchanforms
//initial parameters for making tab channel
float Erev = -0.09
int m_power = 2
int h_power = 1
//Activation constants for alphas and betas (obtained by matching Tkatch 2000)
//units are mV, ms
float mA_rate = 1.5
float mA_vhalf = 4
float mA_slope = -17
float mB_rate = 0.6
float mB_vhalf = 10
float mB_slope = 9
//Inactivation constants for alphas and betas
//units are mV, ms
float hA_rate = 0.105
float hA_vhalf = -121
float hA_slope = 22
float hB_rate = 0.065
float hB_vhalf = -55
float hB_slope = -11
//table filling parameters
float xmin = -0.1 /* minimum voltage we will see in the simulation */
float xmax = 0.05 /* maximum voltage we will see in the simulation */
int xdivsFiner = 3000
int c = 0
float increment =1000*{{xmax}-{xmin}}/{xdivsFiner}
echo "kAf: inc="{increment}"mV"
float x = -100
/* make the table for the activation with a range of -100mV - +50mV
* with an entry for every 10mV
*/
str path = "KAf_channel"
create tabchannel {path}
call {path} TABCREATE X {xdivsFiner} {xmin} {xmax}
call {path} TABCREATE Y {xdivsFiner} {xmin} {xmax}
/*fills the tabchannel with values for minf, mtau, hinf and htau,
*from the files.
*/
float slow = 1 //1.5, original data speeded up too much?
float qfactor= 2 // 1.5
for (c = 0; c < {xdivsFiner} + 1; c = c + 1)
float m_alpha = {sig_form {mA_rate} {mA_vhalf} {mA_slope} {x}}
float m_beta = {sig_form {mB_rate} {mB_vhalf} {mB_slope} {x}}
float h_alpha = {sig_form {hA_rate} {hA_vhalf} {hA_slope} {x}}
float h_beta = {sig_form {hB_rate} {hB_vhalf} {hB_slope} {x}}
/* 1e-3 converts from ms to sec */
setfield {path} X_A->table[{c}] {{slow}*{1e-3/(m_alpha+m_beta)}}
setfield {path} X_B->table[{c}] {m_alpha/(m_alpha+m_beta)}
setfield {path} Y_A->table[{c}] {{1e-3/(h_alpha+h_beta)}/{qfactor}}
setfield {path} Y_B->table[{c}] {h_alpha/(h_alpha+h_beta)}
x = x + increment
end
/* Defines the powers of m and h in the Hodgkin-Huxley equation*/
setfield {path} Ek {Erev} Xpower {m_power} Ypower {h_power}
tweaktau {path} X
tweaktau {path} Y
// write channel tables to the files
tab2file ./MScell/tables/kaFXtable.txt {path} X_A -table2 X_B -overwrite
tab2file ./MScell/tables/kaFYtable.txt {path} Y_A -table2 Y_B -overwrite
end
function make_KaF_channel
float Erev = -0.09 // V
str path = "KaF_channel"
float xmin = -0.10 /* minimum voltage we will see in the simulation */ // V
float xmax = 0.05 /* maximum voltage we will see in the simulation */ // V
int xdivsFiner = 3000
int c = 0
/****** Begin vars used to enable genesis calculations ********/
float increment = (xmax - xmin)*1e3/xdivsFiner // mV
echo "KaF: increment" {increment} "mV"
float x = -100.00 // mV
// float minf = 0
// float hinf = 0
// float mvhalf = -46.7 // -46.7, mV, R.Bardoni, et.al. 1993
// float mshift = 0 // mV
// float mslope = 19.8 // 19.8, mV, R.Bardoni, et.al. 1993
// float hvhalf = -68.0 // -78.0, mV, R.Bardoni, et.al. 1993
// float hslope = 8.4 // mV, R.Bardoni, et.al. 1993
// float hshift = 0 // mV
// float taum = 0 // ms
//float tauh = 0 // ms
float minf = 0
float hinf = 0
float mvhalf = -30.14 // -46.7, mV, R.Bardoni, et.al. 1993
float mshift = 0 // mV
float mslope = 17.77 // 19.8, mV, R.Bardoni, et.al. 1993
float hvhalf = -75.0 // -78.0, mV, R.Bardoni, et.al. 1993
float hslope = 10.0 // mV, R.Bardoni, et.al. 1993
float hshift = 0 // mV
float taum = 0 // ms
float tauh = 0 // ms
/****** End vars used to enable genesis calculations **********/
create tabchannel {path}
call {path} TABCREATE X {xdivsFiner} {xmin} {xmax} // activation gate
call {path} TABCREATE Y {xdivsFiner} {xmin} {xmax} // inactivation gate
// set tau_m table
float qfactor = 3 // Bardoni's experiment was done in room temperature
for(c = 0; c < {xdivsFiner} + 1; c = c + 1)
minf = 1/(1 + {exp {-(x - mvhalf + mshift)/mslope}})
hinf = 1/(1 + {exp {(x - hvhalf + hshift)/hslope}})
taum = (0.41*{exp {-(x+43.5)/42.8}}+0.167 )/qfactor // eq(3) in R.Bardoni, et.al. 1993
tauh = (10.8+0.03*x+1/(57.9*{exp {0.127*x}}+0.000134*{exp {-x*0.059}}))/qfactor // eq(2) in R.Bardoni, et.al. 1993
setfield {path} X_A->table[{c}] {taum*1e-3} // V
setfield {path} X_B->table[{c}] {minf}
setfield {path} Y_A->table[{c}] {tauh*1e-3} // V
setfield {path} Y_B->table[{c}] {hinf}
x = x + increment
end
echo the increment of KAF is {increment}
/* Defines the powers of m Hodgkin-Huxley equation*/
setfield {path} Ek {Erev} Xpower 4 Ypower 1
/* fill the tables with the values of tau and minf/hinf
* calculated from tau and minf/hinf
*/
tweaktau {path} X
tweaktau {path} Y
// write channel tables to the files
tab2file ./MScell/tables/KAAFXtable.txt {path} X_A -table2 X_B -overwrite
tab2file ./MScell/tables/KAAFYtable.txt {path} Y_A -table2 Y_B -overwrite
end
|