Dear Ted,
I have a model of an axon with some membrane mechanisms (NMODL files of Fast K, Na and ...) added to that. In every NMODL file, I use "USEION x READ xi,xo,enx WRITE ix " to actually force NEURON keep track of ionic concentrations (xi,xo). These mechanisms are added to different sections of my axons. Using "MyVoltageSignal.record(&node[5].v(0.5))" and "MyCurrentSignal.record(&node[5].i_membrane(0.5))" I can record nodal voltage and membrane current at all times and save their values in a file to be read by Matlab. However, I need to monitor Ko and Ki in specific locations along my axon's model. I have tried several ways, but every time I got an error. Would you please help me figure out how to do that?
Also, may I know how I can set equilibrium potentials for each ion in hoc file please? I mean something like ek=-77 or ena=50. Does it update ionic concentrations? if yes, how?
Thank you so much.
Best regards,
Ehsan
Recording Ionic concentrations
-
- Site Admin
- Posts: 6299
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: Recording Ionic concentrations
That only tells NEURON what ionic flux corresponds to a particular current. Concentration won't change unless there is also an "ion accumulation mechanism" i.e. a mechanism that has aedaneshi wrote:In every NMODL file, I use "USEION x READ xi,xo,enx WRITE ix " to actually force NEURON keep track of ionic concentrations (xi,xo).
USEION x READ ix WRITE [either xi, xo, or both]
statement. You'll find more about ion accumulation mechanisms in chapter 9 of The NEURON Book. Also look here for NMODL-specific tips: http://www.neuron.yale.edu/neuron/stati ... arted.html
ki and ko are the range variables of interest and the syntax isUsing "MyVoltageSignal.record(&node[5].v(0.5))" and "MyCurrentSignal.record(&node[5].i_membrane(0.5))" I can record nodal voltage and membrane current at all times and save their values in a file to be read by Matlab. However, I need to monitor Ko and Ki in specific locations along my axon's model.
vecname.record(&secname.varname(rangeval))
e.g. if kinode[3] is the name of the Vector that will hold the time course of ki in the middle of node[3]
kinode[3].record(&node[3].ki(0.5))
By default, if a section has an accumulation mechanism for ionic species x, ex will be calculated from the concentrations xi and xo according to the Nernst equation. Otherwise ex is a parameter.how I can set equilibrium potentials for each ion in hoc file please? I mean something like ek=-77 or ena=50. Does it update ionic concentrations?
Given a particular model specification, NEURON uses a fairly smart decision process to decide whether to treat any particular concentration as a parameter or state variable, and what to do about equilibrium potentials. Read the Programmer's Reference documentation of ion_style to learn more about this, and how to override NEURON's automatic selections (e.g. in case you want ek to remain constant even though ki and/or ko is allowed to vary).
There are several ways to specify the initial concentration of an ion; most flexible is through the use of a PARAMETER and an assignment statement in the INITIAL block of the accumulation mechanism for ion x, e.g.
Code: Select all
NEURON {
SUFFIX nacum
USEION na READ ina WRITE nai
RANGE nai0
}
PARAMETER {
nai0 = 10 (milli/liter)
}
INITIAL {
nai = nai0
}
BREAKPOINT {
. . .
Code: Select all
NEURON {
SUFFIX nacum
USEION na READ ina WRITE nai
}
BREAKPOINT {
. . .
If ex is calculated from the Nernst equation, you'll want to specify the correct value for celsius, unless you're OK with its default value of 6.3 deg C.