//genesis /*************************** MS Model, Version 9.1 ********************* **************************** CaN.g ********************* Rebekah Evans updated 3/20/12 ****************************************************************************** ******************************************************************************/ function create_CaN str chanName = "CaN_channel" str compPath = "/library" int c float Ek = 0.140 //(nernst calculated for 35degrees, [Cain] 50nM [Caout]2mM) //Ek is overwritten the the GHK object if it is used. 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 = 2.0 // Kasai 1992 p169 float hPower = 1.0 if (calciuminact == 1) float zpower = 1.0 else float zpower = 0 end float mvHalfCaN = -3e-3 float mkCaN = -8e-3 float hvHalfCaN = -74.8e-3 float hkCaN = 6.5e-3 float mTauCaN = 0.0 float mInfCaN = 0.0 float hTauCaN = 70e-3 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 = {qfactCa} pushe {compPath} create tabchannel {chanName} setfield {chanName} Ek {Ek} Xpower {mPower} Ypower {hPower} Zpower {zpower} 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 = 39800*(vMemb + 17.19e-3)./ // (exp((vMemb + 17.19e-3)/15.22e-3)-1); // mB = 384.2*exp(vMemb/23.82e-3); // mTauCaN = (1./(mA + mB)) / qFactCaN; // parameters tuned to fit Kasai 1992 theta = 39800*{ {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 = 384.2*{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)); // parameters tuned so m2 fits Bargas and Surmeier 1994 boltzmann curve 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 Mcnaughton et al., 1997 table 2 tau 1 for calcium setfield {chanName} Y_A->table[{c}] {{hTauCaN}/{qFactCaN}} /************************ End CaN_hTau ***********************/ /************************ Begin CaN_hInf *********************/ // hInfCaN = 1./(1 + exp((vMemb - hvHalfCaN)/hkCaN)); // Mcnaughton et al., 1997 table 2 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 //fill in the Z table with CDI values if (calciuminact == 1) addCDI {chanName} end addGHK {chanName} setfield {chanName} Gbar {gMax*surf} pope end