Companion Data Page

Ring attractor dynamics emerge from a spiking model of the entire protocerebral bridge

Kyobi Kakaria & Benjamin de Bivort

Center for Brain Science and Department of Organismic and Evolutionary Biology, Harvard University, Cambridge, Massachusetts, USA.


Manuscript PDF
Manuscript (hosted at Frontiers of Behavioral Neuroscience)
Pre-print at bioRxiv

Data .mats (MATLAB 2016a)

PBconnectivity.mat Contains two variables: PBaBlank the connectivity matrix shown in Figure 1B with a different integer for each synapse class, and PBa, the connectivity matrix from Figure 1B with entries equal to synapse strengths (i.e. the equivalent number of excitatory or inhibitory PSCs per spike at each synapse).
PBbumpHistogram.mat The bump centroid position and angular velocity for 383 runs simulating ~4s each. No external stimuli applied to the network. Used to generate Figures 2E and 2F.

Analysis and simulation functions and scripts (MATLAB 2016a)

Download a .zip of all these data files.
PBexperiment.m High level script that runs an "experiment" on the PB-EB network by delivering patterned sensory inputs to the EPGs.

Input parameters: connect, a weighted connectivity matrix representing the circuit, i.e. PBa; visBool, boolean indicating whether or not to display figures of the outputs; lifMode indicates which type of neuronal physiology is to be simulated, leaky-integrate-and-fire or leaky-integrator; and pA, the current injected into a neuronal population, used to get the results shown in Figure 5.

Within the script a parameter structure P is prepared with details for the circuit simulation. Its substructure inputDetails contains the information associated with the extrinsic input to the E-PGs, and is specified using the stimulus-defining boolean variables in lines 56-64.

Output structure includes the output objects of the flyLIx scripts as well as the means and standard deviations (not used in the paper) of the synapse classes, and the Gaussian-convolved image used to visualize a Ca2+-like sigal, e.g. Figure 2B.
flyLIF2.m Simulates a neural circuit using a leaky-integrate-and-fire model.

Input parameters: params, a structure with all the physiological coefficients. If left unspecified in this structure, default values are used; connect, the connectivity matrix of the circuit with weights equal to PSCs per spike; inputs a vector indicating which neurons in the circuit receive extrinsic excitation; inputPSCs a n x 1 cell array where each entry is a t x 1 boolean vector of times when an input neuron receives an excitatory PSC; TRPCurrent a vector with length equal to the number of neurons, where non-zero entries indicate the strength (in amps) of ectopic current injected into a neuron constitutively during the simulation.

Outputs a structure with objects representing the voltage and current over time of each neuron, input currents, as well as the input parameters as documentation.
flyLIF.m Similar to flyLIF2.m but used by PBexperiment.m when no ectopic current is injected into any neurons.
flyLI.m Implements a neural circuit using a leaky-integrator model with a tanh non-linearity.

Input parameters: params, a structure with all the physiological coefficients. If left unspecified in this structure, default values are used; connect, the connectivity matrix of the circuit with weights equal to a scaling factor on the voltage-to-current transfer function associated with each synapse.

Outputs similar to flyLIF2.m and flyLIF.m.
PBconTweak.m Tweaks a circuit connectivity matrix to facilitate characterizing network dynamics when synapse strength parameters are swept systematically or dithered randomly.

Input parameters: con, the baseline connectivity matrix; baseCon, a "blank" connectivity matrix, where each synapse class is labeled with a non-zero integer; mode indicates what kind of connectivity matrix perturbation is to be performed. Setting this to "classNoise" dithers each synapse class mean randomly, to "noise" dithers each synapse individually and to "shift" applies a user-specified offset to particular synapse class means; params parameters specific to the perturbation stipulated by mode.

Outputs the tweaked connectivity matrix.
PBModulusMean.m Calculates the position of the bump, as a centroid in azimuthal coordinates. Used to produce the curve in Figure 2C, and the raw data for Figure 2E and 2F. Input is a t x n matrix of Ca2+-like values (i.e. a portion of the matrix represented in Figure 2B). Columns 1...n are chosen taken from the spatiotopically arranged neurons of one type on one hemisphere, e.g. all left P-ENs.
PBMultiPanelPlot.m Produces a 3 panel figure to visualize the behavior of a circuit simulation. Takes as input the output object from PBexperiment.m. The three panels of the figure are: 1) the connectivity matrix, colored by synapse weights, 2) a heatmap representing the Ca++-approximating convolved spike raster image over time, and 3) a scatter plot representing the times of the input spikes.