-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add description of arbor and NEURON's nernst
application rules to the docs.
#1638
Conversation
beginning of the simulation to caluclate the reversal potential of the ion, and then | ||
remains constant. | ||
Otherwise, the reversal potential is set by the user and remains constant. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is one unclarity in the quoted NEURON docs, which I would love to do away with:
As written, it's unclear whether the rule applies to the local NMODL file only or the global
view is considered.
Example
Assume a mechanism
A
that readseX
and writes toXi
is added. By the rules above,nernst
is used. Now we add mechanismB
that writes toeX
.
I assume this results in nernst
not being used, but is that correct?
Also, where is this rule applied by NEURON? Is having one CV overlap between A
and B
enough to change global behaviours? Or just for the overlap? (Does it matter?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The global view is considered. So for a given ion, you need to look at all the mechanisms that use/write it and reason about the effect. In the above example, A
reads the eX
value that is written by B
and if B
reads Xi
, it reads the value written by A
. I will make this clearer.
As for whether A
and B
need to be on the same section for it to apply; I think yes. The docs indicate that this behavior is evaluated per section
. Though I would need to check to be certain.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, tweaking the decomposition of the morphology into sections in NEURON potentially changes the treatment
of a globally used ion species? Or is that just for the overlapping CVs?
Sorry for asking so many questions on NEURON, but I expect to have to deal with them for quite some time in the
future.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So in Neuron, you can only add mechanisms on sections, not segments (CVs). I will run some examples to see what exactly happens in Neuron and get back to this question.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay so based on my experiments:
NEURON's rules for using nernst for the calculation of the reversal potential of an ion as stated above in this PR are applied per section (similar to arbor which can control the reversal potential of an ion at the granularity of a region). Since mechanisms can only be inserted on a section (not part of it) and since a NEURON segment (CV) can only belong to one section, there is no possibility for segment (CV) overlap that could cause confusion.
However, the rules do not consider a single mechanism in isolation on a section. All of the mechanisms on a section are considered when the rule is applied for that section.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copy from private discussion:
Arbor and Neuron treat this fundamently diffent. In Neuron's model, Nernst can be used on a per-section basis in alternation with fixed reversal potentials. For Arbor, it is used globally, per ion species.
@halfflat on the motivation for not allowing it per region in Arbor,
- CVs could be partially covered by the Nernst and const methods for the same ion
- This cannot happen in Neuron, as each CV belongs to exactly one Section
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's add a comment about this final difference ARB ./. NRN ie
In Arbor,
nernst
is applied globally at the level of ion species, while in Neuron different parts of the morphology may use different mechanisms for the revpot. This is the result of the difference in the models of discretisation (in Arborregions
may partially cover CVs).
and then I am happy :D
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any updates here? I could also add the comment above and proceed this way, if you like
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, I missed your last comment! I'll make the change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi,
looks good, but I have two smaller questions that might be helpful in clarifying some rules.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! 👍
No description provided.