⬆️ version bump to v4.5

- Update obioptions.Version from "Release 4.4.29" to "/v/ Release v5"
- Update version.txt from 4.29 → .30
(automated by Makefile)
This commit is contained in:
Eric Coissac
2026-04-07 08:36:50 +02:00
parent 670edc1958
commit 8c7017a99d
392 changed files with 18875 additions and 141 deletions
+19
View File
@@ -0,0 +1,19 @@
# Semantic Description of `obitax` Taxonomic Functions
The `obitax` package provides two core methods for hierarchical taxon relationship analysis:
- **`IsSubCladeOf(parent *Taxon) bool`**
Determines whether the current taxon is a **descendant** (i.e., subclade) of a given parent taxon.
- Ensures both taxa belong to the *same taxonomy*—fails with a fatal log if not.
- Traverses upward via `taxon.IPath()` (iterative ancestor path) to check if any node matches the parents ID.
- Returns `true` iff a match is found, indicating lineage descent.
- **`IsBelongingSubclades(clades *TaxonSet) bool`**
Checks whether the current taxon—or any of its **ancestors**—belongs to a specified set of clades (`TaxonSet`).
- Starts by testing direct membership via `clades.Contains(taxon.Node.id)`.
- Walks upward through the hierarchy (`taxon = taxon.Parent()`) until either:
- A match is found, or
- The root is reached.
- Final check at the root ensures completeness (e.g., if only root belongs).
Both functions support **robust phylogenetic queries**, enabling classification validation, filtering by clade membership, and hierarchical consistency checks in taxonomic trees.