//genesis /*************************** MS Model, Version 9.1 ********************* **************************** CaL13channel.g ********************* Rebekah Evans updated 3/20/12 ****************************************************************************** ******************************************************************************/ function create_CaL13 str chanName = "CaL13_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 xmin = -0.1 float xmax = 0.05 int xdivs = 3000 float mPower = 1.0 //mh is an equally common form to m2h (tuckwell 2012) float hPower = 1.0 if (calciuminact == 1) float zpower = 1.0 else float zpower = 0 end float increment ={{xmax}-{xmin}}/{xdivs} echo "CaL13 increment:" {increment} "V" float x = -0.1 float surf = 0 float gMax = 0 float hTauCaL13 = 44.3e-3 float mTauCaL13 = 0.0 float mvHalfCaL13 = -40.0e-3 float mkCaL13 = -5e-3 float hvHalfCaL13 = -37e-3 float hkCaL13 = 5e-3 float hInfCaL13 = 0.0 float mInfCaL13 = 0.0 float theta = 0.0 float beta = 0.0 float beta_exp = 0.0 float mA = 0.0 float mB = 0.0 float qFactCaL13 = {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} //fill in the voltage act and inact tables for(c = 0; c < {xdivs} + 1; c = c + 1) /************************ Begin CaL13_mTau *********************/ //mA = 39800*(vMemb + 67.24e-3)./(exp((vMemb + 67.24e-3)/15.005e-3) - 1); //mB = 3500*exp(vMemb/31.4e-3); //mTauCaL13 = 1./(mA + mB) / qFactCaL13; //parameters tuned to fit Tuckwell 2012 figure 12 theta = 39800*{ {x} + 67.24e-3} beta = {{x} + 67.24e-3}/15.005e-3 beta_exp = {exp {beta}} beta_exp = beta_exp - 1.0 mA = {{theta}/{beta_exp}} beta = {{x}/31.4e-3} beta_exp = {exp {beta}} mB = 3500*{beta_exp} mTauCaL13 = {{1/{mA + mB}}/{qFactCaL13}} setfield {chanName} X_A->table[{c}] {mTauCaL13} /************************ End CaL13_mTau ***********************/ /************************ Begin CaL13_mInf *********************/ // mInfCaL13 = 1./(1 + exp((vMemb - mvHalfCaL13)/mkCaL13)); //parameters tuned to fit Tuckwell 2012 figure 3 beta = {{x} - {mvHalfCaL13}}/{mkCaL13} beta_exp = {exp {beta}} + 1.0 mInfCaL13 = 1.0/{beta_exp} setfield {chanName} X_B->table[{c}] {mInfCaL13} /************************ End CaL12_mInf ***********************/ /************************ Begin CaL13_hTau *********************/ // hTauCaL13 setfield {chanName} Y_A->table[{c}] {{hTauCaL13}/{qFactCaL13}} /************************ End CaL12_hTau ***********************/ /************************ Begin CaL13_hInf *********************/ // hInfCaL13 = 1./(1 + exp((vMemb - hvHalfCaL13)/hkCaL13)); //parameters tuned to fit Tuckwell 2012 figure 12 beta = {{x} - {hvHalfCaL13}}/{hkCaL13} beta_exp = {exp {beta}} + 1.0 hInfCaL13 = 1.0/{beta_exp} setfield {chanName} Y_B->table[{c}] {hInfCaL13} /************************ End CaL13_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