//genesis
/*************************** MS Model, Version 9.1 *********************
**************************** CaT.g *********************
******************************************************************************
Rebekah Evans updated 3/20/12
******************************************************************************/
function create_CaT
str chanName = "CaT_channel"
str compPath = "/library"
int c = 0
float Ek = 0.140 //(nernst calculated for 35degrees, [Cain] 50nM [Caout]2mM)
//Ek is overwritten the the GHK object if it is used.
float increment = 0.00005
float x = -0.1
int xdivs = 3000
float xmin = -0.1
float xmax = 0.05
float increment ={{xmax}-{xmin}}/{xdivs}
echo "CaT increment:" {increment} "V"
float mPower = 3.0 //Cain 2010 review Crunelli 2005
float hPower = 1.0
float mInfCaT = 0.0
float mvHalfCaT = -72e-3
float mkCaT = -8e-3
float mshift = 0.009 //0 for a1i; 0.009 for a1g; 0.019 for a1h
float hvHalfCaT = -93e-3
float hkCaT = 5e-3
float hInfCaT = 0.0
float hshift = 0.007 //0 for a1i; 0.007 for a1g; 0.02 for a1h
float mTauCaT = 0.0
float mInfCaT = 0.0
float hTauCaT = 0.0
float hInfCaT = 0.0
float mA = 0.0
float mB = 0.0
float hA = 0.0
float hB = 0.0
float qFactCaT = {qfactCa}
float surf = 0.0
float gMax = 0
float theta = 0.0
float theta_exp = 0.0
float beta = 0.0
float beta_exp = 0.0
pushe {compPath}
create tabchannel {chanName}
setfield {chanName} Ek {Ek} Xpower {mPower} Ypower {hPower}
call {chanName} TABCREATE X {xdivs} {xmin} {xmax}
call {chanName} TABCREATE Y {xdivs} {xmin} {xmax}
for(c = 0; c < {xdivs} + 1; c = c + 1)
/************************ Begin CaT_mTau *********************/
// mA = 14552*(vMemb + 0.0845)./
// (exp((vMemb + 0.0845)/0.00712)-1);
// mB = 4984.2*exp(vMemb/0.013);
// mTauCaT = ((1/(mA + mB))+0.0025) / qFactCaT;
// parameters tuned to fit mcrory 2001 subunit a1I
theta = 14552*{ {x} + 0.0845}
beta = {{x} + 0.0845}/0.00712
beta_exp = {exp {beta}}
beta_exp = beta_exp - 1.0
mA = {{theta}/{beta_exp}}
beta = {{x}/0.013}
beta_exp = {exp {beta}}
mB = 4984.2*{beta_exp}
mTauCaT = {{1.0/{mA + mB}}+0.0022}
setfield {chanName} X_A->table[{c}] {{mTauCaT}/{qFactCaT}}
/************************ End CaT_mTau ***********************/
/************************ Begin CaT_mInf *********************/
// mInfCaT = 1./(1 + exp((vMemb - mvHalfCaT)/mkCaT));
// parameters tuned to match Mcrory et al., 2001 a1g
theta = {{{x} - {mshift} - {mvHalfCaT}}/{mkCaT}}
theta_exp = {exp {theta}} + 1.0
mInfCaT = 1.0/{theta_exp}
setfield {chanName} X_B->table[{c}] {mInfCaT}
/************************ End CaT_mInf ***********************/
/************************ Begin CaT_hTau *********************/
// hA = 2652*(vMemb + 0.0945)./
// (exp((vMemb + 0.0945)/0.00512)-1);
// hB = 684.2*exp(vMemb/0.013);
// hTauCaT = ((1/(hA + hB))+0.1) / qFactCaT;
// parameters tuned to fit mcrory 2001 subunit a1I
theta = 2652*{ {x} + 0.0945}
beta = {{x} + 0.0945}/0.00512
beta_exp = {exp {beta}}
beta_exp = beta_exp - 1.0
hA = {{theta}/{beta_exp}}
beta = {{x}/0.013}
beta_exp = {exp {beta}}
hB = 684.2*{beta_exp}
hTauCaT = {{1.0/{hA + hB}}+0.1}
setfield {chanName} Y_A->table[{c}] {{hTauCaT}/{qFactCaT}}
/************************ End CaT_hTau ***********************/
/************************ Begin CaT_hInf *********************/
// hInfCaT = 1./(1 + exp((vMemb - hvHalfCaT)/hkCaT));
// parameters tuned to fit mcrory 2001 subunit a1g
theta = {{{x} - {hshift} - {hvHalfCaT}}/{hkCaT}}
theta_exp = {exp {theta}} + 1.0
hInfCaT = 1.0/{theta_exp}
setfield {chanName} Y_B->table[{c}] {hInfCaT}
/************************ End CaT_hInf ***********************/
x = x + increment
end
tweaktau {chanName} X
tweaktau {chanName} Y
create ghk {chanName}GHK
setfield {chanName}GHK Cout 2 // Carter & Sabatini 2004 uses 2mM,
setfield {chanName}GHK valency 2.0
setfield {chanName}GHK T {TEMPERATURE}
setfield {chanName} Gbar {gMax*surf}
addmsg {chanName} {chanName}GHK PERMEABILITY Gk
end
|