Convert a channel from .mod to the channel builder to modify gating in the GUI
Posted: Tue Feb 23, 2021 2:47 pm
Hi there!
First off, thank you in advance for reading my question.
I have a .mod file from modelDB specifying a high threshold potassium channel. I am not sure the language, but I think it is NMODL because it is a .mod file. See code below.
I have done the algebra to convert the channel parameters taken from this model to one of the equation types specified in the channel builder. It is, of course, possible that my algebra is incorrect. It is clear from the behavior of the model that my channel builder version of this channel is far from identical to the channel implemented by the .mod file.
Currently, the text to std out from the channel builder is as follows:
When I try to specify an ion for the channel builder version, it crashes the entire GUI. The error is below.
Clearly, there is an issue with the NonSpecific ion parameter, as mentioned above. I suspect I can fix that by creating the channel from scratch.
The other issues I see are:
1) The equation for g has a zero term in it
2) That zero term really should be replaced with a (1 - gamma + gamma*p). I am not sure how to modify the equation for g in the GUI, and I don't see any place to add the gamma.
3)The .mod file provides a g_bar value, which I understand to be different from g_max. Thus, the setting for g_max is currently arbitrary. I anticipate this is also a problem. I have set the channel density value in the CellBuilder for my neuron to the g_bar specified in the .mod file.
Any help with solving any of the above problems would be greatly appreciated!
Thank you,
Alia
First off, thank you in advance for reading my question.
I have a .mod file from modelDB specifying a high threshold potassium channel. I am not sure the language, but I think it is NMODL because it is a .mod file. See code below.
Code: Select all
: High threshold potassium chanel from
: Contribution of the Kv3.1 potassium channel to high-frequency firing in mouse auditory neurones
: Lu-Yang Wang, Li Gan, Ian D. Forsythe and Leonard K. Kaczmarek
: J. Physiol (1998), 501.9, pp. 183-194
NEURON {
SUFFIX HT
USEION k READ ek WRITE ik
RANGE gbar, g, ik
GLOBAL ninf, ntau, pinf, ptau, an, bn, ap, bp
}
: area in paper is 1000 (um2) so divide our density parameters by 10
UNITS {
(mV) = (millivolt)
(S) = (mho)
(mA) = (milliamp)
}
PARAMETER {
gbar = .015 (S/cm2) : .15 (uS)
gamma = .1
kan = .2719 (/ms)
ean = .04 (/mV)
kbn = .1974 (/ms)
ebn = 0 (/mV)
kap = .00713 (/ms)
eap = -.1942 (/mV)
kbp = .0935 (/ms)
ebp = .0058 (/mV)
}
ASSIGNED {
v (mV)
ek (mV)
ik (mA/cm2)
ninf
ntau (ms)
pinf
ptau (ms)
an (/ms)
bn (/ms)
ap (/ms)
bp (/ms)
}
STATE {
n p
}
INITIAL {
rates(v)
n = ninf
p = pinf
}
BREAKPOINT {
SOLVE state METHOD cnexp
ik = gbar*n^3*(1 - gamma + gamma*p)*(v - ek)
}
DERIVATIVE state {
rates(v)
n' = (ninf - n)/ntau
p' = (pinf - p)/ptau
}
PROCEDURE rates(v(mV)) {
an = kan*exp(ean*v)
bn = kbn*exp(ebn*v)
ap = kap*exp(eap*v)
bp = kbp*exp(ebp*v)
ninf = an/(an + bn)
ntau = 1/(an + bn)
pinf = ap/(ap + bp)
ptau = 1/(ap + bp)
}
Currently, the text to std out from the channel builder is as follows:
Code: Select all
kht_CB_1 Density Mechanism
NonSpecific ohmic ion current
i_kht_CB_1 (mA/cm2) = g_kht_CB_1 * (v - e_kht_CB_1)
g = gmax * n^3 * 0
Default gmax = 1 (S/cm2) e = -77 (mV)
n' = an*(1 - n) - bn*n (KSTrans[0])
an = 0.2719*exp(0.04*(v - 0))) (Vector[7])
bn = 0.1974 (Vector[8])
p' = ap*(1 - p) - bp*p (KSTrans[1])
ap = 0.00713*exp(-0.1943*(v - 0))) (Vector[11])
bp = 0.0935*exp(0.0058*(v - 0))) (Vector[12])
Code: Select all
nrniv(16193,0x106879dc0) malloc: *** error for object 0x7fc0eca58080: pointer being realloc'd was not allocated
nrniv(16193,0x106879dc0) malloc: *** set a breakpoint in malloc_error_break to debug
/Users/pedersonam/ModelMOC/Alia/Today/AMP_model/x86_64/special: line 13: 16193 Abort trap: 6 "${NRNIV}" -dll "/Users/pedersonam/ModelMOC/Alia/Today/AMP_model/x86_64/.libs/libnrnmech.so" "$@"
The other issues I see are:
1) The equation for g has a zero term in it
2) That zero term really should be replaced with a (1 - gamma + gamma*p). I am not sure how to modify the equation for g in the GUI, and I don't see any place to add the gamma.
3)The .mod file provides a g_bar value, which I understand to be different from g_max. Thus, the setting for g_max is currently arbitrary. I anticipate this is also a problem. I have set the channel density value in the CellBuilder for my neuron to the g_bar specified in the .mod file.
Any help with solving any of the above problems would be greatly appreciated!
Thank you,
Alia