MASH-SCREEN(1)

✨ MASH-SCREEN(1) ✨

okay bestie, welcome to mash-screen β€” the section of the mash manual (yes, that's mash(1), we'll get there) that answers the big question: πŸ’…

is this lil query sequence actually IN this giant pool of sequences, or is it just cosplaying?

🌸 NAME 🌸

mash-screen β€” figure out whether your query sequences are hanging out inside a bigger pool of sequences. are they in the group chat or not, fr fr. 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

mash screen [options] <queries>.msh <pool> [<pool>] ...

πŸ’– DESCRIPTION πŸ’–

So here's the tea. This command determines how well your query sequences are contained within a pool of sequences. ✨

Your queries must be formatted as a single Mash sketch file (.msh), and you gotta make it with the mash sketch command first. No shortcuts, bestie, it's giving "prerequisite." 😭

The <pool> files though? Those can be literally whatever:

  • contigs or reads
  • fasta or fastq
  • gzipped or not
  • and you can even pass - for <pool> to read from standard input πŸ‘‘

The <pool> sequences are assumed to be nucleotides, and they'll be 6-frame translated if your <queries> are amino acids. (yes, it just knows. iconic behavior.)

The output fields are:

[identity, shared-hashes, median-multiplicity, p-value, query-ID, query-comment]

and median-multiplicity is computed for shared hashes, based on how many times those hashes showed up within the pool. that's the whole vibe check. πŸŽ€


πŸ’… OPTIONS πŸ’…

  • -h β€” Help. the classic. when in doubt, ask for help, no shame in it. 🫢
  • -p <int> β€” Parallelism. This many threads will be spawned for processing. it's giving main character energy, multiplied β€” more threads, more speed. πŸ”₯
  • -w β€” Winner-takes-all strategy for identity estimates. πŸ† So here's how it goes: after counting hashes for each query, hashes that appear in multiple queries get removed from all except the one with the best identity (and ties get broken by the larger query), and then the other identities get reduced. This removes output redundancy and gives you a rough compositional outline. survival of the fittest hash, periodt.

πŸ“ Output πŸ“

  • -i <num> β€” Minimum identity to report. It's inclusive unless you set it to zero, in which case only identities greater than zero get reported (i.e. only ones with at least one shared hash). And if you set it to -1, it'll output everything. everything. all of it. no filter. πŸ™ˆ
  • -v <num> β€” Maximum p-value to report. that's it, that's the setting. πŸŽ€

🌈 SEE ALSO 🌈

  • mash(1) β€” the parent manual, the source of all lore, go read it bestie πŸ’œ

πŸ’€ reminder, because it matters: the queries have to be a single .msh sketch file made with mash sketch. if you show up with anything else it's not gonna work, and that's not me being mean, that's just the rules. 😭

k byeeee, this was mash-screen(1) from the mash manual, dated 2019-12-13. go slay your containment analysis, bestie, you've got this πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ‘‘