NeuroML is an XML based model description language that aims to provide a common data format for defining and exchanging models in computational neuroscience. The focus of NeuroML is on models which are based on the biophysical and anatomical properties of real neurons.
History
The idea of creating NeuroML as a language for describing neuroscience models was first introduced by Goddard et al. following meetings in Edinburgh where initial templates for the language structures were discussed. This initial proposal was based on general purpose structures proposed by Gardner et al.. At that time, the concept of NeuroML was closely linked with the idea of developing a software architecture in which a base application loads a range of plug-in components to handle different aspects of a simulation problem. Neosim was developed based on this goal, and early NeuroML development was closely aligned to this approach. Along with creating Neosim, Howell and Cannon developed a software library, the NeuroML Development Kit, to simplify the process of serializing models in XML. The NeuroML Development Kit implemented a particular dialect of XML, including the "listOfXXX" structure, which also found its way into SBML, but did not define any particular structures at the model description level. Instead, developers of plug-ins for Neosim were free to invent their own structures and serialize them via the NDK, in the hope that some consensus would emerge around the most useful ones. In practice, few developers beyond the Edinburgh group developed or used such structures and the resulting XML was too application specific to gain wider adoption. The Neosim project ended in 2005. Based on the ideas in Goddard et al. and discussions with the Edinburgh group, Sharon Crook began a collaborative effort to develop a language for describing neuronal morphologies in XML called MorphML. From the beginning, the idea behind MorphML was to develop a format for describing morphological structures that would include all of the necessary components to serve as a common data format with the added advantages of XML. At the same time, Padraig Gleeson and Angus Silver were developing for generating neuronal simulations for the and simulators. At that time, neuroConstruct utilized an internal simulator-independent representation for morphologies, channel and networks. It was agreed that these efforts should be merged under the banner of NeuroML, and the current structure of NeuroML was created. The schema was divided into levels to allow different applications to support different part of the language. Since 2006 the XML Schema files for this version of the standard have been available from the .
The language
Aims
The main aims of the NeuroML initiative are to:
To create specifications for a language to describe the biophysics, anatomy and network architecture of neuronal systems at multiple scales
To facilitate the exchange of complex neuronal network models between researchers, allowing for greater transparency and accessibility of models
To promote software tools supporting NeuroML and to support the development of new software and databases
To encourage researchers who create models within the scope of NeuroML to exchange and publish their models in this format.
Structure
NeuroML is focused on biophysical and anatomical detailed models, i.e. incorporating real neuronal morphologies and membrane conductances, and network models based on known anatomical connectivity. The NeuroML structure is composed ofLevels, where each Level deals with a particular biophysical scale. The modular nature of the specifications makes them easier to develop, understand, and use since one can focus on one module at a time; however, the modules are designed to fit together seamlessly. There are currently three Levels of NeuroML defined:
focuses on the anatomical aspects of cells and consists of a schema for Metadata and the main schema. Tools which model the detailed neuronal morphologies can use the informations contained in this Level.
describes the biophysical properties of cells and also the properties of channel and synaptic mechanisms using . Software which simulate neuronal spiking behaviour can use this Level of model description.
describes the positions of cell in space and the network connectivity. This kind of information in can be used by software to exchange details on network architecture. Level 3 files containing cell morphology and connectivity can also be used by applications such as for reproducing and analysing networks of conductance based cell models.
Current schemas in readable form are available on the .
A list of software packages which support all or part of NeuroML is available on the .
Community
NeuroML is an international, free and open community effort. The implements the NeuroML specifications, maintains the website and the , organizes annual workshops and other events, and manages specific funding for coordinating the further development of NeuroML. Version 2.0 of the NeuroML language is being developed by the . NeuroML also participates in the Program on Multiscale Modeling.