Obsoleting an Existing Ontology Term: Difference between revisions
Jump to navigation
Jump to search
Line 29: | Line 29: | ||
* Send an email notification to <code>go-friends@mailman.stanford.edu</code> | * Send an email notification to <code>go-friends@mailman.stanford.edu</code> | ||
* Obsoletion email template: | * Obsoletion email template: | ||
* SUBJECT: | |||
Obsoletion notice: [GO:ID] [GO term label] | Obsoletion notice: [GO:ID] [GO term label] | ||
* BODY: | * BODY: | ||
Line 41: | Line 41: | ||
Unless objections are received by [DATE], we will assume that you agree to this change. | 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. | * 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. | * Paste the email in the corresponding GitHub ticket. | ||
* Also create a ticket in the [https://github.com/geneontology/go-announcements 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. | * Also create a ticket in the [https://github.com/geneontology/go-announcements 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. |
Revision as of 12:19, 22 November 2022
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.
- Create an Annotation_Review_Request ticket and add the link 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
orconsider 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.
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.
- There is no need to edit Reactome xrefs are imported automatically from a file supplied by Reactome.
- Other cross-references should be removed.
- 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). 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
- The reason for obsoletion is that the term is not clearly defined and usage has been inconsistent
- The reason for obsoletion is that this term represents a GO-CAM model.
- 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 this represents a phenotype.
- 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).
- The reason for obsoletion is that this term 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.
- The reason for obsoletion is that more specific terms were created.
- The reason for obsoletion is that this term was an unnecessary grouping term.
- The reason for obsoletion is that the meaning of the term is ambiguous.
- The reason for obsoletion is that is not known to be catalyzed by any gene product.
- The reason for obsoletion is that it more specific than the specificity of any known gene product.
- The reason for obsoletion is that there is no evidence that this function/process/component exists.
Examples
- E.g. GO:0030818 negative regulation of cAMP biosynthetic process.
- E.g. 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.
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- E.g. 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
- Navigate to the term to be obsoleted.
- Go to the menu
Edit
>Deprecate entity
- Protege will prompt you to choose a deprecation profile. Select the
Gene Ontology (GO)
option. - Protege will prompt you to enter an obsoletion comment.
- Protege will prompt you to add a
replace_by
term. This is optional. - If you skip the previous step, Protege will prompt you to add one or more
consider
terms. - Protege will perform all operations required for the obsoletion.
- If there is an annotation for
dcterms:conformsTo
, remove it by clicking thex
in the top-right corner. - 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.
- Navigate to the term to be obsoleted.
- Make the status of the term obsolete:
- In the ‘Annotations’ window, click on the + sign next to ‘Annotations’.
- In the resulting pop-up window, select
owl:deprecated
from the left-hand menu. - Make sure the
Literal
tab view is selected from the right-hand tab list. Type "true" in the text box. - In the
Type
drop-down menu underneath the text box, selectxsd:boolean
- Click
OK
. You should now see the term crossed out in theClass hierarchy
view.
- Remove equivalence axiom: In the
Description
window, underEquivalent To
, click thex
on the right-hand side to delete the logical definition. - Remove ‘SubClass Of’ relations: In the
Description
window, under theSubClass Of
entry, click thex
on the right-hand side to delete the SubClass Relation. - Edit Term label: Add 'obsolete’ at the beginning of the term label: In the
Annotations
window, click on theo
on the right-hand side of therdfs:label
entry to edit the term string. In the resulting window, in theLiteral
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. - Definition: Add ‘OBSOLETE.’ to the term definition: In the
Description
window, click on theo
on the right-hand side of the definition entry. In the resulting window, in theLiteral
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. - Remove ‘Slims: In the
OBO annotation
window, under theSubset
entry, remove any slims that include the term. If there is areplaced_by
tag on the obsolete term, add the target term to those slims. See also Adding_a_Term_to_a_GO_Subset_(Slim). - 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, selectrdfs:comment
and selectType: 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. - 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, selectterm replaced by
and enter the term ID of the replacement term.- Note: Only one
replaced by
term can be used per obsoleted term.
- Note: Only one
- 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 theAnnotations
window, select+
to add an annotation. In the resulting menu, selectconsider
and enter the term ID of the replacement term.- Note: Add as many
consider
terms as needed.
- Note: Add as many
- Replace by: If the obsoleted term is replaced by another term in the ontology: In the
- Save changes.
- 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