//===================================================
// Channels for minimum HH models in Popischill 2008
// modified from genesis/scripts/neuron/channels.g
// note: used l'hopital rule on tabchannel defs
// remove singularity to prevent runtime error
//===================================================
float ECa = 0.120
float Vx = 2e-3
//=================================================
// CaT CHANNEL (Destexhe 1996)
//=================================================
function make_CaT
create tabchannel CaT
setfield ^ Ek {ECa} Gbar {1} Xpower 2 Ypower 1 Zpower 0
setfield CaT instant {INSTANTX}
int xdivs=5000
float xmin=-0.100, xmax=0.050, dx={(xmax-xmin)/xdivs}
call CaT TABCREATE X {xdivs} {xmin} {xmax}
call CaT TABCREATE Y {xdivs} {xmin} {xmax}
float valtau_X, valX_inf, valtau_Y, valY_inf, Vm
int i
for (i=0; i<={xdivs}; i=i+1)
Vm = xmin + i*dx
valtau_X = 1e-3 // fake value - instant
valX_inf = 1/(1+{exp {-(Vm+Vx+57e-3)/6.2e-3}})
valtau_Y = (30.8 + (211.4 + {exp {(Vm+Vx+113.2e-3)/5e-3}}))/(3.7*(1 + {exp {(Vm+Vx+84e-3)/3.2e-3}}))
valY_inf = 1/( 1 + { exp {(Vm+Vx+81e-3)/4e-3} } )
setfield CaT X_A->table[{i}] {valtau_X} X_B->table[{i}] {valX_inf}
setfield CaT Y_A->table[{i}] {valtau_Y} Y_B->table[{i}] {valY_inf}
end
tweaktau CaT X
tweaktau CaT Y
end
// make channel
make_CaT