Skip to content

Introduction

ylefranc edited this page Feb 21, 2013 · 7 revisions

With the increased number of computational neuroscience studies comes the problem of reproducibility and reusability of either the whole or part of a model. The diversity of model implementations makes it unlikely that one laboratory can easily reproduce the results obtained by another group, even if the model is deposited in an openly accessible database such as [ModelDB] (http://senselab.med.yale.edu/ModelDB/default.asp). To solve this problem, the community needs to define and adopt standards for model description that will make model sharing more efficient. These standards should propose a common format of representation, independent of any given simulator that could be imported or exported by the different simulators.

To address this problem, standardized languages have been developed by and for the community, such as [NeuroML] (http://www.neuroml.org), [PyNN] (http://neuralensemble.org/trac/PyNN) and [NineML] (http://software.incf.org/software/nineml).

Why CNO?

Although these languages enable software interoperability and therefore model reuse and reproducibility, they lack semantic information that would facilitate efficient model retrieval.

The creation of XML standards such as NineML enables semantic web technologies. These recent technological developments aim at providing “meaning” in the web content that will be usable by software (i.e., machine-readable). This “semantic” information is contained in ontologies.

Ontologies are formal models of knowledge in a particular domain, and are composed of classes that represent concepts defining the field as well as logical relations that link these concepts together (for an example linked to Neurosciences, read Larson and al., 2009). These machine-interpretable solutions, using the mathematical framework of first-order logic, allow computers to make inferences on datasets, to reveal particular relations between different types of data and to provide a more intuitive and efficient information retrieval for domain-experts.

System Biology faced similar issues (De Schutter, 2008) and developed several tools to represent and annotate system biology models such as the XML standard [SBML] (http://sbml.org/Main_Page) and the [System Biology Ontology] (http://www.ebi.ac.uk/sbo/main/). Semantic information from SBO is directly embedded into SBML with specific tags and is used in [Biomodels database] (http://www.ebi.ac.uk/biomodels-main/) to allow for the retrieval of major information concerning the model such as parameter values, equations used in the models. Few neurosciences model exist in Biomodels database, I invite you to visit the description of the Hodgkin and Huxley model to have an idea of the type of information we can get with such representations: http://www.ebi.ac.uk/biomodels-main/BIOMD0000000020.

If you wish to know more, a recent review (Courtot M. and al., 2011) describes the different controlled vocabulary developed in System Biology and how they can be used.

The addition of similar information about models in ModelDB would be a real added value for the community. As part of the Senselab database, ModelDB has already made such integration with the Neurosciences ontologies (NIFSTD, http://www.neuinfo.org/) and other biomedical ontologies (Samwald, 2010). Despite the existence of resources like NIFSTD ontologies for Neurosciences, ModelDB ontologies or SBO for annotating system biology model, there is still little overlap with terms used in Computational Neurosciences.

Therefore, in the context of the [INCF program for Multi-Scale Modeling] (http://www.incf.org/programs/modeling) (MSM), we have developed a Computational Neuroscience Ontology or CNO, to annotate Computational Neuroscience models described with NineML and other structured model description languages. CNO has been designed as a tool for the community and for this purpose has been thought to be fully interoperable with the semantic infrastructure of ModelDB and the NIFSTD ontologies providing neuroscience specific information.

What is CNO?

CNO is a controlled vocabulary composed of classes representing general concepts related to computational neuroscience (Le Franc et al., 2012). These concepts are organized in a hierarchy of concepts and related to each other using logical relations. One of the main relations is the hierarchical relation named “is a” relation. Knowing the relations between classes allows us to create simple sentences such as: “a model is a thing”, “a leaky integrate-and-fire is a model”, “voltage is a elementary model component”, …

The first step for CNO development was to create a list of relevant terms and concepts from textbooks and from the different expertise of the MSM Task Force members. Based on this list of terms, we developed a first version of the Computational Neuroscience Ontology (CNO), using the OWL-DL standard proposed by W3C (http://www.w3.org/TR/owl-features/). This particular form of the standard enables the use of inferences.

To allow for maximal interoperability with other biomedical ontology, the design of CNO follows some of the recommendations of the [Open Biological and Biomedical Ontologies (OBO) community] (http://www.obofoundry.org/).

CNO classes and relations have unique identifiers that allow unambiguous annotation of digital resources. These unique identifiers are of the form cno_XXXXXXX (7digits) and allow the creation of unique URI that references this particular class. The URI result from the concatenation of the namespace defined by CNO (http://purl.org/incf/ontology/Computational_Neurosciences/cno_alpha.owl#) and the unique identifier of the class (e.g. cno_0000066).

Descriptive information of terms such as human-readable label or definition has been added using annotation properties from the [Dublin Core] (http://dublincore.org/), [SKOS (Simple Knowledge Organization System)] (http://www.w3.org/2004/02/skos/) and [OBO] (http://www.obofoundry.org/). For each term or class, we provided 1- a label, which corresponds to a human-readable name, 2- a human-readable definition. Definitions were constructed using the particular format of Aristotelian definition, as recommended by OBO foundry. A class is defined by providing its genus (parent class) and its differentia, which tells what characterizes the Subclass within the parent class. When necessary we added additional information such as links to relevant resources used for creating the definition using the following SKOS annotation properties “definingCitationURI” and “definingCitationId”.

A concrete example being often better than long explanations, here is one just for you. Let’s look at the class describing the Leaky Integrate-and-Fire model: Name (URI): http://purl.org/incf/ontology/Computational_Neurosciences/cno_alpha.owl#cno_0000066 Label: “leaky integrate-and-fire” Definition: a defined model (parent class) that is an integrate-and-fire model with a leak component added to the membrane potential, reflecting the diffusion of ions that occurs through the membrane when some equilibrium is not reached in the cell (differentia). definingCitationURI: http://en.wikipedia.org/wiki/Biological_neuron_model#Leaky_integrate-and-fire

CNO has been developed using the ontology editor Protégé (version 3.4.4 build 579) for the version up to CNO v0.2.4. For the development of CNO version 0.5, we use Protégé version 4.1.0 build 239.

The core of CNO is currently (January 2013) composed of 221 terms and 2 datatype properties. As Computational Neuroscience model are very diverse, CNO is still in development to integrate the most relevant concepts for annotating as many Computational Neuroscience models as possible. However, CNO aims to be a tool for the community and therefore contribution of the community would be highly valuable to bring CNO to a more mature distribution. In order to ease the participation of the community, CNO will be imported into [Neurolex] (http://neurolex.org/wiki/Main_Page) which provide a platform to:

  1. access the existing terms,

  2. add new terms and

  3. propose changes to existing terms (updating definition, associated resources, synonyms, …).

If you are interested in contributing to this ontology, please contact Yann Le Franc.

Scope of CNO

CNO aims at providing a controlled vocabulary to annotate Computational Neurosciences models and describe the following aspects of models:

  1. the model itself (parameter, equation, formalism, …)

  2. the model implementation (parameter values, algorithms, simulation software, …)

  3. the external resources that are related to the model such as publication, ModelDB accession number, …

For the first versions, CNO doesn’t aim to provide a detailed description for emerging functional properties of the models or mathematical functions and operators.

Where to find CNO?

An alpha version of CNO is currently accessible on bioportal, the biomedical ontology portal provided by NCBO (http://bioportal.bioontology.org/ontologies/3003).

You can download the owl file from the GitHub repository and open it as a text file to visualize the underlying owl structure. You can use [Protégé 4.1] (http://protege.stanford.edu/) to navigate in the hierarchy and look at the annotations of the terms such as definition, label.

###Next - CNO Internal Model