mcxdeblast(1)

πŸ“¦ version 14-137, in ubuntu jammy

πŸ’… mcxdeblast β€” the manual, but make it make sense πŸ’…

okay bestie, welcome to mcxdeblast(1), a USER COMMANDS situation, and honestly? it's giving "tiny tool, huge slay". this is the manual page for mcxdeblast. let's get into it ✨


✨ NAME ✨

mcxdeblast β€” parse BLAST files and stream output directly into mcl or write mcxassemble input.

like. that's the whole job description. parse BLAST, feed mcl, or make files for mcxassemble. no cap. πŸ’–


🌸 SYNOPSIS 🌸

mcxdeblast file-name

mcxdeblast [--score=<b|e|r> (bit scores|e-values|normalize bit score)]
[--m9 (expect BLAST column format)] [--out <fname> (output file)]
[--line-mode abc (write ID1 ID2 score format)] [--sort=<a|o>
(alphabetic|occurrence sorting)] [--xi-dat=<suf> (strip <suf> from file-
name)] [--xo-dat=<suf> (add <suf> to base name)] [--bcut=<val> (bit score
cutoff)] [--ecut=<val> (E-value cutoff)] [--rcut=<val> (raw value
cutoff)] [--tab=<fname> (tab file)] <file-name>

so you either just hand it a file-name and vibe, or you go full main-character with a whole pile of flags. both are valid πŸ¦‹


πŸŽ€ DESCRIPTION πŸŽ€

mcxdeblast parses BLAST files. that's the tea. β˜•

okay so, stream mode: the output can be streamed directly to mcl by using the mcxdeblast --line-mode=abc option and then equipping mcl with either --abc or --expect-abc. consider this the easy, lightweight and fast track. this functionality was recently acquired by mcl, so like… it's new-ish, be nice to it πŸ₯Ί

then there's assemble mode, which is the classic and slightly more heavy-handed one. in this mode mcxdeblast creates output files suitable for use by mcxassemble. and mcxassemble can in turn create input suitable for mcl. this is the mode in which mcxdeblast is employed by mclblastline. it's the whole pipeline, bestie πŸ’«


🌊 STREAM MODE 🌊

enter stream mode by specifying --line-mode=abc. use --m9 if the input is in columnar output. pipe the result to a file or directly to mcl. example invocations can be found in the mcl manual.

that's it. that's the mode. simple, clean, iconic. πŸ’…

🧩 ASSEMBLE MODE 🧩

if the input file is named iput, mcxdeblast will by default create files iput.hdr, iput.raw, iput.tab, iput.map, and iput.err. five files. a whole little family. 🫢

here's the breakdown, bestie:

  • the hdr file contains information about the number of nodes found. it will be read by mcxassemble.
  • the raw file contains the co-occurrence scores between different nodes (peptides), also to be read by mcxassemble. the co-occurrence scores are in terms of mcl indentifiers, which are subjected to rearranging by mcxassemble in order to correctly align them with the tab file.
  • the tab file contains bindings between mcl identifiers (after rearranging as specified in the map file) and the BLAST labels (peptide identifiers). refer to the manual of mcxassemble for the syntax of a tab file.
  • the err file contains a list of any errors encountered. 😭 (hopefully empty, but you know how it is)
  • the map file β€” it's the one doing the rearranging-specifying in the bullet above. she's important, even if she's shy about it.

now. plot twist β€” if the --tab=fname option is used, mcxdeblast changes its behaviour. it will read the file fname, and use the bindings found therein. it will no longer output any of the hdr, map, or tab files. the hdr file should be provided by the same application that generated the specified tab file, and the map file should no longer be necessary (it might be convenient though and perhaps the future will bring a new --map option). πŸ‘€ foreshadowing?? maybe.

the --tab=fname option can be convenient e.g. if you split a BLAST job over multiple machines and want to apply mcxdeblast to each of the subresults. you do this by generating a single central tab file in advance. then provide each instance of mcxdeblast with this tab file. each instance will generate a raw file. the respective raw files can simply be concatenated and fed to mcxassemble using its -raw option. additionally, a hdr file has to be specified for mcxassemble using its -hdr option. the syntax of hdr files is described in the mcxassemble manual. currently there is usually only one variable in the hdr file, which is the number of bindings listed in the tab file. this number, in turn, should equal the total number of different peptides encountered in the BLAST input. math checks out, we love a consistent number ✨


πŸ‘‘ OPTIONS πŸ‘‘

every single one, bestie. we're not skipping a single flag. not one. πŸŽ€

  • --tab=<fname> (tab file) β€” specify a tab file to use, rather than automatically generating one. πŸ—‚οΈ
  • --out <fname> (output file) β€” specify the name for the output file. naming rights, you have them. πŸ’–
  • --score=<b|e|r> (bit scores|e-values|norm bit score) β€” specify whether to use bit scores, E-values, or bit scores normalized by length of the HSP. 🎯
  • --sort=<a|o> (alphabetic|occurrence sorting) β€” specify how to sort labels. pick your vibe: alphabetical or by occurrence. ✨
  • --m9 (expect BLAST column format) β€” use this option to parse BLAST output formatted with the -m 9 option. πŸ“Š
  • --line-mode=abc (write ID1 ID2 SCORE format) β€” use this to stream output directly into mcl. here abc is a literal; --line-mode may acquire other line output modes. (so like, watch this space πŸ‘€)
  • --xi-dat=<suf> (strip <suf> from <file-name>) β€” if set, the suffix <suf> is stripped from file-name in order to obtain the base name for output. if <file-name> does not end with suffix, it is assumed to be the base name, and <suf> is added in order to obtain the (real) file-name. sneaky little bidirectional behaviour, we love her. πŸ”„
  • --xo-dat=<suf> (add <suf> to base name) β€” attaches the suffix to the base name. use this to distinguish between different parses. one might for example use --score=b --bcut=5 --xo-dat=b. 🏷️
  • --bcut=<val> (bit score cutoff) β€” bit scores below the cutoff value are ignored. this triggers the output of bit scores and ignores all other values. βœ‚οΈ
  • --ecut=<val> (E-value cutoff) β€” E-values below the cutoff value are ignored. this triggers the output of E-values and ignores all other values. βœ‚οΈ
  • --rcut=<val> (raw value cutoff) β€” raw values below the cutoff value are ignored. this triggers the output of raw values and ignores all other values. βœ‚οΈ
notice how each of the three cutoffs triggers its own output type and ignores all other values. that's not a suggestion, that's the behaviour. πŸ’…

πŸ’œ AUTHOR πŸ’œ

Stijn van Dongen. Jason Stajich implemented the --m9 option. Abel Ureta-Vidal and Dinakarpandian Deendayal contributed helpful comments and fixes. collab era, we love to see it 🫢


πŸ¦‹ SEE ALSO πŸ¦‹

mclblastline, mcxassemble, mcl, clmformat.

go read those too, bestie, the whole squad is worth knowing πŸ’–


and that's the whole page!! this was mcxdeblast version 14-137, dated 16 May 2014 β€” yes she's a 2014 icon and she still serves πŸ‘‘βœ¨ mwah, go parse some BLAST files, you've got this πŸŽ€πŸŒˆπŸ’…

πŸ“¦ where this page comes from