Identifiers: Difference between revisions

From GO Wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Curator Guides]] [[Category:Annotation]] [[Category:Formats]]
All identifiers in GO should be composed from a binary key as follows:


   GlobalID = Database ':' LocalID
   TO BE REVIEWED


The LocalID scheme is under the control of the Database. It should include no whitespace or non-ascii characters.
[[Category:Annotation]] [[Category:Formats]]
 
All identifiers in GO (e.g. referenced in GAF, ontology or associated documents) should be conform to the following format:
 
  GlobalID = Prefix ':' LocalID
 
We use the term 'identifier' as synonymous with GlobalID, although confusingly some use 'identifier' to refer to what we call LocalID.
 
* Prefixes (aka Database): Each prefix must be registered in the [http://amigo.geneontology.org/xrefs GO xrfs registry file]. It should correspond to some known authority. The characters must all be alphanumeric (a-z, A-Z, 0-9), underscores or dashes.
* The LocalID scheme is under the control of the Database/authority. The characters must all be printable ascii characters, excluding spaces.
 
== Examples ==


Examples of well behaved IDs:
Examples of well behaved IDs:
Line 15: Line 24:
** Database=ZFIN    LocalID=ZDB-GENE-980526-166
** Database=ZFIN    LocalID=ZDB-GENE-980526-166


In the gene association files, Database goes in column 1, LocalID goes in column 2
== Identifiers in GAFs ==
 
''IMPORTANT NOTE ON THE GAF FORMAT''
 
In the gene association (GAF) files, the global ID is split across two column: Database goes in column 1, LocalID goes in column 2


For filling in the WITH column, the ''Global'' ID should be used. This has to be the case, otherwise it would be difficult to tell where the ID came from
For filling in the WITH column, the ''Global'' ID should be used. This has to be the case, otherwise it would be difficult to tell where the ID came from
== Prefix Registry ==


The Database '''should''' be registered in GO.xrf_abbs, available here:
The Database '''should''' be registered in GO.xrf_abbs, available here:
Line 28: Line 43:
* http://www.geneontology.org/doc/GO.xrf_abbs_spec
* http://www.geneontology.org/doc/GO.xrf_abbs_spec


Also available in .obo format here:
We are in the process of moving the primary version of this file to a yaml file with primary location in a github repo:
 
* https://github.com/kltm/go-site/blob/master/metadata/go-db-xrefs.yaml


* http://www.berkeleybop.org/ontologies/obo-all/go_xrf_metadata/go_xrf_metadata.obo
== Identifiers, CURIES and URIs ==


It is strongly recommended that the ''primary'' abbreviation is always used in constructing the ID. However, in some contexts it is allowable to use a database abbreviation synonym.
The GO uses semantic web standards such as OWL and RDF. In these standards, URIs are used to uniquely identify ontology terms, genes and associated provenance entities such as publications.


For example, the following is allowed:
In order to reconcile URIs with the identifier scheme used in formats such as obo, GAF, and how we display identifiers in publications and portals such as AmiGO, we conceive of GlobalIDs as *Compact URIs* (CURIES).


* UniProt:Q09212
* https://en.wikipedia.org/wiki/CURIE
* http://www.w3.org/TR/curie/


However, the following is strongly preferred:
We assume a constant set of prefixes. For all ontologies used in GO, we assume that these have an OBO library PURL URI, so we have an implicit set of prefix declarations:


* UniProtKB:Q09212
  @prefix GO: http://purl.obolibrary.org/obo/GO_
  @prefix CL: http://purl.obolibrary.org/obo/CL_
  @prefix CHEBI: http://purl.obolibrary.org/obo/CHEBI_


== Problems with existing usage ==
== Problems with existing usage ==
Line 52: Line 72:
Josh has been alerted, bringing this up with FlyBase
Josh has been alerted, bringing this up with FlyBase


=== MGI  ===
=== MGI and prefix doubling ===


MGI IDs are a major problem
MGI IDs are a major problem
Line 60: Line 80:
   MGI    MGI:98297      Shh
   MGI    MGI:98297      Shh


Using the concatenation rule, this composez to the global ID
Using the concatenation rule, this composes to the global ID


* MGI:MGI:98297
* MGI:MGI:98297


Here we have a doubling up of the MGI prefix. Note that this is inconsistent with NCBI xrefs, which use MGI:98297 - '''this inconsistency has yet to be resolved with NCBI'''
Here we have a doubling up of the MGI prefix.
 
Note also that typically people used the local ID in their WITH columns; eg rat has:


  RGD    RGD:3673        Shh            GO:0001525      RGD:1580654    ISS    MGI:98297      P      sonic hedgehog homolog (Drosophila)            gene    taxon:10116    20060820        RGD
Note that NCBI previously used 'non-doubled- global identifiers of the form MGI:nnn, but they are now switching to the doubled form MGI:MGI:nnn - see  http://www.ncbi.nlm.nih.gov/feed/rss.cgi?ChanKey=genenews article from Wed, 06 Aug 2014 "Important change coming for HGNC and MGI database identifiers"
 
(NOTE: RGD have fixed this. Thanks RGD!)


Compare with the (well-behaved) ZFIN GAFs and IDs:
Compare with the (well-behaved) ZFIN GAFs and IDs:


   ZFIN    ZDB-GENE-980526-166    shha
   ZFIN    ZDB-GENE-980526-166    shha
(example col1,2,3 in GAF)


col1:col2 =
col1:col2 =
Line 82: Line 100:
This is identical to what NCBI uses in their xref
This is identical to what NCBI uses in their xref


MGI has confirmed that the global ID is MGI:MGI:nnnnn, and the local internal ID is MGI:nnnn
MGI previously confirmed that the global ID is MGI:MGI:nnnnn, and the local internal ID is MGI:nnnn (but this seems to have changed)


=== RGD ===
=== RGD ===
Line 90: Line 108:
==== recommendation ====
==== recommendation ====


MGI and RGD should either
MGI should either


* change their col2 in their GAFs such that only the number is used
* change their col2 in their GAFs such that only the number is used (PREFERRED)
* coordinate with other databases, including NCBI to make it clear that the global ID is MGI:MGI:nnnnn
* coordinate with other databases, including NCBI to make it clear that the global ID is MGI:MGI:nnnnn
== See Also ==
* [http://oboformat.googlecode.com/svn/trunk/doc/obo-syntax.html#2.5 OBO Format ID syntax]
* [http://www.obofoundry.org/id-policy.shtml OBO Foundry ID policy]

Revision as of 08:34, 21 August 2018

 TO BE REVIEWED

All identifiers in GO (e.g. referenced in GAF, ontology or associated documents) should be conform to the following format:

 GlobalID = Prefix ':' LocalID

We use the term 'identifier' as synonymous with GlobalID, although confusingly some use 'identifier' to refer to what we call LocalID.

  • Prefixes (aka Database): Each prefix must be registered in the GO xrfs registry file. It should correspond to some known authority. The characters must all be alphanumeric (a-z, A-Z, 0-9), underscores or dashes.
  • The LocalID scheme is under the control of the Database/authority. The characters must all be printable ascii characters, excluding spaces.

Examples

Examples of well behaved IDs:

  • GO:0008152
    • Database=GO LocalID=0008152
  • SGD:S000006435
    • Database=SGD LocalID=S000006435
  • ZFIN:ZDB-GENE-980526-166
    • Database=ZFIN LocalID=ZDB-GENE-980526-166

Identifiers in GAFs

IMPORTANT NOTE ON THE GAF FORMAT

In the gene association (GAF) files, the global ID is split across two column: Database goes in column 1, LocalID goes in column 2

For filling in the WITH column, the Global ID should be used. This has to be the case, otherwise it would be difficult to tell where the ID came from

Prefix Registry

The Database should be registered in GO.xrf_abbs, available here:

Spec:

We are in the process of moving the primary version of this file to a yaml file with primary location in a github repo:

Identifiers, CURIES and URIs

The GO uses semantic web standards such as OWL and RDF. In these standards, URIs are used to uniquely identify ontology terms, genes and associated provenance entities such as publications.

In order to reconcile URIs with the identifier scheme used in formats such as obo, GAF, and how we display identifiers in publications and portals such as AmiGO, we conceive of GlobalIDs as *Compact URIs* (CURIES).

We assume a constant set of prefixes. For all ontologies used in GO, we assume that these have an OBO library PURL URI, so we have an implicit set of prefix declarations:

  @prefix GO: http://purl.obolibrary.org/obo/GO_
  @prefix CL: http://purl.obolibrary.org/obo/CL_
  @prefix CHEBI: http://purl.obolibrary.org/obo/CHEBI_

Problems with existing usage

FLYBASE vs FB

We have both FB and FlyBase registered here Also in the fb gene_association files, the col1 is FB but the assigned_by column is FlyBase. NCBI seem to use FLYBASE

Josh has been alerted, bringing this up with FlyBase

MGI and prefix doubling

MGI IDs are a major problem

GAF (cols 1-3):

 MGI     MGI:98297       Shh

Using the concatenation rule, this composes to the global ID

  • MGI:MGI:98297

Here we have a doubling up of the MGI prefix.

Note that NCBI previously used 'non-doubled- global identifiers of the form MGI:nnn, but they are now switching to the doubled form MGI:MGI:nnn - see http://www.ncbi.nlm.nih.gov/feed/rss.cgi?ChanKey=genenews article from Wed, 06 Aug 2014 "Important change coming for HGNC and MGI database identifiers"

Compare with the (well-behaved) ZFIN GAFs and IDs:

 ZFIN    ZDB-GENE-980526-166     shha

(example col1,2,3 in GAF)

col1:col2 =

  • ZFIN:ZDB-GENE-980526-166

This is identical to what NCBI uses in their xref

MGI previously confirmed that the global ID is MGI:MGI:nnnnn, and the local internal ID is MGI:nnnn (but this seems to have changed)

RGD

RGD previously used the same pattern as MGI. As of 2008/06/23 they have confirmed their policy and fixed their files. RGD:nnnn is the global ID. The local ID is purely a number (for both genes and references)

recommendation

MGI should either

  • change their col2 in their GAFs such that only the number is used (PREFERRED)
  • coordinate with other databases, including NCBI to make it clear that the global ID is MGI:MGI:nnnnn

See Also