Skip to content

Olfaction Oscillation Example

KyrusMama edited this page Sep 29, 2020 · 8 revisions

Olfaction Oscillation Example

This more detailed example attempts to build a model for the generation of gamma waves (approximately 60Hz) in the olfactory bulb.

It is common to detect high frequency gamma waves in a rat's olfactory bulb, particularly when the rat is being presented with an odor. These oscillations are different from the oscillations generated from breathing (which are called theta oscillations and are at ~8Hz). They are theorized to be generated by the bulb itself.

Simulator_setup:

timestep 1
final_timestep 1000

Model_structure:

group basic OSN 100
group basic Mitral 100
group basic PG 100
group basic GC 100
group basic ET 100
group calcium_pyr Pyr 100

connect_one_to_one OSN_to_PG {OSN} {PG}
connect_one_to_one OSN_to_Mi {OSN} {Mitral}
connect_one_to_one OSN_to_ET {OSN} {ET}
connect             Mi_to_GC {Mitral} {GC} 0.5
connect_one_to_one  GC_to_Mi {GC} {Mitral}
connect            Mi_to_Pyr {Mitral} {Pyr} 0.2
connect		   Pyr_to_Pyr STDPS {Pyr} {Pyr} 0.2

Parameters:

edit_neurons {OSN}    time_constant 1, sigmoid_center 0.7, sigmoid_slope 0.15
edit_neurons {Mitral} time_constant 2.6, sigmoid_center 0.2, sigmoid_slope 0.02
edit_neurons {PG}     time_constant 2, sigmoid_center 1.5, sigmoid_slope 0.15
edit_neurons {GC}     time_constant 2.2, sigmoid_center 1.5, sigmoid_slope 0.02, refractory_voltage 0
edit_neurons {ET}     time_constant 2, sigmoid_center 2.5, sigmoid_slope 0.15
edit_neurons {Pyr}   time_constant 10, sigmoid_center 1.5, sigmoid_slope 0.15, calcium_inhibition_slope 10, calcium_inhibition_sample_t 450, refractory_voltage 0

edit_connection OSN_to_PG initial_weight 0.0015, E 70, tau1 1, tau2 2
edit_connection OSN_to_Mi initial_weight 0.0015,  E 70, tau1 1, tau2 4
edit_connection OSN_to_ET initial_weight 0.0015, E 70, tau1 1, tau2 4
edit_connection Mi_to_GC  initial_weight 0.0015, E 70, tau1 1.8, tau2 3.6,
edit_connection GC_to_Mi  initial_weight 0.025, E -10, tau1 1.8, tau2 3.6
edit_connection Mi_to_Pyr initial_weight 0.007,  E 70, tau1 1, tau2 4
edit_connection Pyr_to_Pyr initial_weight 0.000 E 70, tau1 1, tau2 4,

sniff {OSN} {100:1000} 1. 8 50 24

Output:
plot neuron raster raster {:} {:}

A summary of the model structure. The model has 6 layers, each with 100 neurons. We will focus on 3 of the 6 layers here: OSN (olfactory sensory neurons), Mitral (mitral cells) and GC (granule cells).

OSN neurons synapse onto Mitral cells in a one-to-one fashion, and so the mitral cells retain the highly neuron specific low frequency oscillations from the OSN.\

Mitral - GC loop:

Mitral cells synapse onto GC in a randomized fashion. This causes GC to loose the neuron specific detail present in the mitral cells, but they still retain the low frequency oscillations generated from the OSN.
GC synapse back onto Mitral cells with Inhibitory synapses in a one-to-one fashion. This causes the mitral cells to fire less when the granule cells fire.

Notice that when the mitral cells fire (due to stimulation from OSN), they cause the granule cells to fire. And when the granule cells fire, they inhibit the mitral cells, preventing them from firing. Since the mitral cells are no longer firing, they no longer excite the granule cells, and so the granule cells stop firing. Since the granule cells are no longer firing, they no longer inhibit the mitral cells, which given inputs from OSN, will start to fire again. And this cycle continues...

This cycle is called the Mitral-GC loop. We will demonstrate that it can produce gamma oscillations in the olfactory bulb.

Finally, take a look at the external stimulus. The OSN neurons are getting a sniff like external stimulus at a frequency of 8Hz. This stimulus will cause theta (8Hz) oscillations in the model.

Also notice that the model already has a command to plot something. The model will automatically plot a raster plot of all the neurons.

And so we run the model

As mentioned, the model will automatically produce a raster plot:

Image not found

Notice that since neurons are numbered in the order they are made, we know that neurons 0-99 are in OSN, 100-199 are in Mitral and 300-399 are in GC, etc.

Notice that in OSN, we see the expected 8Hz sniff input.
However, in Mitral we see the same 8Hz input for the same neurons but with an additional high frequency oscillation over the 8Hz input.
Similarly for GC, we also see the 8Hz input, although it is not for a specific group of neurons here. We also high an additional high frequency oscillation over the 8Hz input.

You decide that you'd like more detailed information, and decide to to focus in on group GC. You decide to plot the average voltage of all neurons in GC over time.

plot neuron voltage mean {GC} {:}

Image not found

It is visible in the image that the average voltage of GC increases and decreases at a slow pace, but within these large increases and decreases there are smaller, shorter oscillations in the voltage.

You decide to try and figure out the frequency of these faster oscillations, and decide to plot the averaged power spectrum of the output of all GC neurons.

plot neuron output mean_psd {GC} {:}

Image not found In the power spectrum, you notice one big peak at 8Hz, as expected. But you also notice two smaller peaks close together, near 60Hz. This suggests that the high frequency oscillations are around 60Hz.

You notice that in the voltage graph, the high frequency oscillations were only present during the peaks in the low frequency oscillations. To get more information on how the frequencies present change with time, you decide to plot the averaged spectrogram of the output of the GC neurons.

plot neuron output spec {GC} {:}

Image not found

It is clear in the spectrogram that the high frequency oscillations come and go at the same rate as the peaks and troughs in the low frequency oscillation. You therefore feel confident in saying that this model produced 60Hz oscillations in the olfactory bulb.

Satisfied with your work, you report to your professor with your findings. She is pleased, but she thinks that there is some more work to be done.

Change ideas:

  1. Can you edit the parameters of the neurons and synapses so that the oscillations generated in the olfactory bulb go from 60Hz to 100Hz? how about from 60Hz to 30Hz? Tip: look at the explanation of what the parameters do in Neuron Types and Parameters and Synapse Types and Parameters. Notice that to increase the frequency of the oscillations, you should try to increase the speed at which the neurons react to inputs, and increase how fast synapses have an effect on the postsynaptic neuron.
  2. Rats don't usually breath at a constant rate, their sniff rates change over time. Can you include different frequencies of sniff inputs in the model (say 8Hz from 100 to 400, 12Hz from 450 to 750, 4Hz from 800 to 1000)? Having done this, can you analyze the high frequency oscillations (usually 60Hz) in the model, if they are still present? Do these oscillations change frequency from 60Hz? Tips: Look at details on external stimuli in Parameters. Also, consider plotting power spectra over only limited periods in time of the model. For example, plot the power spectrum from 100-400ms, and then from 450-750ms separately. eg:
plot neuron output mean_psd {GC} {100:400}
plot neuron output mean_psd {GC} {450:750}

Clone this wiki locally