Problems with adding paired pulse stimulations

NMODL and the Channel Builder.
Post Reply
xianghua
Posts: 7
Joined: Wed Dec 11, 2013 4:31 pm

Problems with adding paired pulse stimulations

Post by xianghua »

Hi Ted,

I am trying to examine the inactivation recovery rate of a slowly inactivating potassium chanel based on our wet-lab experiment result.

The experiment is conducted using paired-pulse recovery protocol where we stimulates the cell with an depolarizing 20mV for 100ms after holding at -70mV. We repeat several times with a fixed time interval to examine the rate of the ion channel recovery from inactivation.

SEClamp allows only one round of stimulation (with 3 different voltages), and it seems that I couldn't use this for a train of stimulation. I checked in the 'hot tips' and 'frequently asked questions' and I found your suggestions on downloading 'pulsedistrib' for pulses with defined intervals. I have been struggling to use ipulse model from 'pulsedistrib' to model my 'paired pulse recovery experiment'. I am new with NEURON and I am not sure whether I am in the right direction.

Now, my questions are:
1. Are there better ways to model the 'paired pulse stimulation with voltage clamp rather than IClamp?
2. Is the 'pulsedistrib' the right one to refer to?

Cheers!
xianghua.
ted
Site Admin
Posts: 6289
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Problems with adding paired pulse stimulations

Post by ted »

You need a single electrode voltage clamp that can deliver a more complicated sequence of commands than the simple three step (conditioning command, test command, recovery command) protocol. The best way to do this depends on whether you will be using a stereotyped protocol (always the same number of steps, but maybe different amplitudes or durations), or protocols with arbitrary complexity (variable number of steps, maybe ramps as well). Let me know and I will advise you how to proceed.
xianghua
Posts: 7
Joined: Wed Dec 11, 2013 4:31 pm

Re: Problems with adding paired pulse stimulations

Post by xianghua »

Thank you, Ted. A sterotyped protocol sounds what I have been looking for. Looking forward to your further advice.
ted
Site Admin
Posts: 6289
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Problems with adding paired pulse stimulations

Post by ted »

xianghua wrote:A sterotyped protocol sounds what I have been looking for.
Specifically what?
xianghua
Posts: 7
Joined: Wed Dec 11, 2013 4:31 pm

Re: Problems with adding paired pulse stimulations

Post by xianghua »

ted wrote:
xianghua wrote:A sterotyped protocol sounds what I have been looking for.
Specifically what?

Basically everything, if possible, please. I don't have an idea where to start.

I tried to examine how my slowly inactivating potassium channel responed to a 10ms 40mV depolarization by stimulating the cell with SEClamp as follows:
vc = new SEClamp(0.5)

gnabar_inaT =0
gkbar_imZ = 0
gkbar_ikdT = 0.001

vc.amp1=-70
vc.dur1=5
vc.amp2=20
vc.dur2=10
vc.amp3=-80
vc.dur3=tstop
-----------------

I hope to use sterotyped protocol (althrough I don't know how to proceed with this) to repeat the stimulation for about five times, with a 10ms interval. In other words, five sets of (-70mV for 5ms, 20mV for 10ms, -70mv hold for 10ms). I am going to plot the current in response to these stimulations.

I wonder if you could give me some instructions or references where I can find some example codes.
Cheers!
ted
Site Admin
Posts: 6289
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Problems with adding paired pulse stimulations

Post by ted »

five sets of (-70mV for 5ms, 20mV for 10ms, -70mv hold for 10ms). I am going to plot the current in response to these stimulations.
This is almost the level of specificity that is necessary. You have described what happens over the course of 25 ms, and said that you want to repeat this pattern 5 times, but a bit more information is needed. The discussion will be facilitated if we define some terms. Let's call such a 25 ms epoch a "trial" (or if you prefer, suggest a different term). The experimental protocol then consists of a sequence of five trials. A trial consists of a sequence of three command potentials with amplitudes amp1, amp2, and amp3 and corresponding durations dur1, dur2, and dur3. For this particular protocol, all trials are identical.

But something is missing: what happens between trials. How long are the intertrial intervals--are they all of the same length? And what happens during each intertrial interval--is the model unclamped, or is it clamped to some holding potential? Finally, are you sure you're only going to want 5 trials--you'll never want 3, or 8?
I am going to plot the current in response to these stimulations.
You want which current--clamp current, or the current attributable to a particular ion channel? During which of the three command potentials? And do you want the complete time course of that current during one or more of the command potentials, or only the value measured at a particular time? or do you need to see what the responses look like before you can decide if a current measured at a particular time is what you want?
xianghua
Posts: 7
Joined: Wed Dec 11, 2013 4:31 pm

Re: Problems with adding paired pulse stimulations

Post by xianghua »

But something is missing: what happens between trials. How long are the intertrial intervals--are they all of the same length? And what happens during each intertrial interval--is the model unclamped, or is it clamped to some holding potential? Finally, are you sure you're only going to want 5 trials--you'll never want 3, or 8?
Sorry, that I didn't explain clearly. In each trial, 'amp2' is the activating potential and the 'amp1' and 'amp3' are the holding potential. For my experiment, intervals are the same length, and equals dur1+dur2 in each trial (amp1 and amp3 both at -70). I am not sure at the moment what is the best interval time I should give to the model. I will experiment on this. In order to have a simple model, I am sticking to a fixed number of trials (5 trials or more if more trials is not making the model more complicated), with the same time intervals.
You want which current--clamp current, or the current attributable to a particular ion channel? During which of the three command potentials? And do you want the complete time course of that current during one or more of the command potentials, or only the value measured at a particular time? or do you need to see what the responses look like before you can decide if a current measured at a particular time is what you want?
I am going to plot the current attributed to a particular ion channel during the complete time course in response to all the command potentials. I have already tried to plot the current through the slowly inactivating potassium channel (ikdT mod adapted from the Traub model), during a complete stimulation trial with SEClamp. Now I want to see how the same channel (as a population) responds to a sequential voltage stimulations within a short time interval, to dertermine the recovery rate of the channel from inactivation.

To sum up, I need the same sets of trials with a fixed time interval while the clamp is holding at the initializing potential -70mV. I presume 5 trials are sufficient (but the more trials I have, the more precise the model will be.) I will get an idea of the optimal time interval only after trying several different time intervals. As for plotting, I am considering to use the GUI 'plot what' function. I hope I made myself clearer. Cheers!
ted
Site Admin
Posts: 6289
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Problems with adding paired pulse stimulations

Post by ted »

xianghua wrote:In each trial, 'amp2' is the activating potential and the 'amp1' and 'amp3' are the holding potential. For my experiment, intervals are the same length, and equals dur1+dur2 in each trial (amp1 and amp3 both at -70).
. . .
In order to have a simple model, I am sticking to a fixed number of trials (5 trials or more
. . .
I am going to plot the current attributed to a particular ion channel during the complete time course in response to all the command potentials.
. . .
fixed time interval while the clamp is holding at the initializing potential -70mV
. . .
I will get an idea of the optimal time interval only after trying several different time intervals.
OK, this is the level of detail that was necessary. The voltage clamp protocol could be accomplished with an SEClamp and a state machine implemented entirely in hoc using an FInitializeHandler and cvode.event(). Alternatively, a new variety of single electrode clamp could be implemented in NMODL, so that the state machine's code is integrated into the clamp. In either case, the user-specified parameters would be:

Code: Select all

rs    clamp series resistance
vh    holding potential
num   number of activations
del   delay until first activation
dur1  duration of activating command
amp1  amplitude of activating command
dur2  duration of recovery command
amp2  amplitude of recovery command (in case you want to explore tail current
      or effect of post-activation polarizations on recovery)
invl  interval between end of recovery command and start of next activating command
      during which the clamps command potential equals vh
The ionic current of interest can be recorded to a Vector throughout the entire simulation. After the end of the simulation, the Vector can be postprocessed to extract the parts that you want to plot. This can all be automated with a bit of hoc code.

It's an interesting problem, and if the power doesn't go out over this weekend, I might be able to give you some working code that you can then customize further as needed.
xianghua
Posts: 7
Joined: Wed Dec 11, 2013 4:31 pm

Re: Problems with adding paired pulse stimulations

Post by xianghua »

Hi Ted, thank you so much. I am working on the first method you mentioned ( "with an SEClamp and a state machine implemented entirely in hoc using an FInitializeHandler and cvode.event() ") to model the voltage clamp protocol. I am still struggling with NEURON. Would you please send me a working code? Sorry for being so demanding.I guess the best way to get hold of this tool is to learn from & modify nice working codes.
ted
Site Admin
Posts: 6289
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Problems with adding paired pulse stimulations

Post by ted »

Get this file
http://www.neuron.yale.edu/ftp/ted/neuron/repsec.zip
unzip it
compile its mod file (with mknrndll or nrnivmodl, depending on whether you're using MSWin/OS X or Linux)
and finally use NEURON to execute init.hoc
Then click on the Init & Run button.

repsec.mod implements RepSEC, which is a "repeating single electrode clamp." To quote from repsec.mod, this is a single electrode clamp that allows you to repeat the "conditioning, test, and recovery commands (SEClamp's amp1, amp2, and amp3)
at user-specified intervals. In the interval between repetitions, the clamp goes to a holding potential that may differ from any of the amp* values."

init.hoc starts a demonstration program that you can use to see how RepSEC works. A RepSEC is attached to a single compartment model cell that has the hh mechanism. There are graphs that show membrane potential, the clamp's command potential (vc), the model cell's ina and ik, and the total current captured by the RepSEC.

init.hoc also contains hoc code that
1. captures the time course of soma.v(0.5), somatic ik (current density in mA/cm2), and time t into Vectors
2. plots the recorded ik, all by itself, in a new graph
3. automates the process of extracting the ik waveforms elicited by each amp1-amp2-amp3 sequence, and plots these in a graph

The heart of this automation is a custom run() procedure:

Code: Select all

proc run() {
  prerun() // discard previously recorded data
  // next 3 are from the standard run system's proc run()
  running_ = 1
  stdinit()
  continuerun(tstop)
  // analyze data
  postrun()
}
NEURON's standard run system comes with a proc run() that looks like this:

Code: Select all

proc run() {
  running_ = 1
  stdinit()
  continuerun(tstop)
}
Since hoc is an interpreted language, the standard run system can easily be customized--just pass a new procedure with the same name to the hoc interpreter. Now every time you click on Init & Run, a new simulation is launched, and then the recorded data are analyzed and displayed.

To see the RepSEC's parameters, click on the Point Process Manager's "Show" button, then select "Parameters". See what happens when you change del, num, invl, or any of the dur or amp parameters.
xianghua
Posts: 7
Joined: Wed Dec 11, 2013 4:31 pm

Re: Problems with adding paired pulse stimulations

Post by xianghua »

ted wrote:Get this file
http://www.neuron.yale.edu/ftp/ted/neuron/repsec.zip
... See what happens when you change del, num, invl, or any of the dur or amp parameters.
Hi Ted, thank you so much. I managed to have RepSEC work, after attaching to my model which is modified from Traub hippocampal neuronal model. I modified repsecrig.ses file by removing the single compartment hh model and adding my own compartments.
I haven't figured out what the Graph[5] plots (image URL is insterted) https://drive.google.com/file/d/0B9ECtg ... sp=sharing
(The image was not displaying when I tried to insert using the 'Img' tab. )
Would you please explain to me? Cheers and Merry Christmas!
xianghua
Posts: 7
Joined: Wed Dec 11, 2013 4:31 pm

Re: Problems with adding paired pulse stimulations

Post by xianghua »

I haven't figured out what the Graph[5] plots (image URL is insterted) https://drive.google.com/file/d/0B9ECtg ... sp=sharing
I just realised that this is another way of displaying ik, which overlayed ik from each of the repeated simulations. Cheers!
Post Reply