MPIALIGN(1)

πŸ“¦ version 0.9.1, in ubuntu jammy

πŸ’– MPIALIGN β€” the manual page, but make it make sense πŸ’–

okay bestie, sit down, hydrate, because today we're learning about mpialign, a user command that does parallel local alignment of biological sequences. it's giving bioinformatics main character energy and honestly? we're obsessed. 🧬✨


🌸 SYNOPSIS 🌸

mpialign [-s scores] [-S split] [-H hblk] [-V vblk] file1 file2

like, that's the whole vibe. two files, a handful of flags, and a whole lot of DNA getting lined up. no cap. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

so mpiAlign is a local sequence aligner, and it was literally built for the big ones β€” we're talking large biological DNA sequences with more than 1Mbp (Millions of base pairs, iykyk). 🧚

it uses the Smith-Waterman exact algorithm with an affine gap cost function to pull this off. that's the whole flex. periodt. πŸ‘‘


✨ General options: ✨

  • -h β€” displays this help and then dips out (exits). classic. πŸ™ˆ
  • -s <scores> β€” here's where you hand over a comma-separated list of scores that get used while calculating alignment matrices throughout the entire program. 🌈

the list has GOT to be in this format, no quotes, no extras:

-sMATCH,MISMATCH,GAP_OPEN,GAP_EXTENSION

and it's parsed in this PRECISE order β€” so like, do not freestyle the order, bestie. also no spaces are allowed between values. 🚫

now the messy part, and I need you to hear me on this:

  • if there are any unspecified parameters, they get set to default values and a warning message is issued. (not a vibe, but okay.)
  • if you give exceeding parameters, those get discarded. πŸ’€

so be precise or be warned. literally.


πŸ’œ Stage 2 options: πŸ’œ

  • -S <split> β€” (mpialign only 🫢) this is the number of parts you want to split the alignment matrix into. after this step, a cyclic block model is applied, which subdivides each part equally between all available nodes. it's giving teamwork, it's giving divide and conquer. ✨
  • -H <hblk> β€” (mpialign only 🫢) the number of horizontal subdivisions that each node makes to its own alignment submatrix. since this value defines block width, a good choice should let two full matrix lines fit the processor's cache pages, which improves algorithm performance. so like... choose wisely for that speed, okay? πŸ”₯
  • -V <vblk> β€” (mpialign only 🫢) the number of vertical subdivisions each node makes to its alignment submatrix. this one directly affects the amount of internode communication, and here's the tea:
it is used ONLY if 'split' is set to 1. otherwise, it gets set to the number of available nodes. πŸŽ€

so if you set it and it's not being used, that's why. not you being ignored, just the rules. πŸ’…


and that's the whole page, bestie!! go align something iconic. 🌟


this little gem is version 0.9.1, dated 16. Aug 2009 β€” old money, honestly. stay slaying, stay aligned. πŸŽ€πŸ’–

πŸ“¦ where this page comes from