INCATools / ontology-development-kit

Bootstrap an OBO Library ontology
http://incatools.github.io/ontology-development-kit/
BSD 3-Clause "New" or "Revised" License
219 stars 54 forks source link

The remove annotations option of filter module does not make sense for cases like.. OMO #841

Closed matentzn closed 7 months ago

matentzn commented 1 year ago

We should have a good import goal that easily covers cases where it is annotation properties we want to import. Currently filter module strips these out..

filter base and extract BOT also make no sense here..

I don't know how that happened. Maybe didn't think of the OMO case here.

anitacaron commented 1 year ago

For OMO, the mirror makes sense here.

matentzn commented 1 year ago

I have had requests about making it possible to import OMO subsets - people don't want to see all 60 OMO annotation properties in protege if they only use 2!

anitacaron commented 1 year ago

Is this really an issue?

matentzn commented 1 year ago

Its either this or us having to create dozens of OMO subsets in the OMO repo! I think it needs solving. but it also needs to be solved for ORCIDIO and other largely annotation assertion based ontologies.

pfabry commented 1 year ago

Considering this issue as well as #849 and #854 : The subset method robot extract --method subset is very useful for creating relevant import from RO or OMO. Using module_type: filter on RO for example is useless as the object properties in the resulting module will be stripped of their characteristics (i.e. has part is no longer transitive). Subset keep the characteristics, as well as all the annotations, and if you just add the upper BFO classes, you also get the object properties' range and domains. It also work with annotations to create any subset of OMO that you need.

anitacaron commented 1 year ago

I just used module_tyle: mirror to import OMO in CL, and it only gets the two annotations I added in the omo_terms.txt. https://github.com/obophenotype/cell-ontology/pull/2134

matentzn commented 1 year ago

But CL uses "merged" strategy - its weird that it preserves these APs?

matentzn commented 7 months ago

Its a bit weirder than I though.

robot extract -I http://purl.obolibrary.org/obo/omo.owl --term OMO:0003000 --individuals exclude --method BOT -o omo_extract.owl

Results in a long list of APs.

robot extract -I http://purl.obolibrary.org/obo/omo.owl --term OMO:0003000 --individuals exclude --method subset -o omo_extract.owl

Is a bit better, but still long..

The closest to a normal subset is

robot filter -i omo.owl --term oboInOwl:hasExactSynonym --trim false -o omo_extract.owl

In any case, given the current behaviour of slme, there is much less of a concern for me now. I will not implement a solution to this issue for now, as the issue is actually not that urgent (we get more nor less properties than what we want).

I will close this issue as not planned, feel free to re-open.