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

It should be possible to filter out relationships based on GCIs #163

Open
cmungall opened this issue Apr 16, 2022 · 1 comment
Open

It should be possible to filter out relationships based on GCIs #163

cmungall opened this issue Apr 16, 2022 · 1 comment
Labels
enhancement An issue to request an enhancement, or a pull request implementing one. question A question about the library.

Comments

@cmungall
Copy link

This sounds quite obscure but is in fact extremely important to avoid erroneous propagation

consider

[Term]
id: UBERON:0018140
name: mammary lobe
is_a: UBERON:0009912 ! anatomical lobe
relationship: part_of UBERON:0000310 {gci_relation="part_of", gci_filler="NCBITaxon:9606"} ! breast
relationship: part_of UBERON:0001911 ! mammary gland

this means that in the context of humans the mammary lobe is part of the breast. (in e.g. mice, there are mammary glands in other locations)

The OWL translation is here
https://owlcollab.github.io/oboformat/doc/obo-syntax.html#5.2.2

In OWL the meaning is very clear but there is a lot of possibility for mistranslation in obo when people ignore this field

it is important that applications are able to filter these relationships as naive traversal/propagation should not be used if the context is not satisfied

OBO Basic (https://owlcollab.github.io/oboformat/doc/obo-syntax.html#6.2) explicitly forbids GCIs due to possibility of mis-use

pronto is very useful for using with non-basic ontologies, but I don't see a way to filter on this?

cmungall added a commit to INCATools/ontology-access-kit that referenced this issue Apr 16, 2022
cmungall added a commit to INCATools/ontology-access-kit that referenced this issue Apr 16, 2022
@althonos althonos added the enhancement An issue to request an enhancement, or a pull request implementing one. label Apr 21, 2022
@althonos
Copy link
Owner

Hi Chris,

the problem with GCI is that they end up in OBO qualifiers at the moment, which are parsed by the fastobo Rust parser, but dropped when going from the Rust data structures to the Python data structures (I mean, the specs say it's supposed to be fine to ignore qualifiers, so.....). I'll have to find some time to update fastobo-py to support getting qualifiers+comments from the clause lines into the Python data structures first to get that working.

@althonos althonos added the question A question about the library. label Apr 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement An issue to request an enhancement, or a pull request implementing one. question A question about the library.
Projects
None yet
Development

No branches or pull requests

2 participants