:Reference :Colbert and Pan 2002
:comment: took the NaTa and shifted both activation/inactivation by 6 mv
: Adapted by Werner Van Geit @ BBP, 2015 (with help from M.Hines):
: channel detects TTX concentration set by TTXDynamicsSwitch.mod
NEURON {
SUFFIX NaTs2_t
USEION na READ ena WRITE ina
USEION ttx READ ttxo, ttxi VALENCE 1
RANGE gNaTs2_tbar, gNaTs2_t, ina
}
UNITS {
(S) = (siemens)
(mV) = (millivolt)
(mA) = (milliamp)
}
PARAMETER {
gNaTs2_tbar = 0.00001 (S/cm2)
}
ASSIGNED {
ttxo (mM)
ttxi (mM)
v (mV)
ena (mV)
ina (mA/cm2)
gNaTs2_t (S/cm2)
mInf
mTau
mAlpha
mBeta
hInf
hTau
hAlpha
hBeta
}
STATE {
m
h
}
BREAKPOINT {
SOLVE states METHOD cnexp
gNaTs2_t = gNaTs2_tbar*m*m*m*h
ina = gNaTs2_t*(v-ena)
}
DERIVATIVE states {
if (ttxi == 0.015625 && ttxo > 1e-12) {
mInf = 0.0
mTau = 1e-12
hInf = 1.0
hTau = 1e-12
} else {
rates()
}
m' = (mInf-m)/mTau
h' = (hInf-h)/hTau
}
INITIAL{
if (ttxi == 0.015625 && ttxo > 1e-12) {
mInf = 0.0
mTau = 1e-12
hInf = 1.0
hTau = 1e-12
} else {
rates()
}
m = mInf
h = hInf
}
PROCEDURE rates(){
LOCAL qt
qt = 2.3^((34-21)/10)
UNITSOFF
if(v == -32){
v = v+0.0001
}
mAlpha = (0.182 * (v- -32))/(1-(exp(-(v- -32)/6)))
mBeta = (0.124 * (-v -32))/(1-(exp(-(-v -32)/6)))
mInf = mAlpha/(mAlpha + mBeta)
mTau = (1/(mAlpha + mBeta))/qt
if(v == -60){
v = v + 0.0001
}
hAlpha = (-0.015 * (v- -60))/(1-(exp((v- -60)/6)))
hBeta = (-0.015 * (-v -60))/(1-(exp((-v -60)/6)))
hInf = hAlpha/(hAlpha + hBeta)
hTau = (1/(hAlpha + hBeta))/qt
UNITSON
} |