Ontology extensions

From GO Wiki
Jump to navigation Jump to search

Ontology extensions or bridge modules are sub-ontologies maintained by the GOC that are not merged into the main GO file.

For background, see:

Cross-Product Extensions of the Gene Ontology Journal of Biomedical Informatics 2010. Christopher J. Mungall and Michael Bada and Tanya Z. Berardini and Jennifer Deegan and Amelia Ireland and Midori A. Harris and David P. Hill and Jane Lomax

See also:


The cross-product files previously had a primary location in the scratch directory in GO CVS. Previously the primary format was obo, and these we hand edited.

These are gradually being moved to the ontology/extensions/ directory in GO SVN.

The following extension files are now the primary versions:

In addition to what were previously known as the cross-product files, the extensions directory includes other axiom sets that are convenient to manage outside the main go obo file for various reasons.

Disjointness axioms:

The following extension files still have their primary source location in obo format in cvs, but are translated to owl in svn:


The extension ontologies are in OWL and are best viewed and edited in Protege 4.

The URLs for the GO extensions all start with http://purl.obolibrary.org/obo/go/extensions/

You should load one of the "importer" files into Protege.


This looks like this:

   <owl:Ontology rdf:about="http://purl.obolibrary.org/obo/go/extensions/x-cell-importer.owl">
       <owl:imports rdf:resource="http://purl.obolibrary.org/obo/cl-basic.owl"/>
       <owl:imports rdf:resource="http://purl.obolibrary.org/obo/go.owl"/>
       <owl:imports rdf:resource="http://purl.obolibrary.org/obo/ro.owl"/>
       <owl:imports rdf:resource="http://purl.obolibrary.org/obo/go/extensions/x-cell.owl"/>

It has no axioms of its own - it just imports other ontologies

Editors Guide

SVN Access

The primary location for the GO extensions are in GO SVN (not supported in the legacy CVS structure) in the ontology/extensions/ directory

For more info see:

Quick guide:

svn co svn+ssh://ext.geneontology.org/share/go/svn/trunk go-trunk
cd ontology/extensions
open XXXXXX-importer.owl

Note that there is a catalog-v001.xml file in the extensions directory that is used to direct protege as to where to obtain the different owl files. May of these come from the "ontology/external" dir which uses svn externals to pull in other ontologies

Editing logical definitions in extension ontologies

  1. Check out the ontology/ tree from SVN
  2. Load the importer ontology into Protege 4 ("File"/"Open" --> "x-cell-importer.owl")
  3. In the Protege menu select "View"/"Show all loaded ontologies"
  4. In the ontology selector bar at the top, select the bridge ontology (not the importer). E.g. x-cell.owl
  5. Add, delete and modify logical definitions in extension
    • Note that every axiom belongs to an ontology. Make sure you add new axioms to the correct ontology
  6. Save back to extension file (e.g. x-cell.owl)
    • Check that this is the currently selected ontology!
  7. svn commit

Protege tips

Protege 4 makes use of a file called catalog-v001.xml

You can use this to control where ontologies are downloaded from. If you have the GO-SVN tree checked out, you will have a directory called ontology/externals/. This uses a mechanism called "svn externals" to pull in ontologies from other repositories.

You can use a setup like this:

 <catalog prefer="public" xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
   <uri id="User Entered Import Resolution" name="http://purl.obolibrary.org/obo/go/extensions/x-cell.owl" uri="x-cell.owl"/>
   <uri id="User Entered Import Resolution" name="http://purl.obolibrary.org/obo/go/extensions/x-metazoan-anatomy.owl" uri="x-metazoan-anatomy.owl"/>
   <uri id="User Entered Import Resolution" name="http://purl.obolibrary.org/obo/go/extensions/x-plant-anatomy.owl" uri="x-plant-anatomy.owl"/>
   <uri id="User Entered Import Resolution" name="http://purl.obolibrary.org/obo/go.owl" uri="../go.owl"/>
   <uri id="User Entered Import Resolution" name="http://purl.obolibrary.org/obo/cl-basic.owl" uri="../external/cell-ontology/cl-basic.owl"/>