| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Cuttlefish 3 constructs uncolored and colored compacted de Bruijn graphs from sequencing reads or reference sequences. It is a parallel, external-memory tool designed for collections that are too large to keep entirely in RAM — it has built the colored graph of 150,000 bacterial genomes on a single machine. This repository holds the Rust implementation, which is the canonical and forward-looking implementation of Cuttlefish 3.
Version 3.0.2. Feature-complete and validated on reference and read inputs, uncolored and colored, for odd k from 3 to 63. The major version tracks the product generation, so a backward-incompatible change to the outputs or the command line bumps the minor version and is called out in the changelog.
Prebuilt binaries for Linux and macOS (x86-64 and arm64) are attached to each GitHub release, Homebrew, or via Bioconda:
Homebrew:
brew install cuttlefishBioconda
conda install -c bioconda cuttlefishWith a Rust toolchain (1.91 or newer), install from crates.io or build from source:
cargo install cuttlefish-rs-cli
# tuned to the installing machine's CPU (fastest, not portable):
RUSTFLAGS="-C target-cpu=native" cargo install cuttlefish-rs-cligit clone https://github.com/COMBINE-lab/cuttlefish.git
cd cuttlefish
cargo build --release # binary at target/release/cuttlefish# uncolored compacted graph from references
cuttlefish build --ref --seq genome.fa -k 31 -t 16 -w work/ -o graph
# colored graph over a collection: each listed path is one source color
cuttlefish build --ref --list genomes.list -k 31 -t 32 -w work/ -o graph --colorThe binary carries six commands: build, compare, colors (dump/sets/grep), cleanup, help, and version.
Full documentation — commands, output formats, color queries, resource control, and architecture — is at https://combine-lab.github.io/cuttlefish/. A single-page version lives in docs/index.md, and the engineering record in docs/engineering/.
The C++ Cuttlefish 1 and 2 — the earlier product generations, with their own papers and output formats — live on the cuttlefish-1-2 branch and are documented in the C++ section of the website. The initial C++ implementation of the Cuttlefish 3 algorithm, which preceded this Rust implementation, is preserved on the cuttlefish3-cpp branch.
If you use Cuttlefish 3, please cite the RECOMB 2026 proceedings paper:
Jamshed Khan, Laxman Dhulipala, Prashant Pandey, and Rob Patro. Fast and Scalable Parallel External-Memory Construction of Colored Compacted de Bruijn Graphs with Cuttlefish 3. Proceedings of RECOMB 2026; preprint: bioRxiv (2025), v2. https://doi.org/10.1101/2025.02.02.636161
Cuttlefish is distributed under the BSD 3-Clause License. See LICENSE.
| Back | FazBrowse Home | New Git URL |