1.  Results

1.1  Upper-level ontology

The upper-level ontology we used is available as an OWL file: http://bioonto.gen.cam.ac.uk/reasoning/ro2.owl

Top-level

1.2  Converted ontologies

The archive ro.tar.gz contains all ontology files, including the originally downloaded versions.

The individual resulting ontology files are here:

In each of the directories, at least one file ending with "meta.owl" is contained. This file includes the axioms pertaining to equivalent and super-relations and classes. Classifying these files using an automated OWL reasoner will reveal the inconsistent classes. We suggest the use of the HermiT reasoner.

In each package, a script called phenocheck-X.groovy is contained. This script automatically assigns the classes in the ontologies an appropriate super-class in our upper-level ontology. To use this script, information about paths must be adjusted within its code.

1.3  OWLDEF

We implemented the OWLDEF method that adds OWL definitions to relations in the OBO Flatfile Format. The software needs a jar file (Attach:obo2owl.jar) and a simple testclass to run the software (Attach:OBOTester.class and Attach:OBOTester.java). Add an OWLDEF definition to the [Typedef] statement in the OBO flatfile such as:

[Typedef]
id: has-function-realized-by
owldef: has-function some (realized-by only ?Y)

The OWLDEF statement is a class description in Manchester OWL Syntax with one free variable (?Y).

After this, run the conversion (make sure that obo2owl.jar is in your CLASSPATH):

java OBOTester <infile> <outfile>

1.4  Summary of results

The archive http://bioonto.gen.cam.ac.uk/reasoning/ro.tar.gz contains all results and software we produced, including software to count class definitions and relations.

2.  Method

To reproduce the results, follow these steps:

  1. Download the ontology file containing the class definitions, e.g., from the OBO Foundry or the BioPortal.
  2. Identify the relations (Typedef statements in the OBO Format) that are used in the ontology.
  3. Create OWLDEF definitions for these relations and add them to the appropriate Typedef statements.
  4. Use the conversion based on the updated OWLDEF software (obo2owl.jar and OBOTester.class): java OBOTester infile.obo outfile.owl
  5. Use the phenocheck.groovy script to automatically assign super-classes in our minimal upper-level ontology ro2.owl.
    • To use the phenocheck.groovy script, paths must be adjusted.
    • To adopt phenocheck.groovy to other upper-level ontologies, URIs must be adjusted and the id2class map must be adjusted to reflect class names in the selected ontology.
    • The path to the output file of phenocheck.groovy must be changed in the last line of the script.
  6. Use an ontology editor such as Protege and create a new, empty ontology.
  7. Import the output OWL file from phenocheck.groovy in this empty ontology.
  8. (Optional)Manually assign equivalent object properties, equivalent classes as well as further axioms.
  9. Classify using the HermiT OWL reasoner.
  10. Use DL Queries and search for equivalent classes of Nothing to identify all inconstistent class definitions.