Export to GitHub

sbmlharvester - UserGuide.wiki


Requirements

  • The SBML Harvester and classification software requires a 64bit architecture.
  • The SBML Harvester software requires at least 6GB of memory.
  • The SBML Harvester software requires a GNU/Linux or Unix-like operating system.
  • A minimum of 8GB of memory is required to classify the resulting ontologies (using Pellet or HermiT).
  • A minimum of 8GB of memory is required to convert the resulting ontologies to OWL EL using the EL Vira modularization tool.
  • A Java interpreter is required.
  • To run the command line tool, it is recommended to install a Groovy interpreter.

Model conversion

The SBML Harvester can be used for two main tasks: model integration and model verification.

Conversion for model verification

To verify an SBML model with the Harvester, a single, annotated SBML model file can be used as input: * zip the model file, * upload the zipped file to http://bioonto.gen.cam.ac.uk/sbmlharvester/, * download the resulting OWL file.

The OWL file will contain the referenced ontologies and an ontology-based representation of the structure of the SBML model.

Conversion for model integration

The Harvester can be used to integrate several SBML models in a common OWL file. For this purpose, multiple, annotated SBML model files are used as input to the SBML Harvester: * create a zip file that contains the SBML model files (without any subdirectories), * upload the zipped file to http://bioonto.gen.cam.ac.uk/sbmlharvester/, * download the resulting OWL file.

The OWL file will contain the referenced ontologies and an ontology-based representation of the SBML model that were included in the zip file. The connections between multiple models can then be retrieved through queries over ontologies (see below).

Verification and reasoning

To verify or query the generated OWL file, an OWL reasoner is required. We have verified the results using the Pellet OWL reasoner and the HermiT OWL reasoner. While these can be integrated in software applications (e.g., using the OWL API), it is often beneficial to explore the knowledge base visually through an ontology engineering environment.

Protege

Protege is an ontology editor available at http://protege.stanford.edu. To visualize the output ontology, open the OWL file in Protege 4.1 or higher.

Setting up Protege

To classify the resulting ontologies, you must increase Protege's heap size to at least 8GB or more!

Install either the HermiT or Pellet reasoner plugins using Protege's plugin registry (see the Instructions for installing Pellet in Protege 4.

Before classifying the ontology, change Protege's preferences for the reasoner (File -> Preferences -> Reasoner): * Go to the Initialization tab. * Set the Required tag for "class hierarchy". * Set the Disallowed tag for all other inference types.

Classifying the ontology

To begin classification, select Reasoner -> Start reasoner from the menu (or press Ctrl-R). Classification may take up to several hours, depending on the speed of your hardware as well as the number and complexity of the included models.

After classification, Protege will show the inferred hierarchy of the ontology, i.e., the hierarchy of the ontology that results from interpreting the ontology's axioms. Unsatisfiable classes are colored in red and will be shown as subclasses of owl:Nothing.

Querying

Unsatisfiable classes can be retrieved by using the DL Query tab in Protege. A query for equivalent and subclasses of owl:Nothing will give a list of all unsatisfiable classes.

All DL Queries take the form of OWL class expressions. For example, to query for models representing the cell cycle, use the class expression represents some (has-part some (has-function some (realized-by only ’cell cycle’))) and query for subclasses.

Modularization

To apply the OWL files in software systems such as model retrieval or model composition tools, it is beneficial to improve the speed of reasoning using a modularization approach.

The EL Vira modularization tool can convert OWL ontologies into OWL EL so that they can then be used for tractable automated reasoning. Detailed instructions are provided on the EL Vira website. EL Vira uses a full OWL reasoner to classify the ontology, so the same requirements apply to the use of EL Vira as do to classifying ontologies with Protege (in particular, 6GB of memory or more are needed).

EL Vira produces an OWL file in the OWL 2 EL dialect, and automated reasoning in this language is polynomial. Reasoners that support polynomial-time reasoning on OWL 2 EL include the CEL reasoner (also available as Protege plugin), the jCEL reasoner (available as Protege plugin) and the CB reasoner.