obophenotype / obophenotype/uberon

Add anti-slims for various taxonomic groupings

Open
#2,183 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

blocked tech
Dominant language
Emacs Lisp
Stars
163
Forks
43
Avg merge
1d 17h
Merged PRs (30d)
5

Description

Add antislims that can be applied that should be excluded from specific releases

E.g.

  • exclude_from_mammal_release
  • exclude_from_vertebrate_release

These are formally weaker than never-in-taxon. In particular, they are safe for intermediate classes and they are safe for classes that may be excluded due to being "too specific" for a use case without worrying about whether there is an existential linking to it

Examples

  • the grouping "limb/fin" is not relevant for any tetrapod subset, despite being satisfiable
  • highly specific skeletal terms such as various notches of limb bones may be less relevant for cell-centric atlases. Placing a never in taxon would be wrong, and would have the side effect of excluding existential dependents (e.g a major muscle with an insertion site on that notch)

The antislim would be applied after logic-based subset extraction (regardless of which logic-based strategy is used here: #2137)

The relevant owltools command is --extract-ontology-subset

HOWEVER, this only supports specifying a positive subset. Options

  1. have a SPARQL or obo-sed.pl that creates an inclusion slim from an antislim
  2. add a few lines of java to owltools
  3. implement functionality in robot https://github.com/ontodev/robot/issues/497

Assuming 1, the command would be

owltools uberon-post-logic-filtering-euarch.owl --extract-ontology-subset -s include_in_euarch_release -o euarch.owl

Make sure that relax is first executed.

Some curation guidelines for using the subset

  • no need to add on things that would be filtered by logic strategy
  • be careful when applying to broad intermediate classes like limb/fin, as you can lose logical definitions
  • the assumption is that the antislim is geared towards a use case. the various notches of bones may be relevant for skeletal annotation and may be useful for some HCA use cases, but the assumption is that being too strict as a first pass is better than being too inclusive, as unlike with reasoning strategy it doesn't propagate

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the owltools --extract-ontology-subset command and the requirement to run relax first. Compare the proposed SPARQL/obo-sed.pl, Java-in-owltools, and ROBOT approaches, including ROBOT issue 497. Done means antislims are applied after logic-based subset extraction and the resulting release excludes the marked terms without propagating the exclusions.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
release, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.