Skip to content

Differences between 1 & 2

Cuttlefish 1 and Cuttlefish 2 ship in the same cuttlefish build executable. Which one runs is decided by the arguments you pass.

  • Passing --read or --ref invokes Cuttlefish 2.
  • Passing neither invokes Cuttlefish 1.
  • Input types. Cuttlefish 1 applies only to assembled reference sequences. Cuttlefish 2 applies to both sequencing reads and reference sequences.
  • Output formats. For reference sequences, Cuttlefish 1 supports the GFA output formats; Cuttlefish 2 does not support them yet. Both emit FASTA.
Cuttlefish 1Cuttlefish 2
Selected bypassing neither --read nor --refpassing --read or --ref
Reference sequences (FASTA)yesyes
Sequencing reads (FASTQ)noyes
FASTA outputyesyes
GFA 1.0 / 2.0 outputyesnot yet
Reduced GFA outputyesnot yet
Sequence tilingsyesnot yet
Frequency cutoff (-c)n/ayes
Path cover (--path-cover)n/ayes

The Rust Cuttlefish 3 — the current generation and the canonical implementation — is a separate implementation again, with colored graph construction and a positional notion of color that neither C++ version has. It does not currently emit GFA. See which version should I use?.