Add sparse bit matrix support and enhance dimension logging

Introduce a `Sparse` variant for `PersistentBitMatrix` with full method dispatch and implementations of `ColumnWeights` and `BitPartials` traits. Refactor distance matrix computations in layered stores to eagerly collect results before reduction, enabling reliable dimension tracking. Add comprehensive debug logging across phylo commands and distance modules to report matrix shapes and flag out-of-bounds indices during CSV iteration.
This commit is contained in:
Eric Coissac
2026-08-17 11:24:23 +02:00
parent dbb969f087
commit 11476bc557
6 changed files with 225 additions and 43 deletions
+1
View File
@@ -121,6 +121,7 @@ impl KmerIndex {
)));
}
};
tracing::info!("distance matrix final: {}x{}", matrix.shape()[0], matrix.shape()[1]);
let shared = if shared_kmers {
let (inter, _) = BitPartials::partial_jaccard(&global);