Add unified matrix builder abstraction and k-mer filtering CLI

Introduces a unified MatrixBuilder abstraction for persistent bit and integer matrices, replacing custom dispatch enums and boolean flags across consumers. Refactors index, merge, and select layers to adopt explicit merge modes and centralized lifecycle management. Adds a complete k-mer filtering implementation with partition-level processing, progress tracking, and a new CLI subcommand supporting configurable predicates and thresholds.
This commit is contained in:
Eric Coissac
2026-08-26 14:19:15 +02:00
parent b7a8b5e6cf
commit 354e6f9bf1
17 changed files with 588 additions and 125 deletions
+6
View File
@@ -1542,12 +1542,17 @@ name = "obikfilter"
version = "0.1.0"
dependencies = [
"obicompactvec",
"obidebruinj",
"obikalgorithm",
"obikentropy",
"obikidxcache",
"obikindex",
"obikindexer",
"obikseq",
"obiskio",
"obisys",
"obitaxonomy",
"tracing",
]
[[package]]
@@ -1662,6 +1667,7 @@ dependencies = [
"csv",
"obifastwrite",
"obikalgorithm",
"obikfilter",
"obikindex",
"obikindexer",
"obikmerge",