//genesis
/*************************** MS Model, Version 5.2 *********************
**************************** CaN_channel.g *********************
Tom Sheehan tsheeha2@gmu.edu thsheeha@vt.edu 703-538-8361
******************************************************************************
******************************************************************************/
/*AB
This channel combines both the inactivating and non-inactivating CaN channels
It has a smaller qfactor to produce a slower channel
*/
function create_CaN
str chanName = "CaN_channel"
str compPath = "/library"
int c
float x = -0.1
int xdivs = 3000
float xmin = -0.1
float xmax = 0.05
float increment ={{xmax}-{xmin}}/{xdivs}
echo "CaN increment:" {increment} "V"
float mPower = 1.0
float hPower = 1.0
float mvHalfCaN = -8.7e-3
float mkCaN = -7.4e-3
float hvHalfCaN = -74.8e-3
float hkCaN = 6.5e-3
float mTauCaN = 0.0
float mInfCaN = 0.0
float hTauCaN = 2.333e-002
float hInfCaN = 0.0
float theta = 0.0
float theta_1 = 0.0
float beta = 0.0
float beta_exp = 0.0
float mA = 0.0
float mB = 0.0
float surf = 0.0
float gMax = 0
float qFactCaN = 2
pushe {compPath}
create tabchannel {chanName}
setfield {chanName} Xpower {mPower} Ypower {hPower}
call {chanName} TABCREATE X {xdivs} {xmin} {xmax}
call {chanName} TABCREATE Y {xdivs} {xmin} {xmax}
for(c = 0; c < {xdivs}; c = c + 1)
/************************ Begin CaN_mTau *********************/
// mA = 0.03856e6*(vMemb + 17.19e-3)./
// (exp((vMemb + 17.19e-3)/15.22e-3)-1);
// mB = 0.3842e3*exp(vMemb/23.82e-3);
// mTauCaN = (1./(mA + mB)) / qFactCaN;
theta = 0.03856e6*{ {x} + 17.19e-3}
beta = {{x} + 17.19e-3}/15.22e-3
beta_exp = {exp {beta}}
beta_exp = beta_exp - 1.0
mA = {{theta}/{beta_exp}}
beta = {{x}/23.82e-3}
beta_exp = {exp {beta}}
mB = 0.3842e3*{beta_exp}
mTauCaN = {1.0/{mA + mB}}/{qFactCaN}
setfield {chanName} X_A->table[{c}] {mTauCaN}
/************************ End CaN_mTau ***********************/
/************************ Begin CaN_mInf *********************/
// mInfCaN = 1./(1 + exp((vMemb - mvHalfCaN)/mkCaN));
beta = {{x} - {mvHalfCaN}}/{mkCaN}
beta_exp = {exp {beta}} + 1.0
mInfCaN = 1.0/{beta_exp}
setfield {chanName} X_B->table[{c}] {mInfCaN}
/************************ End CaN_mInf ***********************/
/************************ Begin CaN_hTau *********************/
// hTauCaN = 23.33e-3*ones(vDiv+1,1); % Already q-fact corrected
setfield {chanName} Y_A->table[{c}] {hTauCaN}
/************************ End CaN_hTau ***********************/
/************************ Begin CaN_hInf *********************/
// hInfCaN = 1./(1 + exp((vMemb - hvHalfCaN)/hkCaN));
beta = {{x} - {hvHalfCaN}}/{hkCaN}
beta_exp = {exp {beta}} + 1
//0.21 has vdep inactivation, 0.79 does not inactivate
hInfCaN = 0.21 * {1/{beta_exp}} + 0.79
setfield {chanName} Y_B->table[{c}] {hInfCaN}
/************************ End CaN_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,
// Wolf 5mM
setfield {chanName}GHK valency 2.0
setfield {chanName}GHK T {TEMPERATURE}
setfield {chanName} Gbar {gMax*surf}
addmsg {chanName} {chanName}GHK PERMEABILITY Gk
pope
end
|