Files
obitools4/autodoc/docmd/pkg/obiseq/taxonomy_predicate.md
T
Eric Coissac 8c7017a99d ⬆️ 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)
2026-04-13 13:34:53 +02:00

21 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Semantic Description of `obiseq` Package Functionalities
This Go package provides **sequence filtering predicates** for biological sequences, integrated with taxonomic validation and hierarchy analysis.
- `IsAValidTaxon(taxonomy, ...bool) SequencePredicate`:
Returns a predicate that checks whether a sequence has an associated valid taxon in the given taxonomy.
Optionally supports *auto-correction* of outdated/incorrect `taxid` values to match the current taxonomy node.
- `IsSubCladeOf(taxonomy, parent) SequencePredicate`:
Filters sequences whose taxonomic assignment is a descendant (sub-clade) of the specified `parent` taxon.
- `IsSubCladeOfSlot(taxonomy, key) SequencePredicate`:
Enables filtering based on a *sequence attribute* (e.g., `"taxon"` or `"classification"`) that holds a taxonomic label.
Validates the label against the taxonomy, then checks if the sequences assigned taxon falls under it.
- `HasRequiredRank(taxonomy, rank) SequencePredicate`:
Ensures the sequences taxon is assigned at or below a specified rank (e.g., `"species"`, `"genus"`).
Validates the requested `rank` against taxonomys rank list; exits on invalid input.
All predicates follow a functional, composable design pattern (`SequencePredicate = func(*BioSequence) bool`), enabling flexible pipeline construction (e.g., filtering, classification validation).