You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, each Uberon release comes with a handful of “taxon subsets”:
amniote-basic,
euarchontoglires-basic,
human-view,
mouse-view,
xenopus-view.
Those subsets are generated in two different ways.
a) For the -basic subsets, the key part of their generation is OWLTools’ --make-species-subset command. Briefly, what this command does, when generating a subset for a taxon T, is to assert owl:Thing in_taxon some T, and then to exclude all classes that are unsatisfiable because of that assertion, so that the resulting ontology only contains classes that are not known to be invalid for taxon T. (After that step, this is merely standard, ROBOT-mediated reasoning and filtering of external terms.)
b) For the -view subsets, the approach is quite similar, only the implementation is different. To create a subset for a taxon T, instead of using the dedicated --make-species-subset command, we merge into Uberon a small ontology (found in src/ontology/contexts/context-T.owl) containing an axiom asserting that Uberon’s anatomical structure is part of the taxon T (UBERON:0000061 SubClassOf: part_of some T), then we run OWLTools’ reasoning command over the merge product and instruct it to ignore all unsatisfiable classes (we have to use OWLTools here because ROBOT’s reason command does not allow, as far as I know, to simply ignore unsatisfiable classes – robot reason always errors out if the ontology it is trying to reason over is found to contain unsatisfiable classes). Basically it’s a “manual” way of doing more or less the same thing than --make-species-subset does.
I don’t know why we have those two methods to generate taxon subsets. Possibly OWLTools’ --make-species-subsets did not exist at the time the -view subsets were first created, or whoever created them did not know that command existed. In any case, I think it’s needlessly confusing to have two types of taxon subsets (the “-view” subsets and the “-basic” subsets), so those two methods should be consolidated into a single one – ideally one that does not require OWLTools, which we are trying to phase out of our pipelines.
@dosumis suggested at some point that instead of creating the subsets directly, we could have a command (implemented as a ROBOT plugin) that merely tags classes as belonging to a given subset (by adding an annotation like oboInOwl:inSubset <http://purl.obolibrary.org/obo/uberon/core#human_subset>), after which the subsets themselves could be created by simply extracting the classes carrying the tag.
The text was updated successfully, but these errors were encountered:
Currently, each Uberon release comes with a handful of “taxon subsets”:
amniote-basic
,euarchontoglires-basic
,human-view
,mouse-view
,xenopus-view
.Those subsets are generated in two different ways.
a) For the
-basic
subsets, the key part of their generation is OWLTools’--make-species-subset
command. Briefly, what this command does, when generating a subset for a taxon T, is to assertowl:Thing in_taxon some T
, and then to exclude all classes that are unsatisfiable because of that assertion, so that the resulting ontology only contains classes that are not known to be invalid for taxon T. (After that step, this is merely standard, ROBOT-mediated reasoning and filtering of external terms.)b) For the
-view
subsets, the approach is quite similar, only the implementation is different. To create a subset for a taxon T, instead of using the dedicated--make-species-subset
command, we merge into Uberon a small ontology (found insrc/ontology/contexts/context-T.owl
) containing an axiom asserting that Uberon’sanatomical structure
is part of the taxon T (UBERON:0000061 SubClassOf: part_of some T
), then we run OWLTools’ reasoning command over the merge product and instruct it to ignore all unsatisfiable classes (we have to use OWLTools here because ROBOT’sreason
command does not allow, as far as I know, to simply ignore unsatisfiable classes –robot reason
always errors out if the ontology it is trying to reason over is found to contain unsatisfiable classes). Basically it’s a “manual” way of doing more or less the same thing than--make-species-subset
does.I don’t know why we have those two methods to generate taxon subsets. Possibly OWLTools’
--make-species-subsets
did not exist at the time the-view
subsets were first created, or whoever created them did not know that command existed. In any case, I think it’s needlessly confusing to have two types of taxon subsets (the “-view” subsets and the “-basic” subsets), so those two methods should be consolidated into a single one – ideally one that does not require OWLTools, which we are trying to phase out of our pipelines.@dosumis suggested at some point that instead of creating the subsets directly, we could have a command (implemented as a ROBOT plugin) that merely tags classes as belonging to a given subset (by adding an annotation like
oboInOwl:inSubset <http://purl.obolibrary.org/obo/uberon/core#human_subset>
), after which the subsets themselves could be created by simply extracting the classes carrying the tag.The text was updated successfully, but these errors were encountered: