From 582c812fd7302f4e8952a934ecace8e2a56fbafd Mon Sep 17 00:00:00 2001 From: swalia Date: Sun, 10 Aug 2025 13:28:04 -0700 Subject: [PATCH 1/3] changed k-closest inputs --- src/tree_generation.cu | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/tree_generation.cu b/src/tree_generation.cu index 3b78084..6d65542 100644 --- a/src/tree_generation.cu +++ b/src/tree_generation.cu @@ -64,10 +64,10 @@ void parseArguments(int argc, char** argv) " 2 - force conventional NJ\n" " 3 - force divide-and-conquer") - ("placement-mode,p", po::value(), + ("--K-closest,K", po::value(), "Placement mode:\n" - " 0 - exact mode\n" - " 1 - k-closest mode (default)") + " -1 - exact mode\n" + " 10 - default") ("kmer-size,k", po::value(), "K-mer size:\n" @@ -219,8 +219,8 @@ int main(int argc, char** argv) { try {algo = vm["algorithm"].as();} catch(std::exception &e){} - std::string placemode = "1"; - try {placemode = vm["placement-mode"].as();} + std::string placemode = "10"; + try {placemode = vm["K-closest"].as();} catch(std::exception &e){} bool add = false; @@ -376,7 +376,7 @@ int main(int argc, char** argv) { MashPlacement::msaDeviceArrays.allocateDeviceArrays(fourBitCompressedSeqs, seqLengths, numSequences, params); if(algo=="1"||algo=="0"&&numSequences>=placement_thr&&numSequences=placement_thr&&numSequences Date: Sun, 10 Aug 2025 13:31:10 -0700 Subject: [PATCH 2/3] updated k-closest details --- docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index f431a13..3703d05 100644 --- a/docs/index.md +++ b/docs/index.md @@ -115,7 +115,7 @@ cd bin | `-I`, `--input-file` | Input file path (required):
PHYLIP for distance matrix, FASTA for MSA or raw sequences | | `-O`, `--output-file` | Output file path (required) | | `-m`, `--algorithm` | Algorithm selection:
`0` - auto (default)
`1` - force placement
`2` - force NJ
`3` - divide-and-conquer | -| `-p`, `--placement-mode` | Placement mode:
`0` - exact
`1` - k-closest (default) | +| `-K`, `--K-closest` | Placement mode:
`-1` - exact
`10` - default | | `-k`, `--kmer-size` | K-mer size (Valid range: 2–15, default: 15) | | `-s`, `--sketch-size` | Sketch size (default: 1000) | | `-d`, `--distance-type` | Distance type:
`1` - uncorrected
`2` - JC (default)
`3` - Tajima-Nei
`4` - K2P
`5` - Tamura
`6` - Jinnei | From 602bbe6777b9fe3695dbf52330d9f4fdf90729f5 Mon Sep 17 00:00:00 2001 From: swalia Date: Sun, 10 Aug 2025 23:54:43 -0700 Subject: [PATCH 3/3] updated DIPPER description --- README.md | 3 ++- docs/index.md | 6 ++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 31812d2..8015925 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,8 @@ ## Introduction -DIPPER (**DI**stance-based **P**hylogenetic **P**lac**ER**) is a tool for ultrafast and ultralarge phylogenetic reconstruction on GPUs, designed to maintain high accuracy with a minimal memory footprint. DIPPER introduces several innovations, including a divide-and-conquer strategy, a new placement algorithm, and an on-the-fly distance calculator that dynamically enables selective distance computation. DIPPER supports tree reconstruction with zero violations even from non-additive distance matrices and a faster heuristic mode with significantly fewer violations than baseline tools. +DIPPER (**DI**stance-based **P**hylogenetic **P**lac**ER**) is a tool for ultrafast and ultralarge phylogenetic reconstruction on GPUs, designed to maintain high accuracy with a minimal memory footprint. DIPPER introduces several innovations, including a divide-and-conquer strategy, a new placement algorithm, and an on-the-fly distance calculator that dynamically enables selective distance computation. In addition, DIPPER addresses the common issue of evolutionary distance underestimation observed in earlier methods—significantly reducing it in its default mode and offering a strict mode that completely eliminates the underestimation. + ## Installation NOTE: DIPPER is currently supported on systems with NVIDIA GPUs only. Support for additional platforms, including AMD GPUs and CPU-only options for x86-64 and ARM64 architecture, will be added soon. Stay tuned! diff --git a/docs/index.md b/docs/index.md index 3703d05..a7d8f8e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -5,16 +5,14 @@ ## Introduction ### Overview -DIPPER (**DI**stance-based **P**hylogenetic **P**lac**ER**) is an ultrafast tool designed to reconstruct ultralarge phylogenies. + +DIPPER (**DI**stance-based **P**hylogenetic **P**lac**ER**) is a tool for ultrafast and ultralarge phylogenetic reconstruction on GPUs, designed to maintain high accuracy with a minimal memory footprint. DIPPER introduces several innovations, including a divide-and-conquer strategy, a new placement algorithm, and an on-the-fly distance calculator that dynamically enables selective distance computation. In addition, DIPPER addresses the common issue of evolutionary distance underestimation observed in earlier methods—significantly reducing it in its default mode and offering a strict mode that completely eliminates the underestimation.
Figure 1: Overview of DIPPER algorithm
-### Key Features - -#### TBA ## Installation Methods