File Format Guide
The GO File Format Guide documents the structure and syntax of the files available on the GO website, to assist users who need to read, write parsers for, or create these files.
The following file formats are documented separately:
- OBO 1.2 (ontology file format)
- OBO 1.0 (ontology file format)
- GO RDF-XML
- GO annotation ("gene association") file format
The combined GO annotation and ontology data is stored as a MySQL database; see the GO database documentation for more information, including the database schema.
See also the Java OBO parser guide, which gives information and usage instructions for the OBO parser implemented as part of OBO-Edit.
Ontology Flat File Formats
The GO Consortium uses the OBO flat file format to store the ontology data. The current version is OBO 1.2, although the ontology data is also available in the previous version, OBO 1.0.
The GO Consortium no longer uses or supports files in the legacy GO format. Should you require a file in this format, the command-line script obo2flat can be used to interconvert between OBO format and the legacy GO format. obo2flat is a Java script and comes as part of the OBO-Edit package; instructions on usage are provided in the OBO-Edit User Guide.
OBO-XML Format
OBO-XML is a direct XML serialization of the OBO 1.2 format specification. The schema is specified using RELAX-NG compact syntax: obo-xml.rnc. Currently, only the ontology is available as OBO-XML.
OWL Format
OWL is a standard for ontology languages, produced by the W3C. Details of the translation used for GO is available on the official OboInOwl page.
FASTA Format
Sequence data for gene products in the GO database is available in standard FASTA format from the GO database archives.
Mappings to Other Classification Systems
Mappings of GO have been made to other many other classification systems; a full list is available on the Mappings to GO page. The syntax of these files is as follows:
The source of the external file is given in the line beginning !Uses:
!Uses:http://www.tigr.org/docs/tigr-scripts/egad_scripts/role_reports.spl, 15 aug 2000.
The line syntax for mappings is
external database:term identifier (id/name) > GO:GO term name ; GO:id
For example:
TIGR_role:11030 73 Amino acid biosynthesis Glutamate family > GO:glutamine family amino-acid biosynthesis ; GO:0009084
all on a single line. The relationship between terms from external systems to GO terms can also be one to many, and these should just be added with a further >. For example:
MultiFun:1.5.1.18 Isoleucine/valine > GO:isoleucine biosynthesis ; GO:0009097 > GO:valine biosynthesis ; GO:0009099
If no equivalent GO term exists for a term from another classification system, GO:. should be added as a mapping. For example:
MultiFun:1.5 Building block biosynthesis > GO:.
