feat: add phylogenetic analysis CLI command and lazy distance traits

Introduce the `obikphylo` crate to support genome-vs-genome distance matrix computation and phylogenetic tree inference via Neighbor-Joining and UPGMA algorithms. Extend the `obikmer2` CLI with a new `phylo` command that exposes configurable metrics, presence thresholds, and CSV/Newick output options. Refactor `obikindex` to expose trait-based partial aggregation for efficient distance metric finalization without full matrix materialization. Update dependency graphs and remove obsolete storage modules.
This commit is contained in:
Eric Coissac
2026-08-28 20:11:13 +02:00
parent 4b6005962e
commit 635fc830d1
17 changed files with 696 additions and 97 deletions
+4
View File
@@ -1677,6 +1677,7 @@ dependencies = [
"obikindex",
"obikindexer",
"obikmerge",
"obikphylo",
"obikquery",
"obikrebuild",
"obikrope",
@@ -1712,6 +1713,7 @@ dependencies = [
name = "obikphylo"
version = "0.1.0"
dependencies = [
"kodama",
"memmap2",
"ndarray",
"obicompactvec",
@@ -1725,8 +1727,10 @@ dependencies = [
"obiskbuilder",
"obiskio",
"obisys",
"petgraph",
"rand 0.10.2",
"rayon",
"speedytree",
"tempfile",
"tracing",
"tracing-subscriber",