Validate and transform NeuroML files
NeuroML is an international initiative to facilitate greater interoperability between compuational neuroscience tools by producing standardised descriptions of elements common to many software packages used for visualising, simulating and analysing neuronal systems.
The current approach uses XML Schemas to define the specification. A very good introduction to XML and reference guide can be found here.
Note: To find out more about the current activities in the NeuroML project please see the mailing lists
The current version of the specification is: v1.8.1 (June 2009, Release notes)
There are three Levels of compliance to the NeuroML standards:
- Level 1 is focused on the anatomical aspects of the cells. This consists of a schema for metadata, Metadata_v1.8.1.xsd (which can be also used to describe elements at any subsequent level), and the main MorphML schema, MorphML_v1.8.1.xsd. Valid morphology files can be mapped to NEURON or GENESIS format.
- Level 2 adds the ability to include information on the biophysical properties of cells (specific capacitance, axial resistance, location and density of membrane conductances, etc.) Biophysics_v1.8.1.xsd, and on the properties of specific channel and synaptic mechanisms, ChannelML_v1.8.1.xsd. Examples are given for valid ChannelML files which can be mapped to scripts for the NEURON and GENESIS simulators. Any Level 1 or Level 2 XML file to will be compliant to NeuroML_Level2_v1.8.1.xsd
- Level 3 allows specification of cell placement and network connectivity. The core of this is specified in NetworkML_v1.8.1.xsd
The best way to get to understand the structure of the standards is to look at the source XML of the examples. Some of these are:
- CablesIncluded.xml (HTML) is an example of a cell with soma and dendrites specified in MorphML
- NaChannel_HH.xml (HTML) is a ChannelML example of a sodium channel based on the Hodgkin Huxley squid model.
- CompleteNetwork.xml (HTML) is a description of a full network model including cell, synaptic mechanisms and network connections (in NetworkML).
