Help with McIntyre axon model

Discussions of particular models.

Moderator: tom_morse

Post Reply
nevo
Posts: 16
Joined: Fri Mar 12, 2010 4:14 pm

Help with McIntyre axon model

Post by nevo » Fri Nov 11, 2011 2:26 pm

Hello all,

I have a question to the McIntyre axon model described in „Modeling the Excitability of Mammalian Nerve Fibers “ McIntyre
2002.

In the file AXNODE.mod the equation for alpha_m of the fast sodium current differs in the model downloaded at ModelDB from the published version (McIntyre 2002). Which values should I use?

Now, I would like to change the axon to get a fiber diameter of 2 µm as described in „Cellular Effects of Deep Brain Stimulation: Model-Based Analysis of
Activation and Inhibition
“ McIntyre
2003. I changed all the parameters in the downloaded model according to McIntyre 2003 and I would like to incorporate the fast K+ channel in the FLUT segments with a mod file.

Could someone assist me with that?

Thanks.
Regards

ted
Site Admin
Posts: 5136
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Help with McIntyre axon model

Post by ted » Sat Nov 12, 2011 10:29 am

nevo wrote:In the file AXNODE.mod the equation for alpha_m of the fast sodium current differs in the model downloaded at ModelDB from the published version (McIntyre 2002). Which values should I use?
Ask the authors.
Now, I would like to change the axon to get a fiber diameter of 2 µm as described in „Cellular Effects of Deep Brain Stimulation: Model-Based Analysis of
Activation and Inhibition
“ McIntyre
2003. I changed all the parameters in the downloaded model according to McIntyre 2003 and I would like to incorporate the fast K+ channel in the FLUT segments with a mod file.

Could someone assist me with that?
If you are asking how to add a particular voltage-gated channel to a model, the answer has two steps.
1. First make sure that NEURON knows about the voltage-gated channel. For mechanisms other than pas or hh, this means that (a) the NMODL file for the channel should be present in the same directory as the hoc file that you are using to start the model, and (b) you must compile it by running mknrndll or nrnivmodl on that directory. If you don't know how to do (b), look in NEURON's FAQ list for instructions on compiling mod files.
2. Edit the hoc code that specifies the model so that it inserts the desired mechanism into the desired sections and assigns the desired values to channel density. The trick here is to make sure that your changes accomplish what you intend, and don't break anything. If you tell me exactly which sections you want to add a mechanism to, the name of the mechanism, and the channel density that you need, I'll take a look at their code and suggest how you might proceed. In the meantime, it would be a good idea for you to learn something more about NEURON so that this doesn't seem like black magic to you. A good place to start would be to read chapters 5 and 6 of The NEURON Book, or failing that, our paper "The NEURON eimulation environment" that was published in Neural Computation (you can get this from the Documentation page at http://www.neuron.yale.edu).

jedlund
Posts: 5
Joined: Tue Jan 01, 2013 1:31 pm

Re: Help with McIntyre axon model

Post by jedlund » Tue Jan 01, 2013 4:22 pm

I have a couple of questions about this model. After reading the FAQ I ran modlunit on the AXNODE.mod before compiling it.

Code: Select all

~/Downloads/NEURON/MRGaxon$ modlunit AXNODE.mod 
model   1.1.1.1   1994/10/12 17:22:51
Checking units of AXNODE.mod

units:  1 

units:  1000 /sec
The units of the previous two expressions are not conformable
 at line 106 in file AXNODE.mod
        mp'= (mp_inf - mp) / tau_mp<<ERROR>>
Looking inside the mod file I find a large section with UNITSOFF ... UNITSON which includes the assignment to tau_mp. Since this model has been used in a number of papers, I assume that it actually works and that the author just didn't want to bother with the units? I was able to compile it and insert it into a section from python.

I'm also wondering why the authors created 6 STIN sections in series (with nseg=1 in each) rather than a single longer STIN section with a larger nseg. I don't see any reason to add the extra sections.

Thanks.

ted
Site Admin
Posts: 5136
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Help with McIntyre axon model

Post by ted » Wed Jan 02, 2013 6:18 pm

modlunit checks for units inconsistencies and also detects syntax errors. Note that some units inconsistencies are more "apparrent" and benign than others. Such is the case with this particular one:

Code: Select all

~/Downloads/NEURON/MRGaxon$ modlunit AXNODE.mod 
model   1.1.1.1   1994/10/12 17:22:51
Checking units of AXNODE.mod

units:  1 

units:  1000 /sec
The units of the previous two expressions are not conformable
 at line 106 in file AXNODE.mod
        mp'= (mp_inf - mp) / tau_mp<<ERROR>>
as long as tau_mp is in units of ms (milliseconds). To eliminate the error message, in the ASSIGNED block change the declaration
tau_mp
to
tau_mp (ms)

Note that modlunit stops at the first error it encounters. If a file contains many errors, it is necessary to

Code: Select all

repeat
  run modlunit
  fix the error it detected
until it detects no error
Looking inside the mod file I find a large section with UNITSOFF ... UNITSON which includes the assignment to tau_mp. Since this model has been used in a number of papers, I assume that it actually works and that the author just didn't want to bother with the units?
One would like to think so. You could remove the UNITSOFF...UNITSON, then check for and fix all units inconsistencies. For example, the formula for q10_1 would become
q10_1 = 2.2 ^ ((celsius-20 (degC))/(10 (degC)))
The result might be satisfying from one perspective, but applying such fixes everywhere that modlunit demands them would impair the readability of the code. Most of the formulas that are required by HH-style model specifications are pretty straightforward, and visual inspection is sufficient to reassure one that units are indeed consistent.

The most common serious errors are improper placement or omission of parentheses (usually causes gross code failure), or the more difficult to detect decimal points in the wrong place or +/- substitutions. modlunit might help detect the former, but it won't help with the latter.
I'm also wondering why the authors created 6 STIN sections in series (with nseg=1 in each) rather than a single longer STIN section with a larger nseg. I don't see any reason to add the extra sections.
It is always difficult to infer motivation. Maybe they were thinking about making these STIN sections have different lengths, or different values of Ra (cytoplasmic resistivity is a "section variable" i.e. applies to all of a section's segments), maybe 6 was the right number to reproduce a particular observation, or maybe it was pure accident. The only way to know is to ask the authors.

Post Reply