Software

Overview

Our lab has been dedicated to the dissemination of open-source software since 1992. Almost all of this software is for use with the NEURON simulation system. Most of the software is from specific models, both from our papers and from those of others posted on ModelDB. We also offer some analysis tools hosted on SimToolDB and simulation management tools on this website.

Molecular level - RxD for NEURON

Computational neuroscience has traditionally focused on electrophysiology, neglecting the accompanying chemophysiology that underlies neural function and the brain’s role as a complex organ within which neuronal networks are embedded. The NEURON rxd module expands the modeling capabilities of the NEURON simulation framework from the electrophysiological components of neurites, cells and networks into the chemophysiological scales of spines, subcellular organelles, interactomics, metabolomics, proteomics. Working in collaboration with Carl Tropper at McGill University we have developed a ‘plugin’ to support stochastic reaction-diffusion; these probabilistic events are essential when the number of molecules is relatively small, as is the case with calcium in a dendritic spine.  

The recent expansion of the rxd module into the domain of extracellular space (ECS) considerably extends the scope of chemophysiology into the vast expanse of interneuronal space. Most neuronal network simulations have effectively operated in a vacuum, omitting the effects of nonsynaptic neuromodulators, neuromodulatory gases, ions metabolites, et cetera. These physiological agents also play pathophysiological roles, for example, excessive ion concentrations are seen in spreading depression, and a lack of metabolites can cause tissue damage in ischemia and stroke. The ECS simulation developed here will provide the broadest spatial scale for future multiscale models that will add additional methods at smaller scales.

The rxd module has a GUI and simple Python interface, where the modeler specifies:

1. Regions: where the intracellular, extracellular or subcellular regions being modeled.

2. Species: who, the molecules involved.

3. Transformations: what, the reactions between species, or transits across a membrane.

We continue to work to improve performance without comprising usability. Simulation time has been reduced by moving the runtime methods to compiled C code with Just-In-Time compiled reactions and by adding support for multithread and multiprocessor parallelization. We are working to improve visualization by developing a new GUI toolkit. Support for new and experienced users is provided via the NEURON forum.

 

Network level - NetPyNE for NEURON

Transforming experimental data into solid conclusions and theory requires integrating and interpreting disparate datasets at multiple scales. The BRAIN Initiative 2025 report highlights this requires rigorous theory and modeling. The widely used NEURON simulator allows researchers to develop biophysically realistic models of neurons and networks. However, building and running parallel simulations of complex brain networks usually requires years of highly technical training. Here we present NetPyNE (www.netpyne.org), a tool that extends NEURON's capabilities and makes it accessible to the wider scientific community.

NetPyNE provides both a programmatic and graphical interface that facilitates the definition, parallel simulation and analysis of data-driven multiscale models. Users can provide specifications at a high level via its standardized declarative language, e.g. a probability of connection, instead of millions of explicit cell-to-cell connections. With a single command, NetPyNE can then generate the NEURON network model and run an efficiently parallelized simulation. The user can then select from a variety of built-in functions to visualize and analyse the results, including connectivity matrices, voltage traces, raster plot, local field potential spectra or information transfer measures. The graphical user interface (https://github.com/MetaCell/NetPyNE-UI) was developed using state-of-the-art technology and allows users to more intuitively access all NetPyNE functionalities: specifying model parameters using drop-down lists or autocomplete forms, interactively visualizing the 3D network, running parallel simulations or plotting results. NetPyNE models can be imported/exported to NeuroML specifications, facilitating model sharing and simulator interoperability.

NetPyNE's standardized format clearly separates model parameters from implementation and can be exported/imported to NeuroML, thus making it easier to understand, reproduce, reuse and share models. This has motivated the conversion of several published models to NetPyNE specifications, including the Potjans & Diesmann cortical network, the Traub thalamocortical network, the Cutsuridis CA1 microcircuit and the Tejada dentate gyrus network. The tool is also being used to develop a variety of new models exploring mouse M1 microcircuits [2], the claustrum network, cerebellum circuits, transcranial magnetic stimulation (TMS) in cortex, or the underlying biophysics of EEG recordings. We expect the NetPyNE tool to make data-driven biophysically-detailed network modeling accessible to a wider range of researchers and students, including those with limited programming experience, and encourage further collaboration between experimentalists and modelers.


Models and tools

Below are lists of our models and tools divided into the following categories:

In addition, there are simulations and exercises available for use with the textbook From Computer to Brain.


Models from our papers

Virtually all of our modeling papers are distributed along with source code via ModelDB.

 


Simulation and analysis tools

The following are simulation or analysis tools. Analysis tools may be utilized for physiological or simulation data. Note that the posted versions of these tools are not always kept current; contact us for current versions if you want to use them.

 


Small NEURON scripts

These are mostly minor helper functions for NEURON. Note that some of these tools are now deprecated since similar or identical tools can now be accessed via NEURON's PYTHON interface.

 


Ported models

We depend on the kindness of strangers in developing our simulations and post models of others that we have successfully ported to NEURON (yes, there were a few that were not entirely successful -- i.e. couldn't quite replicate the figures)