Closed pgaudet closed 4 years ago
I believe this is fixed by #14657 but I have not yet had time to check
cocaine binding now inferred subClassOf drug binding!
Yes ! Thanks @cmungall
Reopening until we have had time to discuss the large diff from
From: BBOP-Jenkins jenkins@mill.lbl.gov To: go-ontology@mailman.stanford.edu Subject: [go-ontology] Inference Changes Report Date: Mon, 27 Nov 2017 23:56:09 -0800 (PST)
Email discussion:
Chris:
So I fixed things so we get inferences from CHEBI roles: https://github.com/geneontology/go-ontology/issues/14626 and we get this large diff. Scroll down to get to the diffs in GO IDs. I think these are generally OK. We just defer to CHEBI on what a drug is, so if a bunch of new is_as under drug metabolism etc happen, we don't particularly care. However, the cofactor ones are suspect. If we don't like these, the solution is not to use the CHEBI cofactor role in the definition. Flipping this off will lose these ones. Remember these are all inferred.
Pascale:
Hi Chris, This is great. It makes a lot of sense to delegate these inferences to ChEBI; if we disagree we can contact ChEBI. For cofactors and vitamins these ‘roles’ are context-dependent if we also consider the organism we are talking about to be a type of context. If we expect this may create confusion for users we can add a note in the terms containing ‘vitamin’ or ‘cofactor’, along the lines of “This substance is known to act as a vitamin/cofactor in some (but not all) organisms or for some enzymes.” We can also put something more general about roles. What do you think ? Thanks, Pascale
Chris:
If we expect this may create confusion for users we can add a note in the terms containing ‘vitamin’ or ‘cofactor’, along the lines of “This substance is known to act as a vitamin/cofactor in some (but not all) organisms or for some enzymes.” We can also put something more general about roles.
Yes that would work too, it depends what people expect.
We should look at the diff at the next editors' call. I don't think all of these inferences are particularly useful and some could be misleading.
Looking over the diff, we all agreed that many of these inferences would result in incomplete or misleading relationships in GO. For example we don't want terms referring to ATP to be related to terms referring to 'drug'.
The general conclusion regarding this was that for now we should keep asserting relationships based on roles in the ontology manually, rather than inferring them from ChEBI roles.
Who will do the actual removal of the reasoning from CheBI roles ?
@cmungall ? We need to get rid of these inferences that are not always true.
options are: ask chebi to fix, obsolete drug terms in GO, or make our own 'drug ontology' (subClassOf axioms between GOCHE drug and chebi IDs)
can we stop reasoning over roles soon? We have lots of things annotated as drug transporters which clearly aren't. https://www.pombase.org/term/GO:0015238
@ukemi @cmungall Can we discuss this again at the next editors' call ? We should at least remove 'drug' as a role (that seems to be the most problematic one).
Hi
it is a bit difficult to know exactly what the plan is above, I do appreciate that drug metabolism is not a 'normal' process, but it is a useful grouping term for our users. Is the plan to remove this term? If so what will the replacement be and can I suggest that it is not removed.
Thanks
Ruth
From drugs specifically, see this ticket: #15379
We can continue to discuss the general issue here. The general principles remain the same regardless of the role: 1. obsolete it 2. fix at source 3. use our own classification.
For biological roles such as neurotransmitters, as mentioned here: #15381 - We can provide axioms that reference actual biological processes. I thought we were doing this already but it seems not.
notes on CHEBI roles we directly reference
CHEBI:24621 ! hormone don't use this, axiomatize using a signaling term.
CHEBI:25512 ! neurotransmitter axiomatize using neurotransmission
CHEBI:26013 ! pheromone axiomatize using signaling term
CHEBI:22676 ! auxin need a plant expert, but I think we should axiomatize using signaling/growth. And maybe we should bring back morphogen...
CHEBI:23530 ! cytokinin see above
CHEBI:37845 ! growth hormone I bet when we use this we have a structure e.g. somatotropin in mind, not a generic role
CHEBI:60311 ! thyroid hormone one of two structures. Ask CHEBI for a grouping structure?
CHEBI:50113 ! androgen CHEBI:50114 ! estrogen
CHEBI:26115 ! phytoalexin
CHEBI:23354 ! coenzyme CHEBI:23357 ! cofactor
CHEBI:33229 ! vitamin we have noted before issues here. I think it's basically fine to use the CHEBI role here and just accept the GO class is a grouping for what are commonly classified as vitamins.
CHEBI:27314 ! water-soluble vitamin what's the use case?
CHEBI:24020 ! fat-soluble vitamin what's the use case?
CHEBI:33284 ! nutrient only used in response terms. Do we care?
CHEBI:33290 ! food
it doesn't actually make much difference here since there are no structures linked to food in chebi
CHEBI:24127 ! fungicide fine; keep
CHEBI:25442 ! mycotoxin probably keep
CHEBI:35457 ! EC 3.4.15.1 (peptidyl-dipeptidase A) inhibitor CHEBI:50790 ! EC 1.14.14.14 (aromatase) inhibitor CHEBI:59897 ! EC 2.7.7.49 (RNA-directed DNA polymerase) inhibitor
obviously axiomatize using negative regulation of MF
CHEBI:27026 ! toxin CHEBI:35703 ! xenobiotic CHEBI:64909 ! poison
CHEBI:35221 ! antimetabolite only used in response-to. What is the use case for this?
CHEBI:26672 ! siderophore
axiomatize using iron chelation in GO
Hello,
The idea is to remove the reasoning done by ChEBI and manually infer the relevant roles. I am a bit worried about how easy that will be to maintain.....
Pascale
won't the necessary (correct) information still be available from CHEBI structure if only "roles" are ignored?
@pgaudet - I'm not sure what you mean by manual inference. My proposal from yesterday involves manual assignment of the defining axioms (either to roles, or to BPs, on a case by case basis), and inferring everything else.
@ValWood - don't worry we will continue to reason over CHEBI structures, this ticket is about the strategy for the roles and assignment of structures to roles
@cmungall yes I meant manual assertion of the parent class.
Proposal wrt drug roles: Merge all terms that contain 'drug' in the label into the corresponding 'chemical' term, make the 'drug' term a narrow synonym, and stop reasoning over drug roles (will happen automatically). Note: still need to sort out what to do with other roles.
It would be nice to implement the drug part of this. At the moment we are getting lots of mis-inferences to "drug transmembrane transporter", including ALL of the amino acid transporters https://www.pombase.org/term/GO:0006855
I hope it's OK but I made a new ticket for obsoletion of drug transmembrane transporter: #16962 I think obsoletion of high level terms warrant some detailed consideration and there are nuances in both how users search for terms and how curators annotate that should be discussed with specific examples. I suggest after this one we can discuss the other handful of drug terms.
We can carry on general discussion of other roles here for now.
@ukemi has also been talking about the GOCHE terms, so today, I was looking at all the GO terms that utilize a GOCHE term. However, earlier in this ticket, @cmungall gave a list of CHEBI roles that we reference specified by CHEBI IDs, small portion quoted here:
notes on CHEBI roles we directly reference
hormones
CHEBI:24621 ! hormone don't use this, axiomatize using a signaling term. [snip: remainder of list of CHEBI terms]
However, we reference thousands of CHEBI terms, and it's the GOCHE terms, of which we reference 42 in equivalence axioms, that are explicitly about roles, e.g.
GOCHE:24621 | substance with hormone role |
---|
Using the CHEBI ID for "hormone", CHEBI:24621, as an example, it occurs 4 times in the entire ontology file, always as a definition dbxref while the equivalence axiom refers to the GOCHE term, GOCHE:24621 for "substance with hormone role".
Sample stanza containing the CHEBI ID for "hormone", CHEBI:24621 [Term] id: GO:0042445 name: hormone metabolic process namespace: biological_process def: "The chemical reactions and pathways involving any hormone, naturally occurring substances secreted by specialized cells that affects the metabolism or behavior of other cells possessing functional receptors for the hormone." [CHEBI:24621, GOC:jl] subset: goslim_pir synonym: "hormone metabolism" EXACT [] is_a: GO:0008152 ! metabolic process is_a: GO:0010817 ! regulation of hormone levels intersection_of: GO:0008152 ! metabolic process intersection_of: has_primary_input_or_output GOCHE:24621 ! substance with hormone role
So, at least for "hormone", it looks like our reasoning is coming from the GOCHE term.
@cmungall & @ukemi - could you please clarify where our reasoning on roles is coming from, and exactly what I am supposed to be fixing. Is it just the equivalence axioms that reference GOCHE terms, or is there something else?
Thanks, Karen
I think this is more of a computational task than a curatorial one. I think we just change the process that generates GOCHE such that we don't use the has-role in CHEBI which we don't trust. We can then just do a diff of entailments and a curator can look these over to be sure we don't lose anything important. Sorry can't be more specific at the moment at a meeting.
This would be great ans save @krchristie a lot of work. I agree that taking the 'substance with role' out of the pipeline for now is a good strategy. It will then be a curation task to look at the diff and assign roles that are rigid. Can we get a software resource person on this with @krchristie? It would be lovely to have it done before the GOC meeting and have @krchristie be able to report on it.
Since I made this summary of the number of GOCHE terms that we reference in the ontology yesterday, here it is. We reference 42 GOCHE terms in the equivalence axioms of 157 GO terms.
My categories are loosely based on the one's Chris listed earlier in this ticket, but I used "antibiotic" loosely for anything that is intended to inhibit the growth of some class of organisms, whether microbial, fungal, insect, or plant. I realize the word 'antibiotic' is frequently confined to inhibitors of bacterial growth, but I can't think of a better word to group all things things intended to inhibit the growth of some large class of organisms.
no | Category | GOCHE term name | GOCHE ID | number usages per GOCHE TERM |
---|---|---|---|---|
1 | hormone | substance with auxin role | GOCHE:22676 | 13 |
2 | hormone | substance with cytokinin role | GOCHE:23530 | 8 |
3 | hormone | substance with hormone role | GOCHE:24621 | 7 |
4 | hormone | substance with pheromone role | GOCHE:26013 | 7 |
5 | hormone | substance with thyroid hormone role | GOCHE:60311 | 7 |
6 | hormone | substance with growth hormone role | GOCHE:37845 | 4 |
7 | hormone | substance with androgen role | GOCHE:50113 | 1 |
8 | hormone | substance with estrogen role | GOCHE:50114 | 1 |
9 | neurotransmitter | substance with neurotransmitter role | GOCHE:25512 | 19 |
10 | coenzyme/cofactor | substance with coenzyme role | GOCHE:23354 | 6 |
11 | coenzyme/cofactor | substance with cofactor role | GOCHE:23357 | 6 |
12 | coenzyme/cofactor | substance with siderophore role | GOCHE:26672 | 4 |
13 | vitamin | substance with vitamin role | GOCHE:33229 | 9 |
14 | vitamin | substance with fat-soluble vitamin role | GOCHE:24020 | 3 |
15 | vitamin | substance with water-soluble vitamin role | GOCHE:27314 | 3 |
16 | antibiotic | substance with antimicrobial agent role | GOCHE:33281 | 5 |
17 | antibiotic | substance with insecticide role | GOCHE:24852 | 3 |
18 | antibiotic | substance with phytoalexin role | GOCHE:26115 | 3 |
19 | antibiotic | substance with antimetabolite role | GOCHE:35221 | 1 |
20 | antibiotic | substance with fungicide role | GOCHE:24127 | 1 |
21 | antibiotic | substance with herbicide role | GOCHE:24527 | 1 |
22 | drug/xenobiotic | substance with drug role | GOCHE:23888 | 8 |
23 | drug/xenobiotic | substance with xenobiotic role | GOCHE:35703 | 5 |
24 | toxin/poison | substance with mycotoxin role | GOCHE:25442 | 5 |
25 | toxin/poison | substance with toxin role | GOCHE:27026 | 5 |
26 | toxin/poison | substance with poison role | GOCHE:64909 | 2 |
27 | sustenance | substance with food role | GOCHE:33290 | 2 |
28 | sustenance | substance with nutrient role | GOCHE:33284 | 2 |
29 | enzyme inhibitor | substance with EC 1.14.14.14 (aromatase) inhibitor role | GOCHE:50790 | 1 |
30 | enzyme inhibitor | substance with EC 2.7.7.49 (RNA-directed DNA polymerase) inhibitor role | GOCHE:59897 | 1 |
31 | enzyme inhibitor | substance with EC 3.4.15.1 (peptidyl-dipeptidase A) inhibitor role | GOCHE:35457 | 1 |
32 | chemical | substance with acid role | GOCHE:37527 | 3 |
33 | other | substance with anaesthetic role | GOCHE:38867 | 1 |
34 | other | substance with anticoagulant role | GOCHE:50249 | 1 |
35 | other | substance with anticonvulsant role | GOCHE:35623 | 1 |
36 | other | substance with antidepressant role | GOCHE:35469 | 1 |
37 | other | substance with antineoplastic agent role | GOCHE:35610 | 1 |
38 | other | substance with antipsychotic agent role | GOCHE:35476 | 1 |
39 | other | substance with bronchodilator agent role | GOCHE:35523 | 1 |
40 | other | substance with diuretic role | GOCHE:35498 | 1 |
41 | other | substance with platelet aggregation inhibitor role | GOCHE:50427 | 1 |
42 | other | substance with surfactant role | GOCHE:35195 | 1 |
Here are counts of the different relationships to GOCHE terms that we utilize in equivalence axioms:
relationship | number |
---|---|
exports | 2 |
has_input | 63 |
has_output | 1 |
has_primary_input | 19 |
has_primary_input_or_output | 19 |
has_primary_output | 16 |
imports | 10 |
regulates_levels_of | 2 |
transports_or_maintains_localization_of | 25 |
@ukemi - I've added the editors-discussion
label back to this ticket because I'd like to discuss this at the next ontology call. I don't think I can make any progress on this project until we discuss it and get input from @cmungall about what will be done computationally to provide me with a diff to look at. Or make it an agenda item if that will be more effective to make sure we get to this. Thanks :)
Discussion of this ticket at ontology editors call - 9/9/19
drug
, about which some people expressed concern when some of these tickets were new in 2017, we will point out that Pascale has already been removing some drug roles in her work on transporters as we have come to consensus that drug
is usually context specific, such that it is rarely rigid across different species and usage contexts and thus is often impossible to hard-code in the ontology.This is great.
I suggest we first split these into ones where we are happy to treat the role classification as rigid based on use cases.
I think for the majority the answer is no.
Exceptions might be antibiotic and some in the other category.
What do we mean when we say 'antiobiotic biosynthesis'?
I would argue that 1 is the most useful and sensible for our users. (but of course it should be accompanied by a do-not-annotate, it should only be a grouping). We can imagine someone coming to the GO as a tool for mining genes involved in making antibiotics for use in treatment. They wouldn't care in how the organism uses it, they would care about the end-application.
For cases where we want to say something like 2, should be done as a more explicit multi-organism annotation. I would suggest this is the case for antibiotic, and some of these ones in the other category.
It would be good to try and connect to specific user communities eg pharma here to see what they think
On Fri, Sep 6, 2019 at 2:33 PM Karen R Christie notifications@github.com wrote:
Since I made this summary of the number of GOCHE terms that we reference in the ontology yesterday, here it is. We reference 42 GOCHE terms in the equivalence axioms of 157 GO terms.
My categories are loosely based on the one's Chris listed earlier in this ticket, but I used "antibiotic" loosely for anything that is intended to inhibit the growth of some class of organisms, whether microbial, fungal, insect, or plant. I realize the word 'antibiotic' is frequently confined to inhibitors of bacterial growth, but I can't think of a better word to group all things things intended to inhibit the growth of some large class of organisms. no Category GOCHE term name GOCHE ID number usages per GOCHE TERM 1 hormone substance with auxin role GOCHE:22676 13 2 hormone substance with cytokinin role GOCHE:23530 8 3 hormone substance with hormone role GOCHE:24621 7 4 hormone substance with pheromone role GOCHE:26013 7 5 hormone substance with thyroid hormone role GOCHE:60311 7 6 hormone substance with growth hormone role GOCHE:37845 4 7 hormone substance with androgen role GOCHE:50113 1 8 hormone substance with estrogen role GOCHE:50114 1 9 neurotransmitter substance with neurotransmitter role GOCHE:25512 19 10 coenzyme/cofactor substance with coenzyme role GOCHE:23354 6 11 coenzyme/cofactor substance with cofactor role GOCHE:23357 6 12 coenzyme/cofactor substance with siderophore role GOCHE:26672 4 13 vitamin substance with vitamin role GOCHE:33229 9 14 vitamin substance with fat-soluble vitamin role GOCHE:24020 3 15 vitamin substance with water-soluble vitamin role GOCHE:27314 3 16 antibiotic substance with antimicrobial agent role GOCHE:33281 5 17 antibiotic substance with insecticide role GOCHE:24852 3 18 antibiotic substance with phytoalexin role GOCHE:26115 3 19 antibiotic substance with antimetabolite role GOCHE:35221 1 20 antibiotic substance with fungicide role GOCHE:24127 1 21 antibiotic substance with herbicide role GOCHE:24527 1 22 drug/xenobiotic substance with drug role GOCHE:23888 8 23 drug/xenobiotic substance with xenobiotic role GOCHE:35703 5 24 toxin/poison substance with mycotoxin role GOCHE:25442 5 25 toxin/poison substance with toxin role GOCHE:27026 5 26 toxin/poison substance with poison role GOCHE:64909 2 27 sustenance substance with food role GOCHE:33290 2 28 sustenance substance with nutrient role GOCHE:33284 2 29 enzyme inhibitor substance with EC 1.14.14.14 (aromatase) inhibitor role GOCHE:50790 1 30 enzyme inhibitor substance with EC 2.7.7.49 (RNA-directed DNA polymerase) inhibitor role GOCHE:59897 1 31 enzyme inhibitor substance with EC 3.4.15.1 (peptidyl-dipeptidase A) inhibitor role GOCHE:35457 1 32 chemical substance with acid role GOCHE:37527 3 33 other substance with anaesthetic role GOCHE:38867 1 34 other substance with anticoagulant role GOCHE:50249 1 35 other substance with anticonvulsant role GOCHE:35623 1 36 other substance with antidepressant role GOCHE:35469 1 37 other substance with antineoplastic agent role GOCHE:35610 1 38 other substance with antipsychotic agent role GOCHE:35476 1 39 other substance with bronchodilator agent role GOCHE:35523 1 40 other substance with diuretic role GOCHE:35498 1 41 other substance with platelet aggregation inhibitor role GOCHE:50427 1 42 other substance with surfactant role GOCHE:35195 1
Here are counts of the different relationships to GOCHE terms that we utilize in equivalence axioms: relationship number exports 2 has_input 63 has_output 1 has_primary_input 19 has_primary_input_or_output 19 has_primary_output 16 imports 10 regulates_levels_of 2 transports_or_maintains_localization_of 25
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/geneontology/go-ontology/issues/14626?email_source=notifications&email_token=AAAMMOL4T4IWTWX5WGN4S23QILED7A5CNFSM4EE3SPR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6EDVYA#issuecomment-529021664, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAMMOOCCQSW7FX5COYXOP3QILED7ANCNFSM4EE3SPRQ .
We currently define antibiotic metabolic process, and the corresponding biosynthetic and catabolic process terms, in a way consistent with @cmungall 's case 1 above. Here's a sample def:
Term: antibiotic metabolic process Def: The chemical reactions and pathways involving an antibiotic, a substance produced by or derived from certain fungi, bacteria, and other organisms, that can destroy or inhibit the growth of other microorganisms.
However, I think that this definition creates some intrinsic non-rigidity to the role of 'antibiotic' that is very similar to the problems we have with 'drug' because when we are talking about the use of an antibiotic as a molecule that we use to inhibit the growth of some organism, then we are talking about a context specific usage that depends on the specific biology of the organism being treated as to whether the compound in question is an antibiotic or not, which is the same problem we have with 'drug', perhaps not surprising when the current term antibiotic metabolic process
is an is_a child of drug metabolic process
.
But, I'm going to leave antibiotics for the time being as @ukemi would like to focus on cofactors first so that we can resume loading ChEBI updates.
This is a really good point. I had assumed antibiotic would be a bit less fuzzy than drug, but Pascale brought up the example of curcumin.
It would be great to get a better handle on what our users would want. I'd hypothesize there is a segment of the GO user community that would find it useful to query for 'antiobiotic biosynthesis' and for it to retrieve all genes involved in the production of chemicals that have an end-purpose of being an antibiotic, and for this to err on the side of inclusivity is OK. Ideally this would be tested via outreach/surveys.
Another pragmatic point here, obsoleting antibiotic biosynthesis would lose a lot of annotations that come from either keyword or unipathway annotations (even though unipathway has more specific entity-specific terms I don't know why they aren't used).
On Tue, Sep 17, 2019 at 3:22 PM Karen R Christie notifications@github.com wrote:
We currently define antibiotic metabolic process, and the corresponding biosynthetic and catabolic process terms, in a way consistent with @cmungall https://github.com/cmungall 's case 1 above. Here's a sample def:
Term: antibiotic metabolic process Def: The chemical reactions and pathways involving an antibiotic, a substance produced by or derived from certain fungi, bacteria, and other organisms, that can destroy or inhibit the growth of other microorganisms.
However, I think that this definition creates some intrinsic non-rigidity to the role of 'antibiotic' that is very similar to the problems we have with 'drug' because when we are talking about the use of an antibiotic as a molecule that we use to inhibit the growth of some organism, then we are talking about a context specific usage that depends on the specific biology of the organism being treated as to whether the compound in question is an antibiotic or not, which is the same problem we have with 'drug', perhaps not surprising when the current term antibiotic metabolic process is an is_a child of drug metabolic process.
But, I'm going to leave antibiotics for the time being as @ukemi https://github.com/ukemi would like to focus on cofactors first so that we can resume loading ChEBI updates.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/geneontology/go-ontology/issues/14626?email_source=notifications&email_token=AAAMMOKTSD2DPKBYLMLMTXLQKFKDLA5CNFSM4EE3SPR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD66CT3Q#issuecomment-532425198, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAMMOOH7J6MNA2AJYFRYGLQKFKDLANCNFSM4EE3SPRQ .
I'd hypothesize there is a segment of the GO user community that would find it useful to query for 'antiobiotic biosynthesis' and for it to retrieve all genes involved in the production of chemicals that have an end-purpose of being an antibiotic, and for this to err on the side of inclusivity is OK.
This query only produces a biologically satisfying result if it can actually retrieve ALL the genes that are relevant. If the ability to retrieve ALL relevant genes is made impossible by not including terms for things that are sometimes but not always antibiotics, then it seems that we are selling a bill of goods that GO can deliver on this, but aren't delivering the goods.
Another pragmatic point here, obsoleting antibiotic biosynthesis would lose a lot of annotations that come from either keyword or unipathway annotations (even though unipathway has more specific entity-specific terms I don't know why they aren't used).
We wouldn't necessarily need to obsolete 'antibiotic biosynthesis
. The logic problem with the roles could be solved by not asserting any child terms under it, which would then require co-annotation if you want to say that x biosynthesis
is also antibiotic biosynthesis
. @deustp01 and I were just talking about the cofactor role issue and talking about Peter's idea that roles could be annotated in GO-CAM's. He and I both think that roles would be much better if we could deal with them as instance-level annotations and not try to code them in the ontology.
Or if we could revisit the idea of defining them with respect to processes. If we could do that, they would be inferred from models when the model fits the correct criteria. For example the role of a hormone always has some relationship to hormone signaling.
Discussion at Ontology editors call on 11/4/19
The ticket cessation of reasoning over ChEBI roles, i.e. stop inferring relationships like "ATP binding" is_a "drug binding" #19479 will fix the main issue in this ticket regarding the errors generated by reasoning over roles to place specific chemicals under grouping terms defined by a ChEBI role.
I don't think there are any concrete plans in this ticket that we need to keep this ticket open for, so I'm going to close it.
Hello,
Are we expecting Protégé to reason over 'roles', for example drug ? It doesn't seem to be:
Thanks, Pascale