PSA2MSA(1)

πŸŽ€ PSA2MSA(1) β€” the pftools girlies' guide πŸŽ€

okay bestie, welcome to psa2msa, part of the pftools package, and no cap this little icon does exactly one job and does it gorgeously. let's get into it πŸ’…


✨ NAME ✨

psa2msa β€” reformat a PSA file into a Pearson/Fasta multiple sequence alignment file πŸ¦‹


✨ SYNOPSIS ✨

psa2msa   [ -dhlpu ] [ -M insert_len ] [ -W width ] [ psa_file | - ] [
          parameters ]

✨ DESCRIPTION ✨

so here's the vibe: psa2msa takes a psa(5) formatted profile-sequence alignment file and reformats it into a Pearson/Fasta-formatted multiple sequence alignment file. the glow-up goes straight to standard output, obviously, because we don't do files without being asked πŸ’–

psa_file holds alignments of several sequence segments to the same profile, all in psa(5) format. and like, where does a file like that even come from? typically from pfsearch(1) or pfscan(1) when you hit them with option -x. iykyk ✨

once you've got your output, you can convert it into other formats (e.g. MSF) using the public domain program readseq β€” available from ftp://ftp.bio.indiana.edu/molbio/readseq β€” or just use it directly with pfmake(1) or pfw(1). versatile queen πŸ‘‘

and if you pass - instead of a filename? then the psa(5) alignment gets read from standard input. stdin besties, rise 🫢


✨ OPTIONS ✨

  • psa_file β€” the input multiple sequence alignment. the content has to be in psa(5) format, no exceptions. and if you swap the filename out for a -, psa2msa reads the input alignment from stdin instead πŸ’«
  • -d β€” replace periods . with dashes - on output. periodt (literally) πŸ’…
  • -h β€” display the usage help text. when in doubt, ask for help, we love a self-aware icon πŸ™ˆ
  • -l β€” replace upper case letters with lower case letters on output. lowercase era, soft launch 🌸
  • -p β€” replace dashes - with periods . on output. the reverse of -d, we contain multitudes πŸŽ€
  • -u β€” replace lower case letters with upper case letters on output. LOUD era, main character energy πŸ‘‘
  • -M insert_len β€” maximal length of an insertion. here's the tea: if the real length of an insertion exceeds this value, the excess number of residues gets deleted from the center of the insertion 😭. a negative value of insert_len means no upper limit for the length of an insertion (i.e. no residues will be deleted from an insertion). and if insert_len is zero, all insert positions will be removed. setting an insertion length limit helps keep the resulting alignment at a manageable size, bestie β€” your disk will thank you 🫢
    • Type: integer
    • Default: -1
⚠️ Note: the meaning of the value 0 for this parameter has been changed compared to version 2.2 of the pftools package. not me being dramatic, it's just true πŸ’€
  • -W width β€” set the alignment output width. the value of width specifies how many residues get output on one line. pick your aesthetic ✨
    • Type: integer
    • Default: 60

✨ PARAMETERS ✨

πŸ’Œ Note: for backwards compatibility, release 2.3 of the pftools package will parse the version 2.2 style parameters, but these are deprecated and the corresponding option (refer to the options section) should be used instead. it's giving legacy, we're moving on πŸ¦‹
  • M=# β€” maximal insertion length. use option -M instead. (we said what we said πŸ’…)
  • W=# β€” output width. use option -W instead. (again, bestie, -W πŸ™ˆ)

✨ EXAMPLES ✨

  1. let's cook πŸ”₯
pfsearch -bx ecp.prf CVPBR322 | psa2msa -du | readseq -p -fMSF >
ecp.msf

generates a multiple sequence alignment of predicted E. coli promoters on both strands of plasmid pBR322. the file ecp.prf contains a profile for E. coli promoters. the file CVPBR322 contains EMBL entry J01749|CVPBR322. the result in ecp.msf can further be processed by GCG programs accepting MSF files as input. ate and left no crumbs πŸ‘‘


✨ EXIT CODE ✨

on successful completion of its task, psa2msa will return an exit code of 0 β€” the slay outcome ⭐

if an error occurs, a diagnostic message will be output on standard error and the exit code will be different from 0. and when conflicting options were passed to the program but the task could nevertheless be completed, warnings will be issued on standard error. not a full crash, just a gentle read πŸ’€


✨ SEE ALSO ✨

pfscan(1), pfsearch(1), pfmake(1), pfw(1), psa(5), xpsa(5)

go read the whole friend group, they're all iconic 🫢


✨ AUTHOR ✨

the pftools package was developed by Philipp Bucher. any comments or suggestions should be addressed to <pftools@sib.swiss> πŸ’Œ


and that's the whole page, bestie! this was pftools 2.3, dated August 2003 β€” yeah she's vintage, and vintage is forever βœ¨πŸŽ€πŸ’–

πŸ“¦ where this page comes from