GO Related Software Libraries

The information on this page is out of date. The Gene Ontology tools registry is now handled in association with NEUROLEX at this site. Please update your bookmarks.

The following software libraries and application programmer interfaces (APIs) are intended for software developers and advanced users with some programming capabilities. It includes parsers and object models for the file formats used by the consortium, such as OBO Format and the GO association file format.

This is not intended as a list of end-user tools; rather they are construction kits programmers can re-use to make new tools and utilities. For a more general list of tools that can be downloaded or used over the web, see the main GO tools page.

Unless stated otherwise, tools are open source and free for academic use.

Download tool



BioConductor is a package for statistical analysis of genomic data using the R language. It includes modules for analysis of GO datasets:

  • goTools: wrapper functions for description/comparison of oligo ID list using the Gene Ontology database
  • ontoTools: tools for working with ontologies and graphs
Download tool



BioPerl is a set of perl modules for use in bioinformatics. It includes modules written by Sohel Merchant of the GO Consortium for parsing and manipulating OBO ontologies

Download tool


Berkeley Bioinformatics Open-Source Projects

Blip (Biomedical LogIcal Programming) is a research-oriented deductive database and prolog application library for handling biological and biomedical data. It includes packages for advanced querying of ontologies and annotations.

Blip underpins the Obol tool

Download tool


Gene Ontology Consortium

go-perl is a set of Perl modules for parsing, manipulating and exporting ontologies and annotations. It includes parsers for the OBO and GO gene association file formats. It has a graph-based object model with methods for graph traversal. For more details, see the documentation included with the modules.

go-perl comes bundled with XSL [Extensible Stylesheet Language] transforms (which can also be used independently of Perl, provided you have files in OBO-XML format), as well as scripts that can be used as standalone tools.

Installation should be simple, provided you have some experience with Perl and CPAN; see the INSTALL file for details.

Download tool


Gene Ontology Consortium

go-db-perl extends the functionality of go-perl (on which it depends) with GO Database access functionality.

go-db-perl comes bundled with various scripts and a shell command line interface that can be used as standalone tools.

Installation is more involved than for go-perl; you will need a MySQL database plus the requisite DBI and DBD Perl modules. Full installation instructions are included in the download.

go-db-perl is in use both to drive AmiGO and internally within Ensembl.

Download tool


European Bioinformatics Institute

LexGrid is the foundation of the National Center for Biomedical Ontology BioPortal interface and web-services. LexGrid can parse OBO format, as well as other formats such as OWL.

Use tool onlineDownload Ontology Lookup Service

Ontology Lookup Service

European Bioinformatics Institute

The Ontology Lookup Service is best known as a web interface to the Open Biomedical Ontologies (OBO) collection. The OLS codebase can also be used as a web service or as a collection of J2EE-compliant libraries.

The OLS code depends on org.geneontology.oboedit.

Download tool


Gene Ontology Consortium

OBO-Edit is best known as a standalone application for editing ontologies. In fact, the UI components are cleanly separated from the data model and data adapters, so these can be reused in other applications. The oboedit foward-chaining reasoner can also be used independently (for example, for traversing ontology graphs).

org.geneontology.oboedit is used in tools such as the Ontology Lookup Service and Phenote.

See the GO wiki for instructions on downloading the source code.

Download tool


University of Manchester

The OWLAPI is a java application programmer interface for OWL-based ontologies. The latest version of the API contains an OBO-Format parser. The OWLAPI underpins ontology browsing and editing tools and platforms such as SWOOP and Protege4

Note that this API, or any other OWL-based API, can be used without an integrated OWL parser if you download a pre-converted OWL file generated from OBO. See OBO Ontologies List for all OBO ontologies converted to OWL (we do not list the full complement of OWL-based APIs here, only those of direct relevance to GO).