80 lines
1.2 KiB
Modula-2
80 lines
1.2 KiB
Modula-2
:Comment : L6
|
|
:Reference :Colbert and Pan 2002
|
|
: **Modified to use 'celsius' for temperature to correct rates by Aman Aberra**
|
|
NEURON {
|
|
SUFFIX NaTa_t
|
|
USEION na READ ena WRITE ina
|
|
RANGE gNaTa_tbar, gNaTa_t, ina, celsius
|
|
}
|
|
|
|
UNITS {
|
|
(S) = (siemens)
|
|
(mV) = (millivolt)
|
|
(mA) = (milliamp)
|
|
}
|
|
|
|
PARAMETER {
|
|
gNaTa_tbar = 3.288755 (S/cm2)
|
|
celsius = 35
|
|
}
|
|
|
|
ASSIGNED {
|
|
v (mV)
|
|
ena (mV)
|
|
ina (mA/cm2)
|
|
gNaTa_t (S/cm2)
|
|
mInf
|
|
mTau
|
|
mAlpha
|
|
mBeta
|
|
hInf
|
|
hTau
|
|
hAlpha
|
|
hBeta
|
|
}
|
|
|
|
STATE {
|
|
m
|
|
h
|
|
}
|
|
|
|
BREAKPOINT {
|
|
SOLVE states METHOD cnexp
|
|
gNaTa_t = gNaTa_tbar*m*m*m*h
|
|
ina = gNaTa_t*(v-ena)
|
|
}
|
|
|
|
DERIVATIVE states {
|
|
rates()
|
|
m' = (mInf-m)/mTau
|
|
h' = (hInf-h)/hTau
|
|
}
|
|
|
|
INITIAL{
|
|
rates()
|
|
m = mInf
|
|
h = hInf
|
|
}
|
|
|
|
PROCEDURE rates(){
|
|
LOCAL qt
|
|
qt = 2.3^((celsius-21)/10)
|
|
UNITSOFF
|
|
if(v == -38){
|
|
v = v+0.0001
|
|
}
|
|
mAlpha = (0.182 * (v- -38))/(1-(exp(-(v- -38)/6)))
|
|
mBeta = (0.124 * (-v -38))/(1-(exp(-(-v -38)/6)))
|
|
mTau = (1/(mAlpha + mBeta))/qt
|
|
mInf = mAlpha/(mAlpha + mBeta)
|
|
|
|
if(v == -66){
|
|
v = v + 0.0001
|
|
}
|
|
|
|
hAlpha = (-0.015 * (v- -66))/(1-(exp((v- -66)/6)))
|
|
hBeta = (-0.015 * (-v -66))/(1-(exp((-v -66)/6)))
|
|
hTau = (1/(hAlpha + hBeta))/qt
|
|
hInf = hAlpha/(hAlpha + hBeta)
|
|
UNITSON
|
|
} |