Obsoleting an Existing Ontology Term

From GO Wiki
Jump to navigation Jump to search
  See Ontology_Editors_Daily_Workflow for creating branches and basic Protégé instructions.


Check and notification procedure prior to obsoletion

1. Annotation usage

Check if the term (or any of its children) is being used for annotation:

  • Go to AmiGO, search for the term, either by label or ID.
  • Use filters on the left to look at direct annotations, EXP annotations, ISS annotation, InterPro2GO annotations, UniProtKW, and UniRule annotations.

2. Create an Annotation_Review_Request ticket

  • Create New issue in the [go-annotation GitHub repo]
  • In the body of the new issue, paste the GO term(s) IDs (1 or many) that need to be reviewed
    • Select report type using the labels: ( NOTE: If you dont add the label AT ISSUE CREATION it wont create the report)
      • "direct_ann_to_list_of_terms": all direct EXP annotations to the terms entered
      • "reg_ann_to_list_of_terms": all EXP annotations to the term entered, plus all children (including regulates children)
    • Wait for the report to be ran, a new link will appear in the ticket, linking the annotation report file
    • Copy to clipboard - best to do it from "edit" mode (for Pascale - mac + firefox)
    • Make a copy of the New Annotation Review Template
    • Paste annotations
    • And add the link to the spreadsheet in the Annotation GitHub ticket
    • More details about Annotation Review Request


2. Ontology usage

Check if the term is used elsewhere in the ontology:

  • In Protégé, go to the Class Usage tab to see if that ID is used elsewhere. Search for the term name or the term IRI (ie with underscore between GO and the numerical part of the ID, for example: 'GO_0030722'
  • If the term is a parent to other terms or is used in logical definitions, replace those uses by another term as appropriate.
  • Be sure that the term has not been used with a replaced_by or consider tag. If it has, update these, if possible, or remove them.

3. Subset usage

Check if the term is used in a subset:

  • In Protégé, look for any annotations with the in_subset tag. Report the information in the GitHub ticket. We don't need to announce that terms are present in the 'antislims' (do not annotate)

4. Taxon Constraints

Check to see if the term has been used in a taxon constraint:

  • If it has, the source file needs to be modified and the taxon constraint imports need to be regenerated. See: Adding_Taxon_Restrictions. Consider moving the taxon constraint to a parent term.

5. Cross-references

  • Check if there are cross-references to Reactome, RHEA, EC, MetaCyc xref to the term. If there are, notify the various groups in the obsoletion email.
  • These cross-references should be removed.
  • There is no need to edit Reactome xrefs are imported automatically from a file supplied by Reactome.
  • Definition cross-references to RHEA, EC, MetaCyc should be also be removed. Replace by GOC:curators if no reference is left,

6. Notification email and go-announcement repo

  • Send an email notification to go-friends@mailman.stanford.edu
  • Obsoletion email template:
  • SUBJECT:
 Obsoletion notice: [GO:ID] [GO term label]
  • BODY:
Dear all, 
The proposal has been made to obsolete: [GO:ID] [GO term name]. The reason for obsoletion is [ SPECIFY ]. 
There are X experimental annotations to this term by (list of impacted groups and their respective numbers of EXP and ISS annotations), see [link to Annotation Review Ticket]. 
There are X InterPro2GO/UniRule/UniProtKW mappings to this term. 
This term is included in the XXX subset(s).
New or existing terms that are suggested for transferring annotations (optional).
Any comments can be  added to the issue: [link to GitHub ticket]. 
Unless objections are received by [DATE], we will assume that you agree to this change.
  • This last sentence is not included if there are no annotations; we then obsolete immediately.
  • We usually leave 7 days before obsoleting a term if there are annotations. If all annotations are fixed before the end of the 7-days period, we can go ahead with the obsoletion.
  • If the obsoletion involves a lot of reannotation, in this case we can leave a longer period for reannotation.
  • Paste the email in the corresponding GitHub ticket.
  • Also create a ticket in the go-announcements GitHub repo. Copy and paste the email notification message, and link to the original go-ontology ticket. Close the go-announcements ticket when you close the go-ontology ticket.

Possible reasons for obsoletion

  1. The reason for obsoletion is that the term is not clearly defined and usage has been inconsistent.
  2. The reason for obsoletion is that this term is pre-composed and should be represented as a GO-CAM model.
  3. The reason for obsoletion is that this term represent an assay and not a GO process.
  4. The reason for obsoletion is that this represents a phenotype.
  5. The reason for obsoletion is that this term is equivalent to [appropriate GO term].
  6. The reason for obsoletion is that this term represents a molecular function.
  7. The reason for obsoletion is that this term represents a gene product.
  8. The reason for obsoletion is that this term refers to a class of proteins.
  9. The reason for obsoletion is that this term was added in error.
  10. The reason for obsoletion is that more specific terms were created.
  11. The reason for obsoletion is that this term was an unnecessary grouping term.
  12. The reason for obsoletion is that the meaning of the term is ambiguous.
  13. The reason for obsoletion is that is not known to be catalyzed by any gene product.
  14. The reason for obsoletion is that it more specific than the specificity of any known gene product.
  15. The reason for obsoletion is that there is no evidence that this function/process/component exists.


Examples

  1. GO:0030818 negative regulation of cAMP biosynthetic process.
  2.  GO:0072317 glucan endo-1,3-beta-D-glucosidase activity involved in ascospore release from ascus; GO:0100060 negative regulation of SREBP signaling pathway by DNA binding.
  3. GO:0035826 rubidium ion transport
  4. -
  5. -
  6. -
  7. -
  8. -
  9. -
  10. -
  11. -
  12. -
  13. -
  14. -
  15. GO:0019562 L-phenylalanine catabolic process to phosphoenolpyruvate; GO:0097605 regulation of nuclear envelope permeability’; GO:0015993 molecular hydrogen transport.

Obsoletion Process in Protégé versions 5.5 and later

  1. Navigate to the term to be obsoleted.
  2.  Add a link to the GitHub go-ontology ticket
  3. Go to the menu Edit > Deprecate entity
  4. Protege will prompt you to choose a deprecation profile. Select the Gene Ontology (GO) option.
  5. Protege will prompt you to enter an obsoletion comment.
  6. Protege will prompt you to add a replace_by term. This is optional.
  7. If you skip the previous step, Protege will prompt you to add one or more consider terms.
  8. Protege will perform all operations required for the obsoletion.
  9.  If there is an annotation for dcterms:conformsTo, remove it by clicking the x in the top-right corner.
  10. BUG As of July 10, the 'OBSOLETE' inserted in front of the term definition is missing the period. It needs to be added manually. (This has been reported to the Protege team [1]; temporary fix instructions are here: Fix Protege Deprecate Entity Functionality).

Manual Protégé Obsoletion Process

There should be no need to use this procedure.

  1. Navigate to the term to be obsoleted.
  2. Make the status of the term obsolete:
    1. In the ‘Annotations’ window, click on the + sign next to ‘Annotations’.
    2. In the resulting pop-up window, select owl:deprecated from the left-hand menu.
    3. Make sure the Literal tab view is selected from the right-hand tab list. Type "true" in the text box.
    4. In the Type drop-down menu underneath the text box, select xsd:boolean
    5. Click OK. You should now see the term crossed out in the Class hierarchy view.
  3. Remove equivalence axiom: In the Description window, under Equivalent To, click the x on the right-hand side to delete the logical definition.
  4. Remove ‘SubClass Of’ relations: In the Description window, under the SubClass Of entry, click the x on the right-hand side to delete the SubClass Relation.
  5. Edit Term label: Add 'obsolete’ at the beginning of the term label: In the Annotations window, click on the o on the right-hand side of the rdfs:label entry to edit the term string. In the resulting window, in the Literal tab, in front of the term name, type: obsolete For example: 'obsolete gamma-glutamyltransferase activity'. Note the case-sensitivity. Make sure to have a space (and no other character) between ‘obsolete’ and the term label.
  6. Definition: Add ‘OBSOLETE.’ to the term definition: In the Description window, click on the o on the right-hand side of the definition entry. In the resulting window, in the Literal tab, at the beginning of the definition, type: 'OBSOLETE.'. For example: 'OBSOLETE. Catalysis of the reaction: (5-L-glutamyl)-peptide + an amino acid = peptide + 5-L-glutamyl-amino acid.' Note the case-sensitivity.
  7. Remove ‘Slims: In the OBO annotation window, under the Subset entry, remove any slims that include the term. If there is a replaced_by tag on the obsolete term, add the target term to those slims. See also Adding_a_Term_to_a_GO_Subset_(Slim).
  8. Obsoletion comment: Add a statement about why the term was made obsolete: In the Annotations window, select + to add an annotation. In the resulting menu, select rdfs:comment and select Type: Xsd:string. Standard comments should be adapted from the notification email (Possible reasons for obsoletion), starting with 'This term was made obsolete because', and the reason.
  9. Alternatives for Obsolete Terms:
    • Replace by: If the obsoleted term is replaced by another term in the ontology: In the Annotations window, select + to add an annotation. In the resulting menu, select term replaced by and enter the term ID of the replacement term.
      • Note: Only one replaced by term can be used per obsoleted term.
    • Consider: If there is no single term term replacing the obsolete term, but there are terms that might be appropriate for annotation, add those term IDs in the consider tag: In the Annotations window, select + to add an annotation. In the resulting menu, select consider and enter the term ID of the replacement term.
      • Note: Add as many consider terms as needed.
  10. Save changes.
  11. The stanza looks like this:
 [Term]
 id: GO:0000005
 name: obsolete ribosomal chaperone activity
 namespace: molecular_function
 def: "OBSOLETE. Assists in the correct assembly of ribosomes or ribosomal subunits in vivo, but is not a component of the assembled ribosome when performing its normal biological function." [GOC:jl, PMID:12150913]
 comment: This term was made obsolete because it refers to a class of gene products and a biological process rather than a molecular function.
 synonym: "ribosomal chaperone activity" EXACT []
 is_obsolete: true
 consider: GO:0042254
 consider: GO:0044183
 consider: GO:0051082

 See Ontology_Editors_Daily_Workflow for commit, push and merge instructions.

Review Status

Last reviewed: November 22, 2022 Reviewed by: Pascale Gaudet

Back to: Editing the Ontology