I'm a new user of Neuron. I tried to make a model for a transient potassium current (IKV4).
My model seems to give decent data when I generate activation and inactivation curves or when i inject it in current clamp.
However, this current is characterized by two constants of inactivation and by a constant for recovery from inactivation , I called tauinac1=50 (ms), tauinac2=200 (ms) and taurecov=20 (ms).
I tried to "force" the model to set the constant for recovery from inactivation when the membrane potential is more negative than -80 mV. The mod file seems OK in terms of units (checked by modlunit) and is compiled without any problem.
However when I run a protocol for measuring the recovery from inactivation, I found values that are always dependent on the constant for inactivation ( tauinac1 and tauinac2) but not on recovery from inactivation.
Thanks a lot for you help
Here is my mod file: (I put comments only in this mail)
Code: Select all
NEURON {
SUFFIX kaNTS6
USEION k READ ek WRITE ik
RANGE gbar, g, i
}
UNITS {
(S) = (siemens)
(mV) = (millivolt)
(mA) = (milliamp)
}
PARAMETER {
gbar = 0.006 (S/cm2)
eK = -90 (mV)
Vmid_ac = -45 (mV)
k_ac = 13 (mV)
Vmid_ina = -73 (mV)
k_ina = -4.66 (mV)
tauinac1=50 (ms)
tauinac2=200 (ms)
taurecov=20 (ms)
A1=0.5 : (A1 A2 : respective ratio of the fast and slow inactivation)
A2=0.5
m=3
h=1
: parametres des constantes
}
ASSIGNED {
v (mV)
ek (mV)
ik (mA/cm2)
i (mA/cm2)
g (S/cm2)
atau (ms)
btau (ms)
b2tau (ms)
}
STATE {a b b2} : creation variables
BREAKPOINT {
SOLVE states METHOD cnexp
g = (A1*gbar*(a^m)*(b^h)) + (A2*gbar*(a^m)*(b2^h)) : I sum two currents to simulate two inactivation constants
i = g*(v-eK)
ik = i
}
INITIAL {
b = binf(v)
b2= binf(v)
a = ainf(v)
atau = a_tau(v)
btau=b_tau (v)
b2tau=b2_tau(v)
}
DERIVATIVE states {
b'= (binf(v)-b)/btau
a' = (ainf(v)-a)/atau
b2'= (binf(v)-b2)/b2tau
}
FUNCTION ainf (V (mV)) () {
UNITSOFF
ainf = 1/(1+exp(-(V-Vmid_ac)/k_ac)) : values obtained from fit
UNITSON
}
FUNCTION binf (V (mV)) () {
UNITSOFF
binf = 1/(1+exp(-(V-Vmid_ina)/k_ina)) : values obtained from fit
UNITSON
}
FUNCTION b2inf (V (mV)) () {
UNITSOFF
b2inf = 1/(1+exp(-(V-Vmid_ina)/k_ina)) : values obtained from fit
UNITSON
}
FUNCTION a_tau (V (mV)) (ms) {
UNITSOFF
a_tau= 1+ ((5.5 *exp((-0.022)^2) * ((v+65)^2))) : function for activation rate I wonder if I should use V instead of v
UNITSON
}
FUNCTION b_tau (V (mV)) (ms) {
UNITSOFF
if (V>-80) {b_tau=tauinac1 : function for inactivation rate
}else{
b_tau=taurecov}
UNITSON
}
FUNCTION b2_tau (V (mV)) (ms) {
UNITSOFF
if (V>-80) {b2_tau=tauinac2 : function for inactivation rate
}else{
b2_tau=taurecov}
UNITSON
}
PROCEDURE rates (ms) {
atau=a_tau(v)
btau=b_tau(v) : I donit know if this part it 's really
b2tau=b2_tau(v)
}