Skip to content

Code for converting between BioPAX pathways and Gene Ontology Causal Activity Models (GO-CAM)

Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

Build Status

Pathways to GO

Code for converting between biological pathways (e.g. Reactome, Wikipathways) expressed using the BioPAX standard and the Gene Ontology Causal Activity OWL Model (GO-CAM) structure.

Additional documentation

Related Code Repositories

Related Websites

Related Presentations

Related Publications


  • Clone repo, Maven build (developing with Eclipse and Maven plugin)

How it works - ontologies

  • GO-CAMs are "OWL instance graphs" aka little ontologies where instances are created and linked to one another to represent how we think gene products enable biology to function. In semantic web terminology, these little ontologies define the "Abox" or "assertional component" of the GO knowledge base. They depend on a "Tbox" or "terminological component". The Tbox contains all of the definitions of the classes and properties that the Abox refers to. In other words, the Tbox provides the language and the Abox provides the sentences. For GO-CAMs, the Tbox is defined by a conglomerate ontology called go-lego which contains GO, a number of species-specific anatomy ontologies, portions of CHEBI, parts of NCBI taxonomy, and various other bits and pieces needed to express GO-CAMs. The import list for go-lego can be found here:
  • Right now, go-lego does not contain class-level representations of all of the physical entities that are used in pathway databases (namely, gene products, complexes, and chemicals), Reactome in particular. So, to generate semantically complete GO-CAMs, this base ontology needs to be extended with ontologies that capture the physical entities used.
    • The NEO ontology is meant to capture all gene products that the GO consortium members may want to use in their GO-CAMs. It is available here: and built with code from Note that its size (>3gb at last count) makes it challenging to work with in the context of standard semantic web tools.
    • The 1.0.0 pathways2go framework is primarily oriented towards the conversion of pathways from the Reactome knowledge base ( The Reactome entity representations include knowledge that NEO does not including: the locations of the physical entity, modifications to proteins, and a large number of unique complexes. To accomodate these entities with GO-CAM models, pathways2go produces a new ontology called 'reacto.owl' that captures all of this information and needs to be imported for Reactome-generated GO-CAMs to be terminologically (Tbox) complete. It is generated automatically and can be accessed at Note that reacto contains references to chebi, GO, PRO, and MOD from the OBO collection. For complete reasoning, these could be imported but are left out of the build because of size issues.
  • In 1.1.0 the pathways2go framework was extended to support conversion of biopax pathways from . If the parameter -e YeastCyc is added to the command line execution, the conversion will not use the REACTO entity ontology pattern described above. Instead, it will make direct reference to OWL Classes in the go-lego and neo ontologies and, where these are missing, use appropriate upper level classes as defaults. In addition, this release introduces the -sssom parameter. If a sssom ( mapping file is provided, the converter will use the mapping to add class assignments where they are missing from the biopax file. (It uses the best match with confidence above 0.5).


  • Build using Maven install, or download a release jar file from
  • the biopax2go.jar executable has 2 purposes. It can generate an OWL ontology containing the physical entities in a biopax file (e.g. reacto.owl) and it can convert a biopax file (e.g. into a set of GO-CAMs corresponding to the pathways in the biopax.
  • For example, to generate a physical entity ontology called reacto.owl from a biopax file:
  • To generate GO-CAMS from a biopax file, minimally:
    • java -jar biopax2go.jar -b some_biopax.owl -o ./output_dir/ -lego go-lego.owl -e REACTO
  • To generate GO-CAMS from a YeastCyc biopax file, with a provided sssom mapping file
    • java -jar biopax2go.jar -b some_biopax.owl -o ./output_dir/ -lego go-lego.owl -e YeastCyc -sssom ./yeastpathway.sssom.tsv