gentropy icon indicating copy to clipboard operation
gentropy copied to clipboard

Add part of to biosample index relationships

Open Tobi1kenobi opened this issue 1 month ago • 0 comments

✨ Context

The biosample index includes Uberon which has two kinds of parental/child relationships between nodes - is_a and part_of. However in the generation of the biosample index only is_a is used to define parental/child relationships. This means that, for Uberon, relationships like "left ventricle of heart" being a child of "heart", are ignored. This makes traversal of the ontology impossible at times.

🛠 What does this PR implement

Up until now, the biosample index ignored all edges which weren't is_a when generating parents, children, ancestors and descendants. This PR adds part_of (or BFO_0000050) to the included edges. Now the behaviour will reflect what we can see on the EBI ontology lookup service and will enable better traversal.

🙈 Missing

Nothing

🚦 Before submitting

  • [X] Do these changes cover one single feature (one change at a time)?
  • [X] Did you read the contributor guideline?
  • [X] Did you make sure to update the documentation with your changes?
  • [X] Did you make sure there is no commented out code in this PR?
  • [X] Did you follow conventional commits standards in PR title and commit messages?
  • [X] Did you make sure the branch is up-to-date with the dev branch?
  • [X] Did you write any new necessary tests?
  • [X] Did you make sure the changes pass local tests (make test)?
  • [X] Did you make sure the changes pass pre-commit rules (e.g uv run pre-commit run --all-files)?

Tobi1kenobi avatar Nov 17 '25 11:11 Tobi1kenobi