MASH-TRIANGLE(1)

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

okay bestie, welcome to the mash-triangle manual page, straight out of section 1 of the manual, and no cap it's a good one πŸ¦‹


✨ NAME ✨

mash-triangle β€” estimate a lower-triangular distance matrix πŸ‘‘


🌸 SYNOPSIS 🌸

mash triangle [options] <seq1> [<seq2>] ...

πŸŽ€ DESCRIPTION πŸŽ€

So what this does, bestie, is it estimates the distance of each input sequence to every other input sequence. The way it gives it to you is a lower-triangular distance matrix, written out in relaxed Phylip format πŸ’…

Your input sequences can be literally any of these:

  • fasta
  • fastq
  • gzipped or not (either one, we don't judge) 🫢
  • Mash sketch files (.msh) β€” but only ones with matching k-mer sizes, okay? mismatched k-mer sizes is not the vibe.

Input files can also be files of file names β€” peep -l for that one πŸ‘€

And if you hand it more than one input file, then by default it compares whole files against each other. Want it to compare individual sequences instead? That's -i. iykyk ✨


πŸ’… OPTIONS πŸ’…

  • -h β€” Help. the classic. ask and ye shall receive πŸ™ˆ
  • -p <int> β€” Parallelism, bestie. This many threads will be spawned for processing. Default is [1]. go on, give it more, she can handle it πŸ”₯

πŸ¦‹ Input πŸ¦‹

  • -l β€” List input. Each query file contains a list of sequence files, one per line. The reference file is not affected by this. periodt.

🌈 Output 🌈

  • -C β€” Use comment fields for sequence names instead of IDs. cute names, no numbers πŸ’–
  • -E β€” Output an edge list instead of a Phylip matrix. The fields are [seq1, seq2, dist, p-val, shared-hashes]. iconic format honestly ✨
  • -v <num> β€” Maximum p-value to report in the edge list. Implies -E. Range is (0-1), default [1.0].
  • -d <num> β€” Maximum distance to report in the edge list. Implies -E. Range is (0-1), default [1.0].

🧚 Sketching 🧚

  • -k <int> β€” K-mer size, babes. Hashes will be based on strings of this many nucleotides. Canonical nucleotides are used by default β€” go look at the Alphabet options below for the tea. Range is (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. This is the one you want for multi-fastas of single-chromosome genomes, or for pair-wise gene comparisons. so specific, so useful πŸ’œ
  • -w <num> β€” Probability threshold for warning about low k-mer size. Range (0-1), default [0.01] πŸ‘€
  • -r β€” Input is a read set. Go check the Reads options below. Incompatible with -i β€” pick a lane bestie, you cannot have both 🚫

πŸ“ 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. Super useful if exact filtering with -m is eating too much memory. But heads up: some unique k-mers may pass erroneously, and copies cannot be counted beyond 2. Implies -r. ⚠️
  • -m <int> β€” Minimum copies of each k-mer required to pass the 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 you specify it, it'll 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 the alphabetical minima of forward-reverse pairs. Implied if an alphabet is specified with -a or -z. 🧬
  • -a β€” Use the 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 🌟

  • mash(1) β€” go read that one too, bestie, they're a set 🫢

and that's the whole page!! go forth and triangle your distances, you absolute main character πŸ’…βœ¨

this page is from the MASH-TRIANGLE(1) manual, dated 2019-12-13 β€” yeah she's an oldie but a goodie, still slaying after all this time πŸ‘‘πŸ’–