neuroConstruct: Software for developing biologically realistic 3D neural networks
neuroConstruct is being developed in the Silver Lab in the Department of Neuroscience, Physiology and Pharmacology at UCL. neuroConstruct has been designed to simplify development of complex networks of biologically realistic neurons, i.e. models incorporating dendritic morphologies and realistic cell membrane conductances. It is implemented in Java and generates script files for a number of widely used neuronal simulation platforms (including NEURON, GENESIS, MOOSE, PSICS and PyNN). It uses the latest NeuroML specifications, including MorphML, ChannelML and NetworkML.
The latest version of neuroConstruct (v1.7.2) is available here. The source code has been released under GPL.
A paper describing the latest stable version of NeuroML has been published: NeuroML: A Language for Describing Data Driven Models of Neurons and Networks with a High Degree of Biological Detail, P Gleeson, S Crook, RC Cannon, ML Hines, GO Billings, M Farinella, TM Morse, AP Davison, S Ray, US Bhalla, SR Barnes, YD Dimitrova, RA Silver, PLoS Comput Biol 2010. It can be downloaded here and it describes in detail the structure of version 1.x (Levels 1-3, MorphML, ChannelML, NetworkML), includes a detailed discussion of the elements present at each level along with example NeuroML code (see the supporting text of the paper), outlines current simulator support, and presents a number of new cell and network models which have been converted to the format.
A morphologically detailed CA1 pyramidal cell model and a number of cells from the Traub et al. 2005 thalamocortical network model are available here for download in NeuroML format or as complete neuroConstruct projects for execution on a number of simulation platforms. These models are also included with the latest version of neuroConstruct.
A Nature paper (Jason S. Rothman, Laurence Cathala, Volker Steuber, R. Angus Silver, Synaptic depression enables neuronal gain control. Nature 2009) has used neuroConstruct to investigate a detailed layer 5 pyramidal cell model (Kole et al 2008) with dendritically distributed excitatory and inhibitory synaptic input to look at the effects of short term plasticity on gain control ( see project on Open Source Brain).
The paper describing the application has been published: P. Gleeson, V. Steuber and R. A. Silver, neuroConstruct: A Tool for Modeling Networks of Neurons in 3D Space, Neuron 2007 It is available via Open Access here.
A more complete list of publications related to neuroConstruct can be found here.
There is a mailing list for neuroConstruct related news (firstname.lastname@example.org). Sign up here.
What is neuroConstruct?
Some of the key features of neuroConstruct are:
- neuroConstruct can import morphology files in GENESIS, NEURON, Neurolucida, SWC and MorphML format for inclusion in single cell or network models, or more abstract cells can also be built manually.
- Creation of networks of conductance based neurons positioned in 3D
- Complex connectivity patterns between cell groups can be specified for the networks
- Simulation scripts can be generated for NEURON, GENESIS, MOOSE, PSICS and PyNN based simulators (note: not every project can be generated for every simulator)
- Biophysically realistic cellular mechanisms (synapses/channel mechanisms) can be imported from native script files (*.mod or *.g) or created from templates using ChannelML
- Automatic generation of code to record simulation data and visualisation/analysis of data in neuroConstruct
- Recorded simulation runs can be viewed and managed through the Simulation Browser interface
- A Python based scripting interface can be used to control model generation and execution, allowing multiple simulations to be run for cell and network model optimisation
What isn't neuroConstruct?
- neuroConstruct is not a replacement for neural network simulators like NEURON or GENESIS
These packages have sophisticated environments for creating neuronal simulations from scratch, and controlling all aspects of the simulation run. neuroConstruct automates the generation of script files for these platforms, and provides a framework for creating conductance based neuronal models, creating, visualising and analysing networks of cells in 3D, managing simulations and analysing network firing behaviour.