Page 1 of 1

Determining and changing the resting membrane potential

Posted: Sun Oct 31, 2010 1:03 pm
by lb5999
Hello NEURON.yale,

I have what would seem a basic problem with a simple soma model I am using to get to terms with the A-current in a preganglionic neuron.

As a some of you may know, the A-current is a transient outward rectifier potassium current, that activates on depolarisation and is frequently inactivated at rest. This is because the half inactivation of the A-current is very close to the nernst potential for potassium, and so an increase in the membrane potential in the depolarising direction will result in inactivation gates closing and therefore reduce the A-current. Thus, to activate the A-current, you must hold the membrane at a depolarising value (i.e. shift the RMS) and then apply a hyperpolarising pulse. This will engage the inactivation gate, and, when the hyperpolarising pulse is removed, the return to the depolarised membrane potential, at which we have shifted the cell to, will open the activation gates and therefore create this outward potassium current. The result seen, as written above, is a delayed decay back to the depolarised holding potential (the decay back to rest will eventually fall below the usual passive discharge seen in the membrane w/o the A-current). An example of this phenomena is in the following link:

My problem is changing the RMS of my cell, so that the holding potential IS depolarised, and so when I apply a hyperpolarising current, the A-current is seen. I have tried changing inside and outside potassium concentrations to shift the resting membrane potential in the depolarising direction, but this doesn't do anything. I have also tried changing e_pas so that the resting potential is shifted likewise, but again: nothing.

Can somebody tell me how I can change the holding potential to a depolarised value AND inject some hyperpolarising current so that I can see the A-current in action?

Thanks,

L

Re: Determining and changing the resting membrane potential

Posted: Sun Oct 31, 2010 4:49 pm
by lb5999

Re: Determining and changing the resting membrane potential

Posted: Mon Nov 01, 2010 12:55 am
by ted
You could do one of several things. One would be to use two IClamps. The first IClamp would apply a prolonged depolarizing current, and the second to apply a brief hyperpolarizing current. Another strategy, and the one I would be tempted to choose, would be to use an SEClamp with dur1 and amp1 specified to hold membrane potential at a depolarized level, amp2 and dur2 to hold it at a hyperpolarized level, and dur3 set to 0 ms (which means that the clamp has been "turned off" so the cell's membrane potential is allowed to vary). With this strategy, if the model cell is a single compartment, I would also set v_init to the same value as amp1; this would ensure that all voltage-gated mechanisms are initialized to whatever they should be during the first (depolarized) part of the simulation. I wouldn't do this with a multicompartment model cell, because that would force the initial membrane potential in _all_ compartments to be equal to v_init, which is not the same as using a single electrode current or voltage clamp to drive the potential at one location in a cell to a particular potential.

Question for you: to many "RMS" means "root mean squared" and is used to quantify the amplitude of a sinusoidal voltage or current. Do you mean to use this for "resting membrane state" (what most would probably call "resting membrane potential")?

Re: Determining and changing the resting membrane potential

Posted: Mon Nov 01, 2010 5:00 am
by lb5999
Hi Ted,

Thanks for your speedy reply. RMS was a late-night-typo: i meant to abbreviate to RMP, thanks for pointing out the potential confusion though. I am going to try your method at let see how it goes. I was wondering though... I was actually trying this single compartment model just to see if I could get the thing to work how I wanted to, but I actually intend on applying this to a multi-sectioned model (dendrites, an axon, proximal dendrites and a soma)... would I then use the former method?

Thanks,

L

Re: Determining and changing the resting membrane potential

Posted: Mon Nov 01, 2010 7:53 am
by lb5999
Hi Ted,

So that other readers and yourself don't read my further questions, I have deleted them.

I do have one question for you regarding the SEClamp applied to the complete-cell model though:

I have created an SEClamp on the soma that has the following properties:

Code: Select all

tstop=600
STIM.amp1=-45
STIM.dur1=200
STIM.amp2=-80
STIM.dur2=200
STIM.dur3=0
To remind people, this is to see the influence of the A-current: since the cell membrane is being held at a depolarised value, on the offset of the hyperpolarising membrane potential holding value (-80) I should see a decay back to the holding potential -45mV which is slightly longer than a passive decay. This is due to the deinactivation of the a-current at hyperpolarised values, combined with the activation of the a-current at the depolarised value of -45mV. However, what I see on the offset of the hyperpolarising current pulse, is a decay back to rest of the resting membrane potential (approximately -70), not a decay back to rest to my original holding potential (-45mV). Why do i want the membrane to decay back to rest at this value? I guess because it will rapidly activate the a-current more, and therefore I will be able to see its influence. Moreover, the transition between the depolarised potential and the hyperpolarised holding potentials set by amp1 and amp2 are sudden; namely, they are not how you would expect a cell to respond to a hyperpolarising pulse (a charging to this value). Instead they are, as I said, a sudden step.

How do I modify my SEClamp/experiment so that I can see this. As an example of the scenario I would like to end up with, consider the following link:

http://www.ncbi.nlm.nih.gov/pmc/article ... ure/fig03/

Thank you very much,

L

Re: Determining and changing the resting membrane potential

Posted: Mon Nov 01, 2010 10:47 am
by ted
lb5999 wrote:RMS was a late-night-typo: i meant to abbreviate to RMP
That's a relief. All this field needs is more acronyms.

Answers to your other questions soon.

Re: Determining and changing the resting membrane potential

Posted: Mon Nov 01, 2010 4:49 pm
by ted
A strategy for accomplishing your goal is to customize the course of initialization and simulation so that
(1) during initialization the model cell is voltage clamped to the desired potential at the desired location for long enough that the entire cell settles to a new steady state (albeit one in which membrane potential may be nonuniform)
(2) after initialization, release the voltage clamp and replace it with a current clamp, located at the same point, that delivers a constant current identical to what the voltage clamp had been delivering
(3) at the appropriate time in the course of simulation, use a second current clamp to deliver an additional current (a current pulse of desired amplitude and duration) at the same location in the cell

More about this shortly.

Re: Determining and changing the resting membrane potential

Posted: Mon Nov 01, 2010 5:53 pm
by ted
The program is organized in three hoc files, three ses files, and a mod file. I have put all of these here:
http://www.neuron.yale.edu/ftp/ted/neur ... m_init.zip
Unzip this file into an empty directory and compile the mod file. If you just want to see it work with a simple ball & stick model cell, uncomment the
load_file("custominit.hoc")
and
load_file("batchrun.hoc")
lines in init.hoc,
then start NEURON by double clicking on init.hoc or executing
nrngui init.hoc
and finally enter a batch command like
batchrun(10, 100, -0.1, 0.02, 10)
at the oc> prompt.

The basic idea is to initialize the model to steady state (albeit with nonuniform membrane potential) by making NEURON jump to a time t < 0 and allowing it to run a simulation with the desired location voltage clamped to the desired potential until v settles down, then jump back to t = 0 and turn off the voltage clamp (all of this is done by proc init() in custominit.hoc)
THEN
run a simulation in which an IClamp is used to deliver the same current as the voltage clamp was applying. In the absence of any other perturbation, this would hold the cell in its "stable but nonequilibrium state" forever. But of course, there is a second IClamp that injects a current pulse of desired amplitude and duration at the same site (the amplitude of this second IClamp's current is controlled by proc batchrun() in batchrun.hoc).

To understand how to use this code with any model cell, read through init.hoc for usage details. If you want to inject currents and monitor v at some location other than soma(0.5), just make the necessary changes to the statements that attach the Vsource and IClamps.

Re: Determining and changing the resting membrane potential

Posted: Sun Apr 10, 2011 3:57 pm
by lb5999
Hi,

I would like to implement this piece of code to a model cell I have created in the hoc command prompt. I have a folder containing my own membrane mechanisms and some code which describes the build up of the cell. How would I apply this code to my cell? Would I simply move all the files into the folder (apart from "cell.ses") insert Vsource into the soma and recompile the containing folder? Or should I just paste the code, describing the sections and connections for my cell, into the file "init.hoc" in place of "cell.ses"?

Thanks!!

Re: Determining and changing the resting membrane potential

Posted: Mon Apr 11, 2011 10:22 am
by ted
I wrote that code in a deliberately modular style so that it could be reused with other model cells with a minimum of effort. Indeed, most of the effort required is due to the fact that using a new model cell makes it necessary to set up a new space plot of membrane potential.

Assuming that the hoc code that specifies the properties of some other model cell is contained in a file called cell.hoc, and that you are starting with the ORIGINAL version of init.hoc and rig.ses as contained in that zip file, here's how to proceed:

0. Unzip the zip file I pointed you to into a new directory.

1. Change this line in init.hoc
load_file("cell.ses")
to
// load_file("cell.ses")
load_file("cell.hoc")

2. In rig.ses, comment out the block of code that sets up the range variable plot. To do this, find the block of code that contains the following statements

Code: Select all

{
save_window_ = new Graph(0)
save_window_.size(-324.012,978.088,-80,40)
 . . . etc. . . .
objectvar rvp_
rvp_ = new RangeVarPlot("v")
 . . . etc. . . .
save_window_.addobject(rvp_, 2, 1, 0.8, 0.9)
}
Wrap this code inside a pair of comment delimiters /* */, i.e. insert
/*
just before the start of the block, and
*/
just after the end of the block. The code should now look like this:

Code: Select all

/*
{
save_window_ = new Graph(0)
save_window_.size(-324.012,978.088,-80,40)
 . . . etc. . . .
objectvar rvp_
rvp_ = new RangeVarPlot("v")
 . . . etc. . . .
save_window_.addobject(rvp_, 2, 1, 0.8, 0.9)
}
*/
3. Put your mod files and the hoc file that specifies your model's properties in the same directory, and compile your mod files.

4. Use NEURON to run init.hoc.

5. If your model cell has more than one compartment, set up a space plot that shows membrane potential as a function of distance along a path from one end of your cell to the other.

6. Follow the instructions in init.hoc

Re: Determining and changing the resting membrane potential

Posted: Tue Apr 19, 2011 4:14 am
by lb5999
He Ted,

I did everything you said (apart from 5. - I am not sure at which stage to do this) and when I run init.hoc I only have one graph window for Graph[0]. I then run batchrun and it tells me:

Code: Select all

oc>batchrun(10, 100, -0.1, 0.02, 10)
nrniv: Object ID doesn't exist: Graph[1]

 near line 144
 batchrun(10, 100, -0.1, 0.02, 10)
                                  ^
batchrun(10100-0.10.0210        , , , , )
oc>
Presumably meaning something I have done has messed up with the graph attached to the batchrun procedure. What have I done to mess this up do you think? Instead of loading my own cell mechanism "cell.hoc" I just pasted the syntax for the creation of the cell in place of "cell.ses" in "init.hoc"; the hoc file opened fine, so I don't think there is any errors with this (although it is uncessarily messy).

Thanks, lb5999

Re: Determining and changing the resting membrane potential

Posted: Wed Apr 20, 2011 2:55 pm
by ted
At this point, in order to give any further advice, I would have to be able to reproduce the problem myself. This means sending me the source code so I can run the simulation. If you decide to do this, zip up the necessary files and send them, with whatever instructions are necessary to use your code, to
ted dot carnevale at yale dot edu
But first please read this item:
What to include in a zip file, and what to leave out
viewtopic.php?f=28&t=560