Skip to main content
Advertisement

< Back to Article

Fig 1.

Overview of BMTK.

The BMTK software suite consists of several modules. The Builder module contains functions for constructing network models. The simulator modules provide APIs to the simulation engines. BioNet enables simulations of networks consisting of biophysically detailed, multi-compartmental neuron models by interfacing with NEURON. PointNet supports simulations of point-neuron networks via NEST. FilterNet permits simulations of arrays of filters (integrated with the specific case of a model of visual processing by the mouse LGN). PopNet supports simulations with population-statistical models by interfacing with the DiPDE tool. The BMTK modules can subserve multi-stage operations by writing the outputs as files in SONATA format and reading such files as inputs for the next stage of modeling or simulation.

More »

Fig 1 Expand

Fig 2.

Basic workflow that is conserved across modules of BMTK.

Input SONATA files (represented symbolically as chests of drawers) determine the composition and properties of the nodes/network, as well as incoming stimuli (spikes, firing rates, movies) and simulation configuration. Top: the model construction stage. The BMTK Builder combines elements such as cell or synapse models, connectivity rules, and others, via high-level specifications, instantiates the network model, and saves the instantiation as a set of SONATA files. Bottom: simulation stage. The BMTK simulator modules take in the SONATA files as inputs and perform simulations. The input SONATA files may be generated by the BMTK Builder (dashed arrow), any other Builder software supporting SONATA, or from public repositories, collaborators, etc. The BMTK simulator modules produce output, also in SONATA format, typically containing spikes and/or time series (e.g., membrane voltage in selected cells, as a function of time). Right: the SONATA files produced by the BMTK Builder or simulator modules can be analyzed in terms of the model structure or simulated activity (using any analysis software supporting SONATA, or the software that can read HDF5, CSV, and other components of SONATA specification).

More »

Fig 2 Expand

Fig 3.

BMTK Builder.

The Builder module is used to design and instantiate network models. On the left, examples of the Python commands used in BMTK Builder are presented. Note that in this simple example it is assumed that user-defined connection functions “gaussian_distance” and “random_connections” are employed. The purpose of these commands is illustrated schematically on the right. The main stages of model building workflow are defining the nodes and their attributes, defining the connection rules, and then instantiating and saving the network.

More »

Fig 3 Expand

Fig 4.

Biophysically detailed, point-neuron, and population simulations with BioNet, PointNet, and PopNet.

In all three cases, the interconnected populations of excitatory and inhibitory neurons receive excitatory input from an external population (1,000 Poisson sources firing at the frequency of 150 Hz, replaced by a uniform population in the PopNet case). (A) Biophysically detailed network of randomly connected excitatory and inhibitory neurons, 12,500 total. An RTNeuron visualization of the network is shown alongside its spiking output (spikes from a small portion of the network are shown, for clarity) and the firing rate (for the whole excitatory population) produced by the BMTK’s BioNet module. (B) The same network using the point-neuron approximation. An RTNeuron visualization and simulation output from the BMTK’s PointNet module simulation are shown. (C) Population-based representation of the same network. A schematic of the model and the output of population-density simulation (firing rate for the excitatory population is shown) from BMTK’s PopNet module are illustrated.

More »

Fig 4 Expand

Fig 5.

The FilterNet module.

Top, general workflow in FilterNet. In case of a visual stimulus, a movie is processed by an array of filters distributed in the visual space. Each filter convolves the frames of the movie with the spatial and temporal kernels, performs rectification, and outputs a time dependent firing rate representing the response of the filter to the movie, which can be also converted to instantiations of spike trains. Bottom, illustration of inputs and outputs of FilterNet. Inputs include specifications of parameters such as duration, frame rate, and file locations, as well as contents of the files describing the input patterns and filter properties and distributions. The “run_filternet.py” script is used to carry out the calculations. The output may contain the time series of time-dependent firing rates for each filter and spike trains (illustrated) generated from these time series.

More »

Fig 5 Expand

Fig 6.

The biophysical and point-neuron V1 models.

(A) Visualizations of the biophysical and point-neuron models. The 230,000-neuron models emulate the central portion of the mouse V1, across the full cortical depth, containing layers 1, 2/3, 4, 5, and 6 (layer boundaries are indicated). In the top model, the core portion, ~50,000 neurons, is simulated using biophysically detailed compartmental neuronal models, and the annulus around the core using leaky integrate-and-fire (LIF) point-neuron models. In the bottom model, both core and the annulus employ the generalized LIF neuronal models. Neurons are colored by cell class: hues of red for excitatory cells in layers 2/3, 4, 5, and 6, and blue, cyan and green for Parvalbumin- (Pvalb), Somatostatin- (SST), and 5-hydroxytryptamine receptor 3A- (Htr3a) expressing inhibitory cells classes. (B) Summary of firing rates and direction selectivity index (DSI) obtained from the biophysical and point-neuron simulations, vs. experimental extracellular electrophysiology recordings, by cell class. The data were obtained from 2.5-second long presentations of drifting gratings at 8 different directions, 10 trials each. “RS” and “FS” are experimentally determined regular- and fast-spiking cells, roughly corresponding to excitatory and Pvalb inhibitory neurons; the SST and Htr3a neurons could not be identified from experiments. (C) Performance benchmarks and scaling of simulations and setup (including disk I/O) of the biophysical version of the V1 model using BMTK’s BioNet. The simulation involved 0.5 s presentation of gray screen and 2.5 s of a drifting grating. The time shown is the wallclock time it took to obtain 1 second of simulated time, averaged over 3 s of simulation. The dashed lines indicate ideal scaling (relative to 125 cores, which is a typical choice for simulation of such scale).

More »

Fig 6 Expand

Fig 7.

Computing extracellular field potential in BMTK.

A simulation using a version of the V1 model (Fig 6) with a white full-field flash stimulus is illustrated. The BioNet module of BMTK was used to run the simulation and compute the extracellular potential at multiple virtual electrode locations along the cortical depth; consequently, the potential was used to obtain the Local Field Potential and Current Source Density (CSD). Top row: LFP from example simulation and example mouse. The LFPs are found from averaging over 5 trials in the simulation and 75 trials in the experiments. Middle row: Corresponding CSDs for the LFPs in top row. The CSD is estimated using the delta-source iCSD method [51] assuming a column diameter of 0.8 mm for the simulation (the diameter of the core with biophysically detailed neurons in the model) and 1.6 mm for the experiment (roughly in accordance with the diameter of mouse V1). Bottom row: firing rates for the excitatory (“E”) and inhibitory (“I”) populations in each layer (2/3, 4, 5, and 6). Black: experiment mean. Gray: experiment standard deviation. Blue: simulation mean. Simulation rates are averaged over all neurons in a population and 5 trials. Experimental data are averaged over all neurons of the given type recorded from 47 mice, 75 trials each.

More »

Fig 7 Expand

Fig 8.

Simulation of optogenetic perturbations using BMTK.

The point-neuron version of the V1 model (Fig 6) is used here for illustration. Perturbations are achieved by injecting positive or negative current into cells. (A) Raster plots from 3-second simulations (stimulus: 0.5 s gray followed by 2.5 s of a drifting grating). Simulations without perturbation, with complete silencing of all Layer 6 excitatory cells (E6), and activation of all E6 cells (current equal to 0.5 of the rheobase of each neuron at rest is injected) are illustrated. The perturbation here is applied throughout the course of simulation. (B) Summary of silencing individual cell classes in the V1 model, for the same visual stimulus as in (A). The cell classes listed along the horizontal axis are silenced one by one, and the effect on each cell class (listed along the vertical axis) is characterized using the Optogenetic Modulation Index (OMI; see Main text), averaged over 10 trials and over all cells in the class. The entries “allHtr3a”, “allPvalb”, and “allSst” refer to simulations where, e.g., the Sst class of neurons was silenced in all layers (“allSst”). (C) Activation of Layer 6 excitatory or Pvalb inhibitory neurons, for the same visual stimulus as in (A). Different amplitudes of perturbations are sampled. OMI is computed as in (B), and is shown for 3 select cell classes. Due to inter-laminar projections of Layer 6 Pvalb interneurons to upper layers, activation of either Layer 6 excitatory or Layer 6 inhibitory Pvalb cells leads to the suppression of activity in Layer 4.

More »

Fig 8 Expand