Difference between revisions of "Obsoleting an Existing Ontology Term"

From GO Wiki
Jump to: navigation, search
m (Review Status)
m (Protégé 5.5 Obsoletion Process)
(2 intermediate revisions by the same user not shown)
Line 95: Line 95:
 
# If you skip the previous step, Protege will prompt you to add one or more <code>consider</code> terms.  
 
# If you skip the previous step, Protege will prompt you to add one or more <code>consider</code> terms.  
 
# Protege will perform all operations required for the obsoletion.
 
# Protege will perform all operations required for the obsoletion.
# '''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 [https://github.com/protegeproject/protege/issues/909])  
+
# '''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 [https://github.com/protegeproject/protege/issues/909]; '''temporary fix instructions are here:''' [[Protege5_5_setup_for_GO_Eds#Fix_Deprecate_Entity_functionality]]).
  
 
   See [[Ontology_Editors_Daily_Workflow]] for commit, push and merge instructions.
 
   See [[Ontology_Editors_Daily_Workflow]] for commit, push and merge instructions.

Revision as of 07:36, 12 July 2019

  See Ontology_Editors_Daily_Workflow for creating branches and basic Protégé instructions.


Check and notification procedure prior to obsoletion

  Need to add something about other mappings (such as EC2GO), but I dont know where those live
  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. Report the information in the GitHub ticket.
    • Note affected groups and number of annotations per groups, grouped by EXP and ISS (IEAs and ISOs should be ignored). Report the information in the GitHub ticket.
  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 values present in the in_subset tag. Report the information in the GitHub ticket. Also to check to see if there is a Reactome xref to the term. If there is, notify Reactome in the obsoletion email. There is no need to edit the xref because Reactome xrefs are imported automatically from a file supplied by Reactome.
  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. Notification: Send an email notification to go-friends@mailman.stanford.edu.
    • 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.
Obsoletion email template:
 SUBJECT: Proposal to obsolete [GO:ID] [GO term name]
 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). 
There are X InterPro2GO 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]. 
We are opening a comment period for this proposed obsoletion. We’d like to proceed and obsolete this term on [7 days after the message; unless it involves a lot of reannotation, in this case it can be longer] Unless objections are received by [DATE], we will assume that you agree to this change.

Possible reasons for obsoletion

  • The reason for obsoletion is that there is no evidence that this function/process/component exists. (eg: GO:0019562 L-phenylalanine catabolic process to phosphoenolpyruvate; GO:0097605 regulation of nuclear envelope permeability’; GO:0015993 molecular hydrogen transport).
  • The reason for obsoletion is that the term is not clearly defined and usage has been inconsistent (eg: GO:0030818 negative regulation of cAMP biosynthetic process).
  • The reason for obsoletion is that this term represents a GO-CAM model. (eg: 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).
  • The reason for obsoletion is that this term represent an assay and not a real process. (eg: GO:0035826 rubidium ion transport).
  • The reason for obsoletion is that the data from the paper for which the term was requested can be accurately described using [appropriate GO term] (eg: GO:0015032 storage protein import into fat body).
  • it represents a gene product.
  • The reason for obsoletion is that this term refers to a class of proteins.
  • The reason for obsoletion is that this term was added in error; it does not refer to a normal subcellular structure.
  • The reason for obsoletion is that this term more specific terms were created.
  • The reason for obsoletion is that this term was an unnecessary grouping term.
  • The reason for obsoletion is that this term the meaning of the term is ambiguous.

Manual Protégé Obsoletion Process

  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 (Obsoleting_an_Existing_Ontology_Term#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:0016910 
name: SAP kinase 3 activity 
namespace: molecular_function 
def: "OBSOLETE (was not defined before being made obsolete)." [GOC:mah] 
comment: This term was made obsolete because it describes a gene product. 
synonym: "SAPK3" EXACT [] 
is_obsolete: true 
consider: GO:0004674 
consider: GO:0007254
 To be deleted
  • If you have the obsoletion plugin installed:
    • Navigate to the menu Edit menu, choose Make entity obsolete.
    • You should now see the term crossed out in the Class hierarchy view (ie, the owl:deprecated=true is automatically added).
    • Also, all of the declarations in the Description window should be removed.
    • The term label should have 'obsolete' in front.
    •  Manual steps: Remove slims, add obsoletion comments and alternative for GO term as described in steps 6, 7, and 8 above.

Protégé 5.5 Obsoletion Process

  1.  Navigate to the term to be obsoleted.
  2.  Go to the menu Edit > Deprecate entity
  3. Protege will prompt you to choose a deprecation profile. Select the Gene Ontology (GO) option.
  4.  Protege will prompt you to enter an obsoletion comment.
  5. Protege will prompt you to add a replace_by term. This is optional.
  6. If you skip the previous step, Protege will prompt you to add one or more consider terms.
  7.  Protege will perform all operations required for the obsoletion.
  8.  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: Protege5_5_setup_for_GO_Eds#Fix_Deprecate_Entity_functionality).
 See Ontology_Editors_Daily_Workflow for commit, push and merge instructions.

Review Status

Last reviewed: July 10, 2019

Back to: Editing the Ontology