What Is NeuroML: XML Modeling in Neuroscience
This article provides an overview of NeuroML, an XML-based standard designed for computational neuroscience. It explores what NeuroML is, how it leverages structured XML formatting to define multi-scale neuronal mechanisms, and how it enables seamless model sharing and interoperability across diverse simulation environments.
Understanding NeuroML
NeuroML (Neural Model Transition Language) is an open, standardized declarative language used to specify computational models of biological neural systems. In computational neuroscience, researchers frequently develop models ranging from subcellular ion channel dynamics to complex, large-scale network architectures. Historically, these models were locked into specific simulation engines (such as NEURON, BRIAN, or GENESIS), making cross-platform validation and sharing difficult. NeuroML solves this fragmentation by providing an engine-independent, structured format based on Extensible Markup Language (XML).
How NeuroML Uses XML to Model Neuroscience Simulations
XML organizes data hierarchically using human- and machine-readable tags. NeuroML maps biological structures and biophysical dynamics directly into these structured XML schemas.
The modeling architecture is generally organized across distinct levels:
- Morphology (Anatomy): Neuronal geometries are
defined using XML elements like
<segment>,<segmentGroup>, and<distal>. This allows the precise spatial layout of axons, dendrites, and somas to be stored with 3D coordinates and diameters. - Biophysics and Ion Channels: Membrane properties,
ion conductances, and kinetics (such as Hodgkin-Huxley rate equations or
kinetic schemes) are encapsulated within elements like
<ionChannel>,<gate>, and<channelDensity>. These elements define parameters such as reversal potentials and maximum conductances. - Synaptic Mechanisms: Synaptic transmission
dynamics—including exponential decay synapses, voltage-dependent NMDA
receptors, and short-term plasticity—are defined using specialized
elements such as
<expTwoSynapse>or<blockingPlasticSynapse>. - Network Topologies: Whole populations of neurons
and their synaptic projections are described using elements like
<population>,<projection>, and<connection>. This specifies how individual cells are instantiated and interconnected across defined biological regions.
Integration with LEMS
Modern implementations (NeuroML version 2) are built upon LEMS (Low Entropy Model Specification). LEMS provides a generic XML framework to define mathematical equations, state variables, and execution rules directly in XML. While standard NeuroML provides predefined biological elements, LEMS allows researchers to define novel mathematical models (such as custom point neurons or abstract synapses) without altering the core codebase of target simulators.
Cross-Platform Simulation and Execution
Because NeuroML files are declarative XML documents, they do not
directly run simulations themselves. Instead, toolkits such as
pyNeuroML parse the XML schemas and automatically generate
native code for target simulation environments, including:
- NEURON (via HOC and NMODL files)
- Brian (Python code generation)
- NetPyNE (declarative parallel simulation)
- NEST and GENESIS
This decoupled approach ensures that models written in NeuroML are fully reproducible, platform-agnostic, and easily verifiable across different software architectures, significantly advancing transparency and collaboration in brain modeling research.