Brian 2: an intuitive and efficient neural simulator

To be maximally useful for neuroscience research, neural simulators must make it possible to define original models. This is especially important because a computational experiment might not only need descriptions of neurons and synapses, but also models of interactions with the environment (e.g. muscles), or the environment itself. To preserve high performance when defining new models, current simulators offer two options: low-level programming, or mark-up languages (and other domain specific languages). The first option requires time and expertise, is prone to errors, and contributes to problems with reproducibility and replicability. The second option has limited scope, since it can only describe the range of neural models covered by the ontology. Other aspects of a computational experiment, such as the stimulation protocol, cannot be expressed within this framework. “Brian” 2 is a complete rewrite of Brian that addresses this issue by using runtime code generation with a procedural equation-oriented approach. Brian 2 enables scientists to write code that is particularly simple and concise, closely matching the way they conceptualise their models, while the technique of runtime code generation automatically transforms high level descriptions of models into efficient low level code tailored to different hardware (e.g. CPU or GPU). We illustrate it with several challenging examples: a plastic model of the pyloric network of crustaceans, a closed-loop sensorimotor model, programmatic exploration of a neuron model, and an auditory model with real-time input from a microphone.

[1]  Eve Marder,et al.  Cell types, network homeostasis, and pathological compensation from a biologically plausible ion channel expression model. , 2014, Neuron.

[2]  Abigail Morrison,et al.  Reproducing Polychronization: A Guide to Maximizing the Reproducibility of Spiking Network Models , 2018, Front. Neuroinform..

[3]  Sergey L. Gratiy,et al.  Fully integrated silicon probes for high-density recording of neural activity , 2017, Nature.

[4]  Idan Segev,et al.  Methods in Neuronal Modeling , 1988 .

[5]  Erik De Schutter,et al.  A consumer guide to neuronal modeling software , 1992, Trends in Neurosciences.

[6]  J. Hindmarsh,et al.  A model of neuronal bursting using three coupled first order differential equations , 1984, Proceedings of the Royal Society of London. Series B. Biological Sciences.

[7]  Murray Shanahan,et al.  NeMo: A Platform for Neural Modelling of Spiking Neurons Using GPUs , 2009, 2009 20th IEEE International Conference on Application-specific Systems, Architectures and Processors.

[8]  Robert C. Cannon,et al.  LEMS: a language for expressing complex biological models in concise and hierarchical form and its use in underpinning NeuroML 2 , 2014, Front. Neuroinform..

[9]  Astrid A Prinz,et al.  Insights from models of rhythmic motor systems , 2006, Current Opinion in Neurobiology.

[10]  Steve B. Furber,et al.  The SpiNNaker Project , 2014, Proceedings of the IEEE.

[11]  Romain Brette,et al.  Vectorized Algorithms for Spiking Neural Network Simulation , 2011, Neural Computation.

[12]  Pierre Yger,et al.  PyNN: A Common Interface for Neuronal Network Simulators , 2008, Front. Neuroinform..

[13]  Shoaib Sufi,et al.  Toward standard practices for sharing computer code and programs in neuroscience , 2016, Nature Neuroscience.

[14]  Romain Brette,et al.  Impact of Fast Sodium Channel Inactivation on Spike Threshold Dynamics and Synaptic Integration , 2011, PLoS Comput. Biol..

[15]  Romain Brette,et al.  The Brian Simulator , 2009, Front. Neurosci..

[16]  Marc-Oliver Gewaltig,et al.  NEST (NEural Simulation Tool) , 2007, Scholarpedia.

[17]  Bruce Graham,et al.  Creating, documenting and sharing network models , 2012, Network.

[18]  E. Marder,et al.  Similar network activity from disparate circuit parameters , 2004, Nature Neuroscience.

[19]  Jugoslava Acimovic,et al.  Challenges in Reproducibility, Replicability, and Comparability of Computational Models and Tools for Neuronal and Glial Networks, Cells, and Subcellular Structures , 2018, Front. Neuroinform..

[20]  Mikael Djurfeldt The Connection-set Algebra—A Novel Formalism for the Representation of Connectivity Structure in Neuronal Network Models , 2012, Neuroinformatics.

[21]  Nicholas T. Carnevale,et al.  Expanding NEURON's Repertoire of Mechanisms with NMODL , 2000, Neural Computation.

[22]  Nikil D. Dutt,et al.  An Efficient Simulation Environment for Modeling Large-Scale Cortical Processing , 2011, Front. Neuroinform..

[23]  Bernhard Rumpe,et al.  Code Generation in Computational Neuroscience: A Review of Tools and Techniques , 2018, Front. Neuroinform..

[24]  Romain Brette,et al.  On the design of script languages for neural simulation , 2012, Network.

[25]  Andy R. Terrel,et al.  SymPy: Symbolic computing in Python , 2017, PeerJ Prepr..

[26]  Eve Marder,et al.  Cell Types, Network Homeostasis, and Pathological Compensation from a Biologically Plausible Ion Channel Expression Model , 2014, Neuron.

[27]  Romain Brette,et al.  Equation-oriented specification of neural models for simulations , 2013, Front. Neuroinform..

[28]  Nicholas T. Carnevale,et al.  Simulation of networks of spiking neurons: A review of tools and strategies , 2006, Journal of Computational Neuroscience.

[29]  Ian M. Mitchell,et al.  Reproducible research for scientific computing: Tools and strategies for changing the culture , 2012, Computing in Science & Engineering.

[30]  Thomas Nowotny,et al.  Brian2GeNN: a system for accelerating a large variety of spiking neural networks with graphics hardware , 2018, bioRxiv.

[31]  Andrew S. Cassidy,et al.  A million spiking-neuron integrated circuit with a scalable communication network and interface , 2014, Science.

[32]  Stefan Behnel,et al.  Cython: The Best of Both Worlds , 2011, Computing in Science & Engineering.

[33]  James M. Bower,et al.  The Book of GENESIS , 1994, Springer New York.

[34]  Robert Clewley,et al.  NineML: the network interchange for neuroscience modeling language , 2011, BMC Neuroscience.

[35]  Michael L. Hines,et al.  NeuroML: A Language for Describing Data Driven Models of Neurons and Networks with a High Degree of Biological Detail , 2010, PLoS Comput. Biol..

[36]  Tim P Vogels,et al.  Signal Propagation and Logic Gating in Networks of Integrate-and-Fire Neurons , 2005, The Journal of Neuroscience.

[37]  Simon W. Moore,et al.  Bluehive - A field-programable custom computing machine for extreme-scale real-time neural network simulation , 2012, 2012 IEEE 20th International Symposium on Field-Programmable Custom Computing Machines.

[38]  Wayne Luk,et al.  NeuroFlow: A General Purpose Spiking Neural Network Simulation Platform using Customizable Processors , 2016, Front. Neurosci..

[39]  Dan F. M. Goodman Code Generation: A Strategy for Neural Network Simulators , 2010, Neuroinformatics.

[40]  Romain Brette,et al.  Simulating spiking neural networks on GPU , 2012, Network.

[41]  Bernhard Rumpe,et al.  NESTML: a modeling language for spiking neurons , 2016, Modellierung.

[42]  A. Hodgkin,et al.  A quantitative description of membrane current and its application to conduction and excitation in nerve , 1952, The Journal of physiology.

[43]  Cyrille Rossant,et al.  Sustainable computational science: the ReScience initiative , 2017, PeerJ Comput. Sci..

[44]  Vikram K. Narayana,et al.  Software for Brain Network Simulations: A Comparative Study , 2017, Front. Neuroinform..

[45]  Thomas Nowotny,et al.  GeNN: a code generation framework for accelerated brain simulations , 2016, Scientific Reports.

[46]  Rajnish Ranjan,et al.  Mapping the function of neuronal ion channels in model and experiment , 2017, eLife.

[47]  J. C. R. Licklider,et al.  Periodicity Pitch and Related Auditory Process Models , 1962 .

[48]  Eric Jones,et al.  SciPy: Open Source Scientific Tools for Python , 2001 .

[49]  Sparsh Mittal,et al.  A Survey of Techniques for Approximate Computing , 2016, ACM Comput. Surv..

[50]  Eve Marder,et al.  Network Stability from Activity-Dependent Regulation of Neuronal Conductances , 1999, Neural Computation.

[51]  Eve Marder,et al.  Computational models in the age of large datasets , 2015, Current Opinion in Neurobiology.

[52]  Alain Destexhe,et al.  How much can we trust neural simulation strategies? , 2007, Neurocomputing.

[53]  Romain Brette,et al.  Modeling Neuron–Glia Interactions with the Brian 2 Simulator , 2019, Springer Series in Computational Neuroscience.