Introduction¶
This package provides Python libNeuroML, for working with neuronal models specified in NeuroML 2.
NOTE: libNeuroML targets NeuroML v2.0 (described in Cannon et al, 2014) not NeuroML v1.8.1 (Gleeson et al. 2010).
For a detailed description of libNeuroML see:
PLEASE CITE THE PAPER ABOVE IF YOU USE libNeuroML!
NeuroML¶
NeuroML provides an object model for describing neuronal morphologies, ion channels, synapses and 3D network structure.
Any dynamical components (channels, synapses, abstract cell models) in NeuroML v2.0 will have a definition “behind the scenes” in LEMS. However, all NeuroML files specify is that “element segment will contain element distal with attributes x, y, z, diameter…” or “element izhikevichCell will have attributes a, b, c…”.
For more on NeuroML 2 and LEMS see here.
Serialisations¶
The XML serialisation will be the “natural” serialisation and will follow closely the NeuroML object model. The format of the XML will be specified by the XML Schema definition (XSD file). Note: LEMS definitions of NeuroML ComponentTypes (defining what izhikevichCell does with a, b, c…) and this XSD file (only saying the izhikevichCell element requires a, b, c…) are currently manually kept in line.
Other serialisations have been developed (HDF5, JSON, SWC). See Vella et al. 2014 for more details.