mirror of
https://github.com/metabarcoding/obitools4.git
synced 2026-04-30 12:00:39 +00:00
8c7017a99d
- Update obioptions.Version from "Release 4.4.29" to "/v/ Release v5" - Update version.txt from 4.29 → .30 (automated by Makefile)
21 lines
1.4 KiB
Markdown
21 lines
1.4 KiB
Markdown
# 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 sequence’s assigned taxon falls under it.
|
||
|
||
- `HasRequiredRank(taxonomy, rank) SequencePredicate`:
|
||
Ensures the sequence’s taxon is assigned at or below a specified rank (e.g., `"species"`, `"genus"`).
|
||
Validates the requested `rank` against taxonomy’s 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).
|