Multi-compartmental modeling in Brian 2
© Stimberg et al. 2015
Published: 18 December 2015
Brian 2 is a fundamental rewrite of the popular Brian [1, 2] simulator for spiking neural networks. It is written in the Python programming language and focuses on simplicity and extensibility: neuronal and synaptic models can be described using mathematical formulae and with the use of physical units .
Brian has been traditionally used to simulate networks of single-compartment neurons; complex morphologies, modeled as multi-compartment neurons, were not supported. We have recently added support for such models: a neuron's morphology can be either created from a file (in the SWC format ) or be created iteratively in the simulation script itself, using a convenient syntax. The flexibility of the Brian simulator applies to multi-compartment models in the same way as to single-compartment models: the model dynamics are governed by arbitrary user-provided differential equations, models can be flexibly parameterized over all the compartments and all variables describing the internal state of the model (voltages, currents, conductances, etc) are accessible to the user.
The simulation of multi-compartment models is more complex than that of non-electrically coupled single-compartment models: in addition to the numerical integration of the differential equations governing the change of the membrane potential in a single compartment, the currents flowing across neighboring compartments have to be taken into account. To this end, Brian employs a domain-decomposition method which corrects an initial solution valid for uncoupled compartments, taking the actual coupling into account. This method has the advantage that it is easy to parallelize, since most of computations are performed independently for each compartment. We demonstrate the advantage of this by parallelizing the computation over multiple processor cores using the OpenMP framework. For the future, we are planning to further accelerate the simulation speed by making use of the massively-parallel processing capabilities of graphical processing units.
With this addition, we have significantly enlarged the range of research questions that can be investigated using Brian.
Brian is made available under a free software license and all development takes place in public code repositories.
This work was partly supported by grant ANR-14-CE13-0003.
- Goodman DFM, Brette R: The Brian Simulator. Frontiers in Neuroscience. 2009, 3 (2): 192-197.PubMedPubMed CentralView ArticleGoogle Scholar
- The Brian spiking neural network simulator. accessed 21-02-2015, [http://briansimulator.org]
- Stimberg M, Goodman DFM, Benichoux V, Brette R: Equation-oriented specification of neural models for simulations. Frontiers in Neuroinformatics. 2014, 8: 6-PubMedPubMed CentralView ArticleGoogle Scholar
- Turner DA, Pyapali GK, Wheal HV: An on-line archive of reconstructed hippocampal neurons. Journal of Neuroscience Methods. 1998, 84 (1-2): 49-54.PubMedView ArticleGoogle Scholar
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. The Creative Commons Public Domain Dedication waiver (http://creativecommons.org/publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated.