Issue with Exp2Syn and stimulation of multiple dendrites

When Python is the interpreter, what is a good
design for the interface to the basic NEURON
concepts.

Moderator: hines

Post Reply
Liz_Stan_88
Posts: 2
Joined: Thu Jul 04, 2019 4:58 am

Issue with Exp2Syn and stimulation of multiple dendrites

Post by Liz_Stan_88 » Thu Aug 22, 2019 4:20 am

Good Day,

I was wondering if someone could either help enlighten me or provide me an answer for a particular issue/phenomenon I am having.

Background:
I am attempting to recreate the Octopus Cell neuron (i.e. found in the cochlear nucleus) in NEURON based on the data and publications of D. Oertel and M. Spencer. I recreated the morphology of the cell (i.e. Soma, Axon Hillock, Axon Initial Segment and 4 Dendrites) as described by M. Spencer in https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3486622/ and the specific ionic channels used are .mod files found in ModelDB from D. Oertel's work and P.B. Manis. I have not adjusted or changed these .mod files.

Currently, I am attempting to apply an Exp2Syn input to Dendrite 1 at a specific location on the length of the dendrite with the parameters setup in the code below, I assume I have managed to set this up correctly in code based on the suggestions in this Forum. The dendrite consists of 21 segments/ nseg = 21, again this was done based on the suggestion from Neuron examples that nseg should be odd not even. Furthermore, I have setup the code so that I can record and plot the Vm potential of each section (i.e. dendrites, soma, axon) to visualize what is happening.

Code: Select all

#============================================================================================
#Stimulation of Dendrite 1 @ 0.25, i.e. the most distal part of the dendrite from the soma.
#============================================================================================
stim = h.NetStim()                                      #Create a netstim()
syn_ = h.Exp2Syn(cell.d["dend0"](0.25))                 #Apply Exp2Syn on dend0 @ 0.25
stim.number = 1                                         #Number of Stimulations
stim.start = 5                                          #Start time in ms
ncstim = h.NetCon(stim, syn_)                           #Create a Netcon()
ncstim.delay = 1                                        #Delay of stimulus in ms
ncstim.weight[0] = 2                                    #NetCon weight in nS.
syn_.tau1 = 0.07                                        #The psp rise time in ms - 70 us
syn_.tau2 = 0.34                                        #The psp decay time in ms - 340 us
syn_.e = 0.0                                             #Synaptic reversal potential - 0 mV

The Problem:
When I stimulate Dendrite 1, in this case at location 0.25 with Exp2Syn with parameters as stated above, on my resulting Vm graphs I notice that the Vm potential rises on Dendrites 2, 3 and 4. Although, this change in Vm potential is rather small in comparison to the dendrite being stimulated, it is still noticeable and worrisome. So my question here is, is this normal? My logic says that something is wrong, as if a SPECIFIC dendrite is stimulated the Vm potential on the corresponding dendrites should not change/at least simply remain at steady state. So is there an underlying mechanism at work in the NEURON environment I am unaware of? Could it be that I'm incorrectly pointing to a section? Ps I have also attempted this with an IClamp and the same thing occurs, I have also attempted going through the NEURON GUI in search for answers by setting up a basic cell in Cell Builder (i.e. soma, axon and 2 dendrites) and stimulating one of those dendrites with an IClamp and plotting the Vm on both dendrites. Again the same problem/phenomenon occurs.

The other question I have is relating to the propagation of the stimulation along the different sections. I do not view a propagational delay (i.e. the onset of stimulation of the dendrite is the exact same onset of stimulation at the soma and the axon wrt to time). Again is this normal? Or is there a way to view this propagational delay?

Any insight into these issues will help. Ps I have not attached the .mod files and my entire code as I didnt want to make my query extremely lengthy, but I am willing to share it upon request.

Kind Regards,
Ms. Stanley

ted
Site Admin
Posts: 5633
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Issue with Exp2Syn and stimulation of multiple dendrites

Post by ted » Thu Aug 22, 2019 8:48 pm

When I stimulate Dendrite 1 . . . the Vm potential rises on Dendrites 2, 3 and 4 . . . I have also attempted this with an IClamp . . . I have also attempted going through the NEURON GUI in search for answers by setting up a basic cell in Cell Builder (i.e. soma, axon and 2 dendrites) and stimulating one of those dendrites with an IClamp and plotting the Vm on both dendrites. Again the same problem/phenomenon occurs.
You're off to a good start. Signs of expertise in programming and probably also model development (commented, well-organized code; a methodical attack that included using an alternative means of implementing the model, AND resorting to a simplified model). Probably not an experimental neuroscientist, more likely a background in computer science, math, physics, engineering?

Time to step back from the model and think about the underlying physics. Current entering the cell through the synapse charges local membrane capacitance, producing an electrical potential gradient that drives longitudinal current flow through the cell's branches. That longitudinal current flow results in charge deposition on membrane capacitance throughout the cell. That's the origin of the perturbations of membrane potential in the other dendrites. In retrospect, you knew this already, but it has been a while since you thought about it.
I do not view a propagational delay (i.e. the onset of stimulation of the dendrite is the exact same onset of stimulation at the soma and the axon wrt to time).
You mean that a single activation of the dendritic synapse makes membrane potentials at the synaptic location, in the soma, and axon start to rise from the baseline at about the same time? Isn't that to be expected, given Figure 6A in Spencer et al. 2012? Note that the delays in 6B refer to time of _peak_ somatic depolarization, not time at which somatic potential starts to rise from rest.

Liz_Stan_88
Posts: 2
Joined: Thu Jul 04, 2019 4:58 am

Re: Issue with Exp2Syn and stimulation of multiple dendrites

Post by Liz_Stan_88 » Mon Aug 26, 2019 6:06 am

Firstly, thank you very much for the swift response Ted.
You're off to a good start. Signs of expertise in programming and probably also model development (commented, well-organized code; a methodical attack that included using an alternative means of implementing the model, AND resorting to a simplified model). Probably not an experimental neuroscientist, more likely a background in computer science, math, physics, engineering?
You were spot on, definitely not a neuroscientist, but an engineer, specializing in the neuroscience/biomedical field. I just find it extremely important and useful to comment extensively when developing code, as I do not sit on the same bit of code every day thus, it is a lot easier to come back to and figure out where my thought pattern was or what I was attempting to achieve with a particular section of code. Of course not to mention the engineering approach that is second nature when it comes to problem solving or looking for a solution.
Time to step back from the model and think about the underlying physics. Current entering the cell through the synapse charges local membrane capacitance, producing an electrical potential gradient that drives longitudinal current flow through the cell's branches. That longitudinal current flow results in charge deposition on membrane capacitance throughout the cell. That's the origin of the perturbations of membrane potential in the other dendrites. In retrospect, you knew this already, but it has been a while since you thought about it.
This was like an AH-HA moment when reading this comment. I actually did hypothesize this, so to get a second opinion/clarity on the subject really settles the curiosity, as I was not one hundred percent convinced that the perturbations were the result of the charge deposition on the membrane, seeing that I generally develop code in MATLAB, where I have complete control over all implemented parameters or variables (i.e. when apply a stimulant to a specific array location, the calculations would not consider the environment/other arrays around it, but solve only for the array being stimulated). So that does definitely make me smile that its not a bug in my code.
You mean that a single activation of the dendritic synapse makes membrane potentials at the synaptic location, in the soma, and axon start to rise from the baseline at about the same time? Isn't that to be expected, given Figure 6A in Spencer et al. 2012? Note that the delays in 6B refer to time of _peak_ somatic depolarization, not time at which somatic potential starts to rise from rest.
Again, thank you for highlighting this once more. I was simply confused as I have always measured propagational delay from the time of onset of stimulation/the point of time when the Vm potential exceeds threshold, and not the time of peak somatic depolarization.

I do have one more question/possible advice needed. If I were to set up a spike train and implement it instead of a single point of synaptic stimulus, I have read up that it is advisable to used VecStim instead of NetStim. I have found the .mod file for Vecevent under C:\nrn\examples\nrniv\netcon and see in the vecevent.mod file a commented python example of how to implement it. I was wondering is there any other example available that I could I look at to see how this would be implemented? or any words of advice?

Kind regards,
Miss. Stanley

ted
Site Admin
Posts: 5633
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Issue with Exp2Syn and stimulation of multiple dendrites

Post by ted » Mon Aug 26, 2019 11:02 am

the engineering approach that is second nature when it comes to problem solving or looking for a solution
One of the reasons why neuroscience needs more engineers.
I generally develop code in MATLAB, where I have complete control over all implemented parameters or variables (i.e. when apply a stimulant to a specific array location, the calculations would not consider the environment/other arrays around it, but solve only for the array being stimulated).
Actually, NEURON provides the same degree of control, but it is exercised in the course of model setup, during which user-written code specifies the equations that are to be solved. With NEURON, if there are some equations that you don't want to solve during a simulation, don't include them in the model.
I have always measured propagational delay from the time of onset of stimulation/the point of time when the Vm potential exceeds threshold, and not the time of peak somatic depolarization.
That particular choice was the authors'. Maybe it was appropriate for the problem they addressed. I'm not sure why some other operational definition of latency would not be more appropriate (e.g. latency between a low amplitude sinusoidal current injected at a dendritic location and the resulting oscillation of membrane potential at the soma), but then I'm not an expert in their particular research area.
I have read up that it is advisable to used VecStim instead of NetStim.
Only if you need a train that a NetStim can't generate, e.g. events at intervals that are nonuniform, or not described by the negexp distribution, or not implementable by using one NetStim to drive another, e.g. a series of event bursts.

There might be some examples of using VecStim in ModelDB, but be careful because not all user written code is of equally high quality.

Post Reply