MASH-DIST(1)

πŸ’– MASH-DIST(1) πŸ’–

okay bestie, welcome to mash-dist β€” a little page from the MASH-DIST(1) manual, and honestly? it's giving distance-calculating icon. let's get into it πŸ¦‹


✨ NAME ✨

mash-dist β€” estimate the distance of query sequences to references


🌸 SYNOPSIS 🌸

mash dist [options] <reference> <query> [<query>] ...

πŸ’… DESCRIPTION πŸ’…

So what we're doing here is estimating the distance of each query sequence to the reference. no cap, that's the whole job.

Both the reference and the queries can be:

  • fasta or fastq
  • gzipped or not gzipped
  • Mash sketch files (.msh) β€” but only ones with matching k-mer sizes, okay? they gotta match. πŸ‘‘

Query files can also be files of file names (peep -l for that one). And whole files are compared by default β€” if you'd rather do individual sequences, that's -i's whole thing.

The output fields, in order, are:

  1. reference-ID
  2. query-ID
  3. distance
  4. p-value
  5. shared-hashes

periodt. πŸ’«


πŸŽ€ OPTIONS πŸŽ€

  • -h β€” Help. our fave, always there for u 🫢
  • -p <int> β€” Parallelism. This many threads will be spawned for processing. default is [1].

🌈 Input

  • -l β€” List input. Each query file contains a list of sequence files, one per line. The reference file is not affected. (the reference stays unbothered, as it should πŸ’…)

⭐ Output

  • -t β€” Table output. Heads up: it will not report p-values, but the fields will be blank if they do not meet the p-value threshold.
  • -v <num> β€” Maximum p-value to report. range is (0-1), default [1.0].
  • -d <num> β€” Maximum distance to report. range is (0-1), default [1.0].

🧚 Sketching

  • -k <int> β€” K-mer size. Hashes will be based on strings of this many nucleotides. Canonical nucleotides are used by default (see the Alphabet options below πŸ‘€). range (1-32), default [21].
  • -s <int> β€” Sketch size. Each sketch will have at most this many non-redundant min-hashes. default [1000].
  • -i β€” Sketch individual sequences, rather than whole files.
  • -w <num> β€” Probability threshold for warning about low k-mer size. range (0-1), default [0.01].
  • -r β€” Input is a read set. See the Reads options below. Incompatible with -i. 🚫

πŸ“ Sketching (reads)

  • -b <size> β€” Use a Bloom filter of this size (raw bytes or with K/M/G/T) to filter out unique k-mers. This is useful if exact filtering with -m uses too much memory. However, some unique k-mers may pass erroneously, and copies cannot be counted beyond 2. Implies -r.
lowkey important: that "some unique k-mers may pass erroneously" and "copies cannot be counted beyond 2" is real, bestie. not a drill. 😭
  • -m <int> β€” Minimum copies of each k-mer required to pass noise filter for reads. Implies -r. default [1].
  • -c <num> β€” Target coverage. Sketching will conclude if this coverage is reached before the end of the input file (estimated by average k-mer multiplicity). Implies -r.
  • -g <size> β€” Genome size. If specified, will be used for p-value calculation instead of an estimated size from k-mer content. Implies -r.

πŸ’œ Sketching (alphabet)

  • -n β€” Preserve strand (by default, strand is ignored by using canonical DNA k-mers, which are alphabetical minima of forward-reverse pairs). Implied if an alphabet is specified with -a or -z.
  • -a β€” Use amino acid alphabet (A-Z, except BJOUXZ). Implies -n, -k 9.
  • -z <text> β€” Alphabet to base hashes on (case ignored by default; see -Z). K-mers with other characters will be ignored. Implies -n.
  • -Z β€” Preserve case in k-mers and alphabet (case is ignored by default). Sequence letters whose case is not in the current alphabet will be skipped when sketching.

πŸ”₯ SEE ALSO πŸ”₯


okay that's the whole page, you ate it, you're literally a mash dist expert now πŸ’– this lil manual page is from 2019-12-13, and it's the MASH-DIST(1) one β€” go forth and calculate those distances, bestie. slay πŸŽ€βœ¨