The layer oriented approach to neuroscience modeling languages
© Raikov and De Schutter; licensee BioMed Central Ltd. 2009
Published: 13 July 2009
As computational models of neurons become more complex, their software implementations become more difficult to define, comprehend, and communicate. Consequently, for scientific understanding of biological nervous systems to progress, it is crucial for scientists to have software tools that support easy exchange and understanding of computational models.
Much development effort has been invested in NeuroML, a mark-up language for neuroscience, which is intended as a common format for exchange between neuroscience modeling software. The aims of the language are to be human-readable and to support efficient simulation of the models .
We have attempted to use ChannelML, one of the component languages of NeuroML, for the purposes of having a simple, simulator-independent format for specifying ion channel dynamics and for automated generation of efficient code for the NEURON environment .
We have found that major issues remain with ChannelML as a platform for model description and development. In our experience, many extensions to the language were needed to express two Purkinje cell models [3, 4]. We have found that NeuroML lacks a general extension mechanism and ChannelML is overly restrictive and heavily dependent on historical ways of writing model descriptions.
Several improvements have been made to ChannelML to address these issues, but we believe that a more comprehensive approach is necessary. We have developed an alternative (but compatible with NeuroML) approach, which we call the layer-oriented approach. We will illustrate this approach by means of a prototype language for describing models of ion channels that can be extended with arbitrary reaction kinetics and rate laws in order to model biophysical processes that affect ion channel dynamics.
The elements of our prototype language are divided in two semantic layers, the descriptive layer and the abstraction layer. The descriptive layer consists of elements that correspond to biological modeling concepts, such as gates and ionic conductances. The abstraction layer consists of elements that correspond to general mathematical concepts, such as rate equations and functions. All elements in the descriptive layer are defined in terms of a combination of elements from the abstraction layer.
This prototype language is a step in the direction of formalizing the process of generating numerical simulation code from a high-level model specification. Explicitly formalized semantic steps can contribute greatly to the expressiveness of modeling languages and consequently scientific understanding.
- Goddard N, Hucka M, Howell F, Cornelis H, Shankar K, Beeman D: Towards NeuroML: model description methods for collaborative modelling in neuroscience. Phil Trans R Soc Lond B Biol Sci. 2001, 356: 1209-28. 10.1098/rstb.2001.0910.View ArticleGoogle Scholar
- Hines M, Carnevale N: Expanding NEURON's repertoire of mechanisms with NMODL. Neural Computation. 2000, 12: 839-851. 10.1162/089976600300015475.View ArticleGoogle Scholar
- Akemann W, Knoepfel T: Interaction of Kv3 potassium channels and resurgent sodium current influences the rate of spontaneous firing of purkinje neurons. J Neurosci. 2006, 26: 4602-12. 10.1523/JNEUROSCI.5204-05.2006.PubMedView ArticleGoogle Scholar
- De Schutter E, Bower J: An active membrane model of the cerebellar Purkinje cell. J Neurophys. 1994, 71: 375-400.Google Scholar
This article is published under license to BioMed Central Ltd.