4.7.2 Multiscale Interpretation Part II
First Proximal Drive (Contd…)
Continuing from where we left off in the previous section, we had just generated a new figure that shows the histogram of spikes for the external drives, the cell-specific spiking in the network, and the layer-specific dipoles without any smoothing.
fig = plot_combined_raster_hist(
dipole=unsmoothed_dipole,
net=net_default_gui,
)
for ax in fig.axes:
add_outline_to_subplot(
ax,
show_origin_line=False,
)
From this figure, we can begin to unpack why the aggregate dipole shows a net inward current, despite our previous assertion that proximals drives generally cause outward current.
We previously established from the layer-specific dipoles that the net inward current is largely dominated by Layer 5. Looking at the spiking for Layer 5, we see that the overall effect of this drive is that there is far more interneuron spiking than pyramidal neuron spiking.
In the Figure below, we see that one of the causes of Inward Currents is somatic hyperpolarization, which is caused by inhibitory connectionson the pyramidal neurons from the interneurons.
Figure 7.2.A: Inward and Outward Currents
Our spiking raster plot suggests that the somatic hyperpolarization from the Layer 5 interneurons onto the pyramidal neurons is the dominant effect.
We do see that each pyramidal neuron spike is accompanied by a small positive deflection in the dipole. These positive deflections are a result of the backpropagating action potentials that occur when these neurons spike, and are one of our causes of outward currents.
All in all, this figure suggests that our proximal drive to Layer 5 is activating the interneurons much more strongly than the pyramidal neurons. We can examine the network parameters to see if this presumption holds true.
As we did previously, let's examine the drive object, this time
looking at evprox1. We'll once again print the "keys" for
the object so we can view all of its attributes.
# create a pointer variable for "evprox1"
evprox1 = net_default.external_drives["evprox1"]
# print the keys
print(
"# Drive Object Keys",
"# " + "-" * 40,
list(evprox1.keys()),
sep="\n",
)
The attributes of interest to our question are
weights_ampa and weights_nmda, which represent
the excitatory synaptic connections (either AMPA or NMDA) between the
proximal drive and the network. These attributes are data dictionaries
with keys that correspond to the target celltype in the local network,
and values that are the numerical weights for those connections.
# below, we set up a loop to print the keys and values
# for each of synapse types
synapse_types = ["weights_ampa", "weights_nmda"]
for synapse_weights in synapse_types:
print(
f"# {synapse_weights}",
"# " + "-" * 40,
sep="\n",
)
# check if the connections exist before trying to
# loop through the data dictionary
if evprox1[synapse_weights] is not None:
# print the celltype and weight for each connection
for celltype, weight in evprox1[synapse_weights].items():
print(f"Celltype: {celltype}", f" Weight: {weight}", "", sep="\n")
# if the connection does not exist, print the value
# of the data attribute, which will be None
else:
print(
evprox1["weights_nmda"],
)
We can see in the output above that there are no NMDA connections defined for this particular drive. Therefore, we need only examine the AMPA weights.
Focusing on Layer 5, we see that the strength of the inputs to the
interneurons (L5_basket) are over 20 times stronger than
the strength of the weights to the pyramidal neurons
(L5_pyramidal).
This supports our presumption above that this particular proximal drive to Layer 5 is activating the interneurons much more strongly than it is activating the pyramidal neurons.
First Distal Drive
Next, we will examine the first distal drive using the same figures
for interpretation. However, we'll change the outline to map onto the
correct time window for the distal drive. We'll use the window from just
before the distal drive's first spike arrives at the network to just
before the second proximal drive's first spike arrives at the
network. Let's first use our custom plotting function
plot_initial_gui_figure to re-generate the figure showing
the aggregate dipole plotted against the experimental data.
It's important to note that the time window around the distal drive differs from the first proximal drive in that the network is not at its "resting state" when the distal drive first arrives at the network. Therefore, we cannot isolate changes in the simulated signal exclusively to the impact of the distal drive arriving at the network.
Nevertheless, we can see that there is a strong net inward current, which gradually weakens after the mean arrival time of the distal drive.
fig = plot_initial_gui_figure(
net_default_gui,
processed_dipole,
threshold_experimental_dpl,
)
# note that, for each subplot, we manually set the time
# window used to draw the outline
add_outline_to_subplot(
fig.axes[0],
x_bounds=[54, 110],
show_origin_line=False,
)
add_outline_to_subplot(
fig.axes[1],
x_bounds=[54, 110],
)
It's also noteworthy that the direction of the net current flow shifts to be outward (positive in absolute value) even before the second proximal drive's first spike arrives at the network. Let's look at our custom raster plot to investigate this observation further.
fig = plot_combined_raster_hist(
dipole=unsmoothed_dipole,
net=net_default_gui,
)
# as with the figure above, we manually specify
# the time window for the outline
for ax in fig.axes:
add_outline_to_subplot(
ax,
x_bounds=[54, 110],
show_origin_line=False,
)
We see some different dynamics at play during this time window. We'll again focus our attention on Layer 5, since there's comparatively less happening in Layer 2/3 dipole around the distal drive.
First of all, note that the initial and strong inward current in Layer 5 occurs during a period with comparatively few interneuron spikes. We can see in Figure A (above) that the distal drive depolarizes the most superficial apical dendrites of the pyramidal neurons. This distal depolarization is one of our causes of inward currents, and is driving the initial downward deflection seen in the Layer 5 dipole.
By 60ms, we begin to observe some pyramidal neuron spiking. We can be reasonably confident that the pyramidal neuron spiking is not due to lingering effects of the first proximal drive, but rather to the activation of the local network.
When the distal drive creates a strong inward current, that current travels down the apical dendrites until it eventually reaches the soma. If the current at the soma is strong enough, it will cause the pyramidal neurons to spike, and the backpropagating action potentials create outward currents that compete against the inward currents from the distal depolarization.
You can clearly see the competition between the inward and outward currents in the rapid positive and negative deflection in the dipole around the first plateau after the distal drive.
However, the number of pyramidal neurons spiking continues to increase over time, and eventually the outward currents begin to dominate, leading to a fairly sharp rise in the dipole around 70ms. This continues until we see a highly synchronous bout of interneuron spiking. Given that the distal drive does not target the Layer 5 interneurons directly (as shown in the Template Figure), we can be reasonably sure that the interneuron spiking is mediated by the coupling in the local network between the pyramidal neurons and the interneurons.
This recurrent inhibition in the local network not only prevents the pyramidal neurons from spiking for a time, briefly shutting down the outward currents from backpropagating action potentials, but also reinforces the inward currents from the distal drive by hyperpolarizing the pyramidal neuron somas.
After the pyramidal neurons are released from inhibition, they begin spiking again, and the same pattern repeats.
Whereas the smooth dipole creates the illusion of a steady decline and subsequent rise the signal, the unsmoothed dipole clearly illustrates the recurrent "push-and-pull" dynamics between the pyramidal neurons and interneurons in the local network, as they work against each other to push current up and down the apical dendrites.