/**
* Activation
*/
function NaT_minf(Vm)
float Vm
float v = 1.0e3 * {Vm} /* Volt to Millivolt. */
return {1.0 / {1.0 + {exp {{{-22.0} - {v}} / {11.5}}}}}
end
/**
* Inactivation.
*/
function NaT_hinf(Vm)
float Vm
float v = 1.0e3 * {Vm} /* Volt to Millivolt. */
return {1.0 / {1.0 + {exp {{{-58.3} - {v}} / {-6.7}}}}}
end
function NaT_tauh(Vm)
float Vm
float v = 1.0e3 * {Vm} /* Volt to Millivolt. */
float tauh
tauh = 0.5 + 14.0 / {1.0 + {exp {{{-60.0} - {v}} / {-12.0}}}}
return {1.0e-3 * {tauh}}
end
function make_NaT_chan
str path = "NaT_chan"
float Erev = 0.050 /* reversal potential of sodium */
float xmin = -0.100 /* minimum voltage we will see in the simulation */
float xmax = 0.050 /* maximum voltage we will see in the simulation */
float step = 0.005 /* use a 5mV step size */
int xdivs = 30 /* the number of divisions between -0.1 and 0.05 */
int i
create tabchannel {path}
/* make the table for the activation with a range of -100mV - +50mV
* with an entry for ever 5mV
*/
call {path} TABCREATE X {xdivs} {xmin} {xmax}
call {path} TABCREATE Y {xdivs} {xmin} {xmax}
/* set the tau and m_inf for the activation and inactivation */
for(i = 0; i < {xdivs} + 1; i = i + 1)
setfield {path} X_A->table[{i}] {NaT_minf {{xmin} + {i * {step}}}}
setfield {path} X_B->table[{i}] {1.0}
setfield {path} Y_A->table[{i}] {NaT_tauh {{xmin} + {i * {step}}}}
setfield {path} Y_B->table[{i}] {NaT_hinf {{xmin} + {i * {step}}}}
end
/* Set X to instant: m_inf = A/B. */
setfield {path} Ek {Erev} Xpower 3 Ypower 1 instant {INSTANTX}
/* Calculate alpha (A), and alpha + beta (B). */
tweaktau {path} Y
call {path} TABFILL X 3000 0
call {path} TABFILL Y 3000 0
setfield {path} X_A->calc_mode 0 X_B->calc_mode 0
setfield {path} Y_A->calc_mode 0 Y_B->calc_mode 0
end