Synaptic input model for dopaminergic neuron to examine pacemaking mechanism

Moderator: wwlytton

Post Reply
adhityaramkumar
Posts: 3
Joined: Fri Jul 24, 2020 3:52 pm

Synaptic input model for dopaminergic neuron to examine pacemaking mechanism

Post by adhityaramkumar »

Hello, I am trying to develop a neuron model in which a single dopaminergic neuron, containing all original properties, is stimulated by 1000 presynaptic dopaminergic neurons, in which the sodium-potassium pump nor the leak current associated with calcium flow are present to eliminate self-activation. This will be used to examine the roIe of calcium ions in the pacemaking mechanism of dopaminergic neurons. I read a previous thread regarding a similar simulation setup (viewtopic.php?f=8&t=3250&p=13565&hilit= ... ing#p13565). I am trying to follow the setup that was suggested in that thread using a single NetCon object. I have a quick question:

How can I specify the interspike interval/firing frequency while using a NetCon object to connect two neurons? I was only able to set these parameters (interval, number, start, noise) while using a NetStim object. However, NetStim generates artificial presynaptic stimuli; I am trying to connect a single presynaptic dopaminergic neuron to the model neuron, but also specify the interspike interval to account for establishing 1000 synaptic connections (mean interspike interval = 1000/(1000*freq)).

Please let me know if I should clarify my question. Thank you so much for your help in advance!
ted
Site Admin
Posts: 6287
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Synaptic input model for dopaminergic neuron to examine pacemaking mechanism

Post by ted »

How can I specify the interspike interval/firing frequency while using a NetCon object to connect two neurons?
Make the presynaptic neuron fire with the desired ISI or frequency.
NetStim generates artificial presynaptic stimuli
No, it generates "100% organic" events that NetCons can deliver to synaptic targets. The events generated by a NetStim are indistinguishable from the events that are generated when a NetCon-monitored variable in a preysnaptic biophysical model cell crosses the NetCon's threshold.
adhityaramkumar
Posts: 3
Joined: Fri Jul 24, 2020 3:52 pm

Re: Synaptic input model for dopaminergic neuron to examine pacemaking mechanism

Post by adhityaramkumar »

Oh okay, thank you so much.
adhityaramkumar
Posts: 3
Joined: Fri Jul 24, 2020 3:52 pm

Re: Synaptic input model for dopaminergic neuron to examine pacemaking mechanism

Post by adhityaramkumar »

Hello! I am having an issue with my NEURON simulations with the setup I mentioned previously in my post. I am trying to change the desired firing frequency and the number of synaptic connections to see the impact it has on the firing of the main neuron. However, for some reason, all of my plots of voltage over time appear to be similar and continue to display a firing frequency of approximately 4 Hz, with minimal difference. The only visible effect seems to be on the time when the first firing occurs. Otherwise, the behavior seems to be the same. I have been trying to see if there are potentially errors in my code, but as of now, I am unable to find any mistakes. I followed a similar framework as what was mentioned in this lab handout regarding connecting neurons together: http://www.cs.stir.ac.uk/~bpg/Teaching/ ... s/lab2.pdf. Here is my code below:

Code: Select all

load_file("obj_neuron.hoc")

maxsyn = 1000 // this value is altered to see the effect on the firing
objectvar syn[maxsyn]
freq = 1 // this value is altered to see the effect on the firing

ncells = 1 // 5
objectvar cells[ncells]
for i = 0, ncells-1 {
    if (i == 0) {
        cells[i] = new CellObj("pump")
    } else {
        cells[i] = new CellObj()
    }
}

objref spikesource
spikesource = new NetStim(0.5)                  // Location of NetStim is arbitrary
spikesource.interval = 1000 / (maxsyn * freq)   // ms (mean) time between spikes
spikesource.number = 40                         // (average) number of spikes
spikesource.start = 0                           // ms (mean) start time of first spike
spikesource.noise = 1                           // range 0 to 1. Fractional randomness
                                                // 0 deterministic, 1 intervals have decaying
                                                // exponential distribution

objref synapse
synapse = new Exp2Syn(0.95) // Inserts ExpSyn 0.95 of way down dendA
synapse.tau1 = 1.17 // ms rise time
synapse.tau2 = 6.0 // ms decay time
synapse.e = 0 // mV reversal potentials

objref connection
thresh = -50
delay = 1
weight = 0.5
connection = new NetCon(spikesource, synapse, thresh, delay, weight)
By any chance, would I need to change the amplitude in order to get the desired firing frequencies? I saw this in another post on the forum. I truly appreciate your help, and please let me know if I need to clarify anything or should provide any other information/files. Have a great day!
ted
Site Admin
Posts: 6287
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Synaptic input model for dopaminergic neuron to examine pacemaking mechanism

Post by ted »

Great, you are off to a good start!

My first suggestion is that you approach the problem in the same way that an experimentalist would explore the properties of a real neuron. If you already have some wet lab experience, some this may be obvious to you in retrospect. An experimentalist would have these thoughts and ask these questions--but might not be able to write nice, clean, well-structured code, or debug it.

Do you have any idea of what your model cell (presumably specified in obj_neuron.hoc) does by itself? (its "intrinsic behavior"). Or how it responds to injected current? Does it fire spikes spontaneously? How does it respond to brief or long duration injected current pulses? What is its maximum firing rate when driven by a sustained depolarizing current?

Here are some general suggestions:

Before using any model cell in a computational experiment, it is important to know the answers to the questions posed above.

If you're using hoc to implement and experiment on your models, it would be a good idea to put the line
load_file("nrngui.hoc")
at the top of the main file. This ensures that NEURON's standard run library has been loaded. It also loads NEURON's GUI library, which does no harm (even if you plan to run your code on a "headless" machine i.e. one that has no GUI hardware).

NEURON's GUI is very convenient for debugging model cells and exploring how they work. If you are interested in learning how to use it, let me know.
Post Reply