Joe Graham1, Matteo Cantarelli2, Filippo Ledda2, Dario Del Piano2, Facundo Rodriguez2, Padraig Gleeson3, Samuel A Neymotin4, Michael Hines5, William W Lytton6, Salvador Dura-Bernal6
1SUNY Downstate Medical Center, Neurosim Lab, Brooklyn, New York, United States of America; 2MetaCell, LLC, Cambridge, Massachusetts, United States of America; 3University College London, Department of Neuroscience, Physiology & Pharmacology, London, United Kingdom; 4Nathan Kline Institute for Psychiatric Research, Orangeburg, New York, United States of America; 5Yale University, School of Medicine, New Haven, Connecticut, United States of America; 6SUNY Downstate Medical Center, Department of Physiology and Pharmacology, Brooklyn, New York, United States of America
Correspondence: Joe Graham (joe.w.graham@gmail.com)
BMC Neuroscience 2020, 21(Suppl 1):P51
Neuroscience experiments generate vast amounts of data that span multiple scales: from interactions between individual molecules, to behavior of cells, to circuit activity, to waves of activity across the brain. Biophysically-realistic computational modeling provides a tool to integrate and organize experimental data at multiple scales. NEURON is a leading simulator for detailed neurons and neuronal networks. However, building and simulating networks in NEURON is technically challenging, requiring users to implement custom code for many tasks. Also, lack of format standardization makes it difficult to understand, reproduce, and reuse many existing models.
NetPyNE is a Python interface to NEURON which addresses these issues. It features a user-friendly, high-level declarative programming language. At the network level for example, NetPyNE automatically generates connectivity using a concise set of user-defined specifications rather than forcing the user to explicitly define millions of cell-to-cell connections. NetPyNE enables users to generate NEURON models, run them efficiently in automatically parallelized simulations, optimize and explore network parameters through automated batch runs, and use built-in functions for a wide variety of visualizations and analyses. NetPyNE facilitates sharing by exporting and importing standardized formats (NeuroML and SONATA), and is being widely used to investigate different brain phenomena. It is also being used to teach basic neurobiology and neural modeling. NetPyNE has recently added support for CoreNEURON, the compute engine of NEURON optimized for the latest supercomputer hardware architectures.
In order to make NetPyNE accessible to a wider range of researchers and students, including those with limited programming experience, and to encourage further collaboration between experimentalists and modelers, all its functionality is accessible via a state-of-the-art graphical user interface (GUI). From a browser window, users can intuitively define their network models, visualize and manipulate their cells and networks in 3D, run simulations, and visualize data and analyses. The GUI includes an interactive Python console which synchronizes with the underlying Python-based model.
The NetPyNE GUI is currently being improved in several ways. Flex Layout is being introduced to ensure a responsive, customizable GUI layout regardless of screen size or orientation. Redux is being added to the stack to ensure the complete state of the app is known at all times, minimizing bugs and improving performance. Bokeh is being used to create interactive plots. Furthermore, by integrating NetPyNE with Open Source Brain, users will be able to create online accounts to manage different workspaces and models (create, save, share, etc.). This will allow interaction with online repositories to pull data and models into NetPyNE projects, from resources such as ModelDB, NeuroMorpho, GitHub, etc.
In this poster, we present the latest improvements in NetPyNE and discuss recent data-driven multiscale models utilizing NetPyNE for different brain regions, including: primary motor cortex, primary auditory cortex, and a canonical neocortex model underlying the Human Neocortical Neurosolver, a software tool for interpreting the origin of MEG/EEG data.
Acknowledgments: Supported by NIH U24EB028998, U01EB017695, DOH01-C32250GG-3450000, R01EB022903, R01MH086638, R01DC012947, and ARO W911NF1910402.