This workshop was organised to finalise plans for the next major release of NeuroML: version 2.0. It was held on Thus 31st Mar & Fri 1st Apr 2011 at UCL's SSEES Building and the Churchill Room at Goodenough College in London. Local Organisers were Angus Silver and Padraig Gleeson.
This workshop was made possible with funding from:
Developments towards NeuroML version 2.0 have been ongoing since the NeuroML workshop at Arizona State University in March 2010. This meeting was an opportunity to discuss these developments, decide what is else is required, and lay plans for a formal v2.0 specification document. Topics for discussion at the workshop included:
The agenda circulated prior to the meeting is available here: Agenda for 31st March & 1st April
Welcome: Angus SilverAngus Silver welcomed participants and thanked the sponsors of the meeting: the NIH, the Wellcome Trust and the UK Neuroinformatics Node.
The goals of the meeting were also outlined, including: giving the latest details on developments towards NeuroML 2 and the relationship with LEMS (Low Entropy Model Specification); the relationship of NeuroML to other standardisation and model specification initiatives (the *MLs and Py*s); specific discussions on the representations of morphologies, synapses, channel and network structure in NeuroML; and a formalisation of the NeuroML specification process.
NeuroML and LEMS
Review of status of NeuroML v1.x: Padraig GleesonA brief overview of NeuroML v1.x was presented. Some of the tools which currently have support for this version of the language were highlighted. The latest details on software with NeuroML support is available here.
Brief introduction to LEMS: Robert CannonRobert presented the motivation for the LEMS (Low Entropy Model Specification) language which forms the basis for model specification in NeuroML v2.0. For the latest information on LEMS see here.
Mapping LEMS to & from other formats: Padraig GleesonThe ability to specify model definitions in a machine readable language like LEMS is key to converting NeuroML v2.0 models to other formats. Examples were shown of a number of simple neuron models specified in LEMS, executed with the LEMS interpreter & mapped to a number of different formats including NEURON, Brian and SBML and graphical representations of the model definition. Also illustrated was the simple Python API for LEMS.
Most of the examples shown can be run by installing the Java based LEMS interpreter with sample models.
Introduction to NineML: Andrew DavisonAn introduction was given to the emerging NineML language for describing large scale networks of spiking neurons. This is being developed by the Multiscale Modelling Program of the International Neuroinformatics Coordinating Facility (INCF).
The Connection Set Algebra of Mikael Djurfeldt was also discussed. A Python library is available to define complex connections in terms of the elementary connection operators defined in this language. PyNN will be introducing support for the CSA and it will also be one of the options for creating connections in NineML. There was discussion about the similarities and differences between the NeuroML 2 approach to defining connections and that of the CSA and it was suggested that this might be an area for further investigation regarding low level compatability between network representations in the various formats.
See below for discussions in the workshop on the relationship between NeuroML and NineML.
Metadata and annotations in v2.0 & linking to remote databases
MIRIAM Resources: Mike HuckaA presentation was given on the MIRIAM (Minimal Information Required In the Annotation of Models) Standard for annotating and curating models in the biosciences, and the various resources available to researchers who use the standard.
The MIRIAM Standards are widely used in the Systems Biology community and can provide useful guidelines for improving model annotation for NeuroML.
Brief introduction to NeuroLex: Stephen LarsonStephen gave a presentation outlining the value to neuroscience of structured, domain specific ontologies, discussed their usage in the NIF (Neuroscience Information Framework) inventory for linking to distributed data resources and presented NeuroLex.org for collaborative online management of neuroscience ontologies.
Representations of detailed neuronal morphologies in v2.0
Proposed NeuroML v2.0 representations of neurons: Sharon CrookSharon presented the elements for describing morphologies in NeuroML version 2.0. These are based on proposals agreed at the 2010 NeuroML Development Workshop. The examples presented can be viewed online (e.g. a simple morphology) and the XML Schema for NeuroML v2alpha is used to define the structure.
Requirements for a language for describing detailed neuronal morphologies: Giorgio AscoliGiorgio discussed his experiences with the development of NeuroMorpho.org, a database of digitally reconstructed neurons. This resource can be used to retrieve reconstructed neuronal morphologies of multiple cell types from a number of species. The database can be browsed by neuron type, brain area, species, contributing lab, or cells can be searched for according to various morphometric criteria or the associated metadata.
The difficult process of curating such a resource was also discussed. Giorgio discussed the process of finding literature which use reconstructed neurons (anyone can highlight a paper with such data), the process by which the authors are contacted and the tracking of publications to reconstructions on the site.
There is a utility present on the site to view the cells in 3D (based on Robert Cannon's Cvapp), which can also be used to save the morphologies in NEURON or GENESIS format. It was agreed that MorphML (and the updated version for NeuroML version 2) export would be a very useful addition to this functionality, and Giorgio will put Padraig in contact with the developer of this code to this end.
The TREES Toolbox: Hermann CuntzHermann presented the TREES Toolbox, a tool in MATLAB for automatic reconstruction of neuronal branching from microscopy image stacks and generation of synthetic axonal and dendritic trees; visualisation, editing and analysis of neuronal trees; comparison of branching patterns between neurons; and investigation of how dendritic and axonal branching depends on local optimization of total wiring and conduction distance.
The latest version of the TREES toolbox includes basic functionality for exporting cells in NeuroML v1.x Level 1 (MorphML) or as a NeuroML v2alpha morphology file.
Roundtable discussion: Vision for the NeuroML Initiative. Chair: Sharon Crook
This session was dedicated to an open discussion on the future direction of NeuroML, and the relationship with the other initiatives in the field of computational neuroscience and systems biology.
First discussed was the potential overlap between NineML and NeuroML. The INCF has been actively promoting NineML somewhat to the exclusion of other initiatives. The question was raised whether we should ask the INCF to formally recognise NeuroML as a viable standardisation initiative. Upi Bhalla said that it was brought up at the Multiscale Modelling Oversight Committee meeting in Kobe that the efforts should cooperate.
There was discussion of the standardisation process in general. It was asked whether there is an organisation that will sponsor/validate NeuroML as a standard. Mike Hucka commented that early on SBML considered approaching some of the more general standardisation bodies in computer science (IEEE etc.) for approval for a standard but there were many reasons why this didn't go forward. Instead they proceeded successfully in writing up their own process for making decisions, etc. and they refer to SBML as a "de facto" standard. Although there is significant overlap between SBML and CellML, they have been different enough to remain separate. The COmputational Modeling in BIology NEtwork (COMBINE) initiative was pointed out as a possible organisation to give an "official" seal of approval to NeuroML.
Upi suggested it was a good time to make a formal request to the INCF and to make a suggestion of a meeting to talk about harmonising efforts since the projects could come together at this stage without having to throw too many things out. The differences in development processes between the languages was discussed. Whereas NeuroML is fully open and the community are invited to the workshops, NineML is developed by a small Task Force with an Oversight Committee which does not meet or communicate regularly. The organisation of the Task Force is set to change post CNS2011. It was pointed out though that de facto standards are often adopted within the WWW etc.
Robert Cannon said that he doesn't like the word standard, since we are constructing a new model description language. NineML (and the new core of NeuroML) is more of a research effort than a standardisation effort. Others think however it may be premature but still valuable to be standardised. It is conceivable that both can carry on making false starts. Does this mean that there's no urgency for convergence? Would be nice for NeuroML nonetheless to have INCF approval/recognition.
Mike Hucka suggested that formal standards approval requires procedures and time scales that are quite restrictive that made SBML not want to follow it. It depends on the standards body. Perhaps COMBINE could be a community organisation to define standards and perhaps stamp them. Upi said that we don't have lots of time because once there are implementations using the languages, it becomes more difficult to change. This should be a driving force as the developer barrier becomes steeper. Mike: early on we developed a translator for CellML to SBML that could do 90% of translation but didn't solve the problem or change a developers mind. No one used both languages. Robert: People generally stick to one thing they are familiar with. Michele Mattioni: if there are two formats then people have to choose. The point is to make standard to help people: one standard for exchanging. Two options are not good. Stephen Larson: The question is about how to approach INCF to find ways to compromise. It is good to find ways to benefit the community. We should remind the community about what we are doing.
There was some discussion about asking the INCF to bring NeuroML and the Oversight Committee together to discuss this during CNS 2011. Maybe have some discussions on possible technical convergence of the languages before that. Mike agrees with Stephen and Robert that we should converge now rather than later. Approach Oversight Committee with a possible approach for convergence. Dieter Jaeger pointed out that competition between NEURON and GENESIS was good for the community. Two search paths may be better than one. The final consensus was that we should try to set up a meeting to discuss convergence in the future. Attendees were asked whether they would be willing to sign a letter to the INCF about improving the profile of NeuroML and requesting a meeting between NeuroML and Oversight Committee. Many indicated their willingness to support this.
The discussion on the formal structure for NeuroML was deferred until the following day. Malin Sandström commented on the divergence in computational neuroscience between detailed modelling community and connectionist modelling community. Malin would be happy to try to help with a meeting between the groups, but she will need a mandate to do so from INCF.
Breakout sessionsA number of separate groups were formed to assess the present NeuroML 2 support for, or to gather new requirements for language features in a number of different areas.
Attempt at implementing GHK channel in LEMSThere was an effort to implement a channel with a Goldman Hodgkin Katz current in LEMS. This was led by Robert Cannon working on a laptop with the results on the digital projector. The outcome of this effort still needs some work but can be seen here. This work raised issues about global constants (e.g. Faraday's constant, pi). It also encouraged discussion on how the LEMS definition would actually be used by the simulators. Michael Hines asked whether there should be a LEMS library to parse and give NEURON the needed parameters. Much of this new channel type would be supported in the generic LEMS to NEURON export already implemented, where LEMS ComponentTypes which are known to be channels (i.e. extend ionChannel ComponentType) are mapped to individual mod files. There was a comment that Modelica does something like this: the model description is mapped into a pile of differential equations; i.e. creates a "flattened version". From a user perspective all users wish to have is that logical structure. This could also be done with NEURON, full model mapped to a large mod file and deal with everything there. The description must be flattened anyway for SBML, Matlab and XPP. So both approaches should be options: flattened and structured.
Morphology BreakoutDiscussed the need to supply more information than the cable structure for reaction-diffusion type models which more structural information. For this approach, we need to define how to interpret junctions as well. Perhaps too premature for a standard for junctions, but we decided that we need rule sets for how simulator would fill in information about details at junctions. Upi Bhalla: Rather than add information, in some cases we could just have rules, for example assume that ends are hemispheres. Each type of junction must have an interpretation for your reaction-diffusion simulator. Work through the implementations to see which set of rules works well. Also discussed use of polygons for surfaces. Thought we should keep them in 2.0. Is it currently possible to add a reference to an image stack? Also some discussion of a hybrid cell with cables and then for certain parts there is a more detailed structural representation.
Ion channels & synapses in NeuroML v2.0
Overview of what's possible so far in LEMS: Robert CannonRobert gave a quick introduction to the support for creating new channel and synapse models in LEMS. The presentation was mainly focused on illustrating LEMS by showing some of the existing examples implemented. A simple example of a Hodgkin Huxley channel is illustrated here.
Modelling the role of spatial localisation in synaptic plasticity using NeuroRD: Avrama BlackwellAvrama presented some of the problems associated with creating models of realistic subcellular diffusion of proteins associated with synaptic plasticity. She discussed a new tool NeuroRD for simulating such systems. This was presented as a test case for the types of models that NeuroML should be able to describe when it expands to support reaction-diffusion simulators. It was noted that various parts of the model (e.g. morphologies, chemical interactions) can already be described in NeuroML v2/LEMS.
Requirements for a language for multiscale cell model development: Upinder BhallaUpi presented a list of requirements for a multiscale model description language. These concerned the ability to create composite models from submodels in different formats; the ability for model elements at different scales to interface to one another; requirements on specifying neuronal geometry at different levels; specification of the mechanical properties of the system and the ability to control how simulations are executed.
A pragmatic combination of NeuroML, SBML and SED-ML with Python helping manage the simulations was suggested as a possible solution, at least for MOOSE.
Channel distributions on neuronal morphologies: Padraig GleesonA brief presentation on representing channel densities in NeuroML version 2. The key differences between the version2 format for specifying <channelDensities> elements as compared to NeuroML v1.x were discussed using an example based on this.
Also discussed was a suggested method for specifying parameters which varied with position along the cell (e.g. length from soma), and specifying varying biophysical parameters in terms of these (e.g. non uniform channel densities), see example here. The key issue brought up was whether parameters such as p = "Path Length from root" should be implicit in NeuroML, or whether they should be defined explicitly.
Interaction with Systems Biology languages: SBML, CellML
libSBML and the benefits SBML has had as a result of it: Sarah KeatingSarah presented libSBML, the library used by many applications with SBML support. It closely follows the structure of SBML and offers APIs in a number of languages for reading & writing valid SBML. Such a versatile library was highly recommended as means of easing developers adding support for NeuroML to their applications.
The Open Worm project: Stephen LarsonStephen gave the meeting a quick introduction to the Open Worm Project which he is working on together with Matteo Cantarelli and Giovanni Idili who were also at the meeting. This ambitious project aims to create a fully open source in silico model of the much studied model organism, C. elegans.
Work to date for network representations in NeuroML 2: Robert Cannon/Padraig GleesonRobert gave a brief introduction to the current support in LEMS for specifying networks of cells. There has been support for some time for simple networks containing explicit connections between spiking cells (e.g. NMDA, STP), and recently new functionality has been added to facilitate creation of populations of cells, selecting subsets of those cells and creating connectivity patterns across them. An example here illustrates many of these concepts.
Procedural & declarative network descriptions: experiences from developing PyNN: Andrew DavisonAndrew gave an overview of PyNN, a Python API for creating large scale networks of simplified neuron models on multiple simulators. This currently allows the same script in Python (with one line changed) to be used to create network simulations on NEURON, Brian, NEST and PCSIM. MOOSE support is also in development. There has been some interaction between NeuroML v1.x and PyNN, but much closer compatibility is planned for version 2.0.
SpiNNaker & BIMPA Project: Biologically inspired massively parallel architectures: Dave LesterDave presented the plans of the BIMPA (Biologically-Inspired Massively-Parallel Architectures) Project to create a hardware platform for simulating biologically inspired neural networks. The SpiNNaker system aims to have one million processing units and simulate large scale networks of integrate and fire neurons.
Discussion on formalising the structure of the NeuroML initiativeThe final part of the meeting was dedicated to discussions on the structure of the NeuroML initiative. It was proposed to expand the current NeuroML Team (consisting of Sharon Crook, Robert Cannon, Angus Silver and Padraig Gleeson) to get a larger cross section of the community involved in setting the direction of the NeuroML initiative.
A proposal was made to form a Scientific Committee which would oversee the scientific focus and technical implementation of NeuroML, set the scope of the language and promote NeuroML. Nominations were requested for members of this committee and the following were nominated and agreed to be part of the committee:Upi Bhalla
Note that Michael Hines provisionally accepted during the meeting but agreed to full membership afterwards. One of the key roles of the Scientific Committee will be to define the process for creating the formal NeuroML v2.0 specifications with dedicated, community elected editors. It was agreed at the meeting that members of the main neuroml-technology mailing list will be the voting body.