How to change the equilibrium potential of an ion species from the default to another value decided by its internal and

The basics of how to develop, test, and use models.
Post Reply
guanbc
Posts: 9
Joined: Mon Feb 18, 2019 6:37 am

How to change the equilibrium potential of an ion species from the default to another value decided by its internal and

Post by guanbc »

We’d like to use a Na equilibrium potential different from the default value. Would you please give a concrete example of writing hoc commands to use the Na equilibrium potential produced by internal Na 50 mM and external Na 44 mM? I tried but always got error reminders.
ted
Site Admin
Posts: 6286
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: How to change the equilibrium potential of an ion species from the default to another value decided by its internal

Post by ted »

Everything depends on the implementational details of the model you are using. NEURON's default behavior for any ionic species X is summed up by two rules.
1. Treat ex and the concentrations xi and xo as constant parameters.
2. In sections that have a mechanism that WRITEs xi and/or xo, recalculate ex in each segment from the Nernst equation at each time step.

In a model that has no mechanism that WRITEs xi or xo, you can set ex in each segment whatever values you want with simple assignment statements. Nothing you do to xi or xo will affect ex.

In a section that has a mechanism that WRITEs xi or xo, nothing you do to ex will "stick" because ex will be recalculated by NEURON from xi and xo at each time step.

But modelers have very fertile imaginations, so NEURON's default behavior is not sufficient to handle all possible combinations of assumptions about ionic concentrations and equilibirum potentials. NEURON's ion_style() function allows model implementers to indulge their imaginations in ways that are not found in nature.

Finally, I should mention that some modelers have written NMODL files that COMPLETELY IGNORE the ion concentrations and equilibrium potentials calculated by NEURON. Instead of having USEION statements that couple their NMODL files' ionic concentrations and equililbrium potentials to the ones calculated by NEURON, each NMODL file has its own private variables for concentrations and/or potentials. This is not a good idea for many reasons, including the fact that it lays multiple big traps for anyone else who tries to reuse their code.

So it's up to you to read your model's source code, study the documentation of ion_style(), and if necessary run a computational experiment on a simple model, in order to understand exactly what your model is doing about ionic concentrations and equilibrium potentials.
Post Reply