Add part of to biosample index relationships
✨ 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
devbranch? - [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)?