Refactor k-mer sibling tracking to compact bitmask and on-demand counts

Replaces the explicit `SiblingInfo` struct and 3-bit minorant flags with a derived 4-bit presence mask (`FamilyMask`) that tracks observed bases per family. This eliminates redundant file I/O overhead by introducing a `PartitionCache` for batch lookups, simplifies serialization, and updates all downstream builders, stats computation, and tests to operate on the new bitmask representation. Adjusts CLI output to report deduplicated family sizes instead of histograms, ignores generated CSV files, and updates documentation to reflect the fixed canonical reference and new theory.
This commit is contained in:
Eric Coissac
2026-08-10 17:53:52 +02:00
parent ba990a48a0
commit 1a470eab9e
6 changed files with 671 additions and 277 deletions
+1
View File
@@ -9,6 +9,7 @@ data-stress
./**/*.json
*.bin
*.log
*.csv
Betula_exilis--IGA-24-33
benchmark/genomes
benchmark/simulated_data