/************************ VTA v2.14 tabchanforms.g *********************
*****functions for tab channel equations*****
Rebekah Evans rebekah.evans@nih.gov
**************************************************************************/
function exp_form (rate, slope, V)
float rate,slope,V
//equation is ({rate} *(exp ({-V}/{slope}) ))
float numx ={{-V}/{slope}}
float expx = {exp {numx}}
float entry = ({rate}*{expx})
return {entry}
end
function sig_form (rate, vhalf, slope, V)
float rate, vhalf, slope, V
//equation is ({rate}/(exp ({{V}-{vhalf}}/{slope})+1))
//rate/(EXP((v-vhalf)/slope)+1)
float numx = {{{V}-{vhalf}}/{slope}}
float expx = {exp {numx}}
float entry = ({rate}/{{expx}+1})
return {entry}
end
function lin_form (rate, vhalf, slope, V)
float rate, vhalf, slope, V
//equation is (({rate}*({V}-{vhalf}))/{exp ({v}-{vhalf}/{slope})-1)})
float expx = {exp {{{V}-{vhalf}}/{slope}}} -1
float numerator = {{rate}*{{V}-{vhalf}}}
float entry = {{numerator}/{expx}}
return {entry}
end
//from Kustnetsova 2010
function boltz (rate, vhalf, slope, V)
float rate, vhalf, slope, V
//equation is (1/1+exp(-(V-vhalf)/slope))
float numx = {-{{V}-{vhalf}}/{slope}}
float expx = {exp {numx}}
float entry = {1/{1+{expx}}}
return {entry}
end
function Ka_tau (rate, vhalf, slope, V)
float rate, vhalf, slope, V
//equation is (2*exp(-(V+vhalf)*(V+vhalf)/slope)+1.1)
float numx = {({V}+{vhalf})*({V}+{vhalf})/{slope}}
float negx = {-{numx}}
float expx = {exp {negx}}
float entry = 2*{expx}+1.1
return {entry}
end
function Kdr_tau (V)
float V
//equation is {19/{1+exp {{x+39}/8}}-0/{1+exp {{{x}+59}/20}}+1}
float num1 = {{{V}+39}/8}
float num2 = {{{V}+59}/20}
float exp1 = {exp {num1}}
float exp2 = {exp {num2}}
float S1 = {19/{1+{exp1}}}
float S2 = {0/{1+{exp2}}}
float entry = {{S1}-{S2}+1}
return {entry}
end
function gaussian (v,a,b,c,d)
float v,a,b,c,d
//equation is (a*exp(-(c+v)*(c+v)/(b*b))+d)
float CV = {{c}+{v}}*{{c}+{v}}
float b2 = {b}*{b}
float exp1 = {exp {-{CV}/{b2}}}
float entry = {{a}*{exp1}+{d}}
return {entry}
end
function Ih_inf (rate, vhalf, slope, V)
float rate, vhalf, slope, V
//equation is (1/1+exp((V-vhalf)/slope))
float numx = {{{V}-{vhalf}}/{slope}}
float expx = {exp {numx}}
float entry = {1/{1+{expx}}}
return {entry}
end
//BK from Jaffe et al. 2011
function BK_inf (v, ca)
//equation is 1/(1+exp(({-56.449+104.52*exp(-0.22964*{y}*1000)+295.68*exp(-2.1571*{y}*1000)}-{x})/(25/1.6)))
float v, ca
float exp1a = (-0.22964*{ca}*1000)
float exp1b = {exp {exp1a}}
float exp2a = (-2.1571*{ca}*1000)
float exp2b = {exp {exp2a}}
float preinf = {-56.449 + 104.52 * {exp1b} + 295.68 * {exp2b}}
float inf = (({preinf}-{v})/(25/1.6))
float exp3 = {exp {inf}}
float entry = {1/(1 + {exp3})}
return {entry}
end
function BK_tau (v, ca)
float v, ca
float exp1a = {-0.28*{ca}*1000}
float exp1b = {exp {exp1a}}
float exp2a = {-0.72*{ca}*1000}
float exp2b = {exp {exp2a}}
float shift = {25-55.7+136.9*{exp1b}}
float peak = {13.7 + {234*{exp2b}}}
float vv = {{v} + 100 - {shift}}
float range = {{peak}-1}
float exp3a = {-{vv}/63.6}
float exp3b = {exp {exp3a}}
float exp4a = {-(150-{vv})/63.6}
float exp4b = {exp {exp4a}}
float pretau = {1/(10*({exp3b}+{exp4b})-5.2)}
if ({pretau}<=0.2)
pretau = 0.2
end
float entryX = {({range}*(({pretau}-0.2)/0.8)) + 1}
//convert to seconds
float entry = {1e-3*{entryX}}
return {entry}
end
//all from Tucker et al. 2012 table 1
function Namalpha (v)
float v
float num = {15.6504+0.4043*{v}}
float exp1 = {-19.565-0.50542*{v}}
float expa = {exp {exp1}}
float den = {expa}-1
float entry = -{num}/{den}
return {entry}
end
function Nambeta (v)
float v
float exp1 = {-7.4630e-3*{v}}
float expa = {exp {exp1}}
float entry = {3.0212*{expa}}
return {entry}
end
function Nahalpha (v)
float v
float exp1 = {-6.3213e-2*{v}}
float expa = {exp {exp1}}
float entry = {5.0754e-4*{expa}}
return {entry}
end
function Nahbeta (v)
float v
float exp1 = {0.13442*{v}}
float expa = {exp {exp1}}
float entry = {9.7529*{expa}}
return {entry}
end