Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add superclass mapping from COB characteristic to ChEBI role #173

Merged
merged 7 commits into from
Sep 14, 2021

Conversation

cthoyt
Copy link
Contributor

@cthoyt cthoyt commented Sep 12, 2021

Closes #169

This PR adds an explicit equivalence mapping between COB and ChEBI:

  • COB:0000502 (characteristic) sssom:superClassOf CHEBI:50906 (role)
  • COB:0000088 (drug product) rdfs:seeAlso CHEBI:23888 (drug)

This one seems pretty straightforward, so maybe there's a reason these were difficult to align before, so feedback or changes (e.g., different relationship) are welcome.

Note: I tried running the make command but got an error (see #174). I'm curious if there are tools built in to the make command that can automatically check that adding an equivalence like this doesn't cause any problems

@cmungall
Copy link
Contributor

You would think this would be straightforward, right?

TL;DR - I think CHEBI:role should be up a level, a subclassof "characteristic"

COB follows BFO in forcing you to make a distinction between "role" and "disposition".

image

(aside: I think some of these are processes)

After years of working with upper ontologies I am now convinced this is like forcing you to choose whether your database is painted the color of angel's wings or demon's fur.

We could go through the CHEBI role hierarchy and look at the individual terms and analyze using a BFO approach whether those terms are "dispositions" "qualities" or "roles". It would be a mix. And there would be many that would be on the edge. We could spend the next decade arguing about these at various meetings, and leave a giant trail of unclosed github tickets in our wake.

So in fact we had a similar issue with PATO, at one point we considered splitting the ontology into qualities vs dispositions:

pato-ontology/pato#112

But we discovered we would be having angels-on-pinhead discussions about whether mass, color, etc were dispositions or qualities. The fact is, the concepts as used by scientists have aspects of both, and no user cares about the distinction

we have in fact made the decision over here in COB that we would formally uncommit PATO and just put it's root at the parent class of 'characteristic'

subject_id subject_label predicate_id object_id object_label notes
COB:0000502 characteristic owl:equivalentClass PATO:0000001 quality #124

See also #27 and #124

This leaves open the possibility that in future PATO commits individual sub-branches to subclasses - but realistically, our time is limited, no one has resources to do this kind of pointless work

I recommend we do the same with CHEBI - make chebi role a subclass of characteristic, and CHEBI can choose to make individual commitments about sub-branches later on.

Another view of the CHEBI role branch is as shortcuts for more direct statements pertaining to more concrete classes, as we describe here: https://doi.org/10.26434/chemrxiv.12591221.v1

@cmungall
Copy link
Contributor

Talking about drug product separately:

the proposed equivalence doesn't work since COB drug product is a material entity, and chebi:drug is a role, these are disjoint in COB. See #140 for our drug issues

@cthoyt
Copy link
Contributor Author

cthoyt commented Sep 13, 2021

Thanks for the detailed explanation, Chris. If I had to guess, I would probably call ChEBI roles dispositions.

We could spend the next decade arguing about these at various meetings, and leave a giant trail of unclosed github tickets in our wake.

^ Such wisdom :)

I recommend we do the same with CHEBI - make chebi role a subclass of characteristic, and CHEBI can choose to make individual commitments about sub-branches later on.

Will do

Another view of the CHEBI role branch is as shortcuts for more direct statements pertaining to more concrete classes, as we describe here: https://doi.org/10.26434/chemrxiv.12591221.v1

One day, somebody will help me write a script to turn this all into nice OWL that can be integrated with everything else in OBO, then we can finally submit this paper. @matentzn looking at you!

the proposed equivalence doesn't work since COB drug product is a material entity, and chebi:drug is a role, these are disjoint in COB. See #140 for our drug issues

I'll also take this out. Sorry I didn't see that issue before. However, maybe I can just change it to rdfs:seeAlso in case someone reads this later and also has the same idea that I did

@cthoyt cthoyt changed the title Add equivalence from COB role to ChEBI role Add mapping from COB role to ChEBI role Sep 13, 2021
@cthoyt cthoyt changed the title Add mapping from COB role to ChEBI role Add superclass mapping from COB characteristic to ChEBI role Sep 13, 2021
@cthoyt
Copy link
Contributor Author

cthoyt commented Sep 13, 2021

@cmungall should I run some of the build functions before merging this PR?

@cmungall
Copy link
Contributor

I approved github actions for you, I trust you not to mine bitcoin, so now PR QC checks should automatically run for you. No need to do anything else

@@ -92,6 +92,7 @@ COB:0000076 objective specification owl:equivalentClass IAO:0000005 objective sp
COB:0000079 plan specification owl:equivalentClass IAO:0000104 plan specification .
COB:0000080 complex of molecular entities rdfs:subClassOf owl:Thing owl:Thing
COB:0000088 drug product owl:equivalentClass DRON:0000005 drug product we currently use a different text definition but we believe they do not contradict
COB:0000088 drug product rdfs:seeAlso CHEBI:23888 drug These can't be equivalent because COB drug product is a material entity, and ChEBI's drug is a role. See issue #140 for more information.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this. closeMatch is also not wrong, but I think seeAlso is good as it's even weaker. We should systematize this a bit more

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Mappings for ChEBI has role property and chemical role class
2 participants