PSA(5)

✨ PSA(5) ✨

okay bestie, welcome to the psa manual page πŸ’– this is a section 5 situation (file formats, iykyk), and it's giving biological sequence alignment file format realness. buckle up πŸŽ€


🌸 NAME 🌸

psa β€” biological sequence alignment file format. that's it, that's the name, she's simple but she's iconic πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

so like, psa is an output format that the pftools package uses to describe alignments between biological sequences (DNA or protein, pick your fighter 🧬) and PROSITE profiles.

and yes, psa is apparented to the widely used biological sequence file format fasta β€” they're literally cousins. but here's the thing: psa doesn't only describe a biological sequence. it's especially used to include info about alignments between a motif descriptor (like a PROSITE profile, hi πŸ‘‹) and a given sequence. that info lives in the header, and it's also reflected in the structure of the sequence that follows the header line. no cap. ✨


πŸ’œ SYNTAX πŸ’œ

every sequence in a psa alignment file or output must be preceded by a fasta header line, periodt.

the general syntax of such a fasta header line goes like this:

>seq_id [ free_text ]
  • the header must start with a '>' character, which is directly followed by the seq_id field πŸ”₯
  • that seq_id field? most programs interpret it as the sequence's identifier and/or accession number. it ends at the first whitespace character it bumps into.
  • the pftools programs will use the free_text to add information about the match score, position and description of the sequence or motif. please go check the man page of the corresponding programs for more deets about their output formats 🫢
  • the header can only extend over one line. the lines following it β€” all the way up to a new line starting with a '>' character, or the end of the file β€” get interpreted as sequence data. πŸ’«

then, the line following the header starts the alignment data between a sequence and a PROSITE profile. this data can span over several lines of different lengths, she's flexible like that.

the data is formed by upper or lower-case characters of the corresponding sequence alphabet (DNA or protein). the gap characters . and - are also supported πŸŽ€

the alignment always has at least the length of the matching profile. insertions or deletions detected during the motif/sequence alignment step will vary the length of the data reported, and you can identify them using these conventions:

  • upper-case character β€” any upper-case character of the sequence alphabet identifies a match position between the sequence and the motif descriptor πŸ‘‘
  • lower-case character β€” a lower-case character of the sequence alphabet symbolizes an insertion in the sequence compared to the motif descriptor 🌈
  • '-' (dash) character β€” a '-' character in the output identifies the presence of a deletion in the sequence compared to the motif descriptor πŸ’€

⭐ EXAMPLES ⭐

(1)

>YD28_SCHPO 556 pos. 291 - 332 sp|Q10256|YD28_SCHPO
PTDPGlnsKIAQLVSMGFDPLEAAQALDAANGDLDVAASFLL--

this is an example of the output produced by pfsearch(1) using the '-x' option (i.e. psa output, we love a format flag πŸ’…).

the first line starting with the '>' character is the fasta header. it also contains information about the raw score of the alignment as well as its position in the input sequence. ✨

on the next line you find the alignment proper. starting at position 6, we can find an insertion of the 'lns' residues in the sequence compared to the motif. the last two positions of the motif are not present in the sequence (i.e. they are deleted), and that's indicated by the presence of two '-' (dash) characters at the end of the alignment. slay. 😭


πŸŽ€ NOTES πŸŽ€

(1) the xpsa(5) format defines a more strict syntax of the header line, allowing the exchange of information between different sequence analysis tools. it uses keyword=value pairs to annotate the current match between a sequence and a motif descriptor. this syntax can be easily parsed and extended, according to the needs of bioinformatic tools. πŸ‘‘

(2) the current implementation of the pftools package does not use the '.' (dot) character in the psa output. nevertheless, psa2msa(1) will read it and interpret it in the same manner as the '-' (dash) character. so like, she's tolerant, she's forgiving 🫢


🌈 SEE ALSO 🌈

xpsa(5), pfsearch(1), pfscan(1), pfw(1), pfmake(1), psa2msa(1) β€” go read the whole squad, fr fr πŸ’–


πŸ’– AUTHOR πŸ’–

this manual page was originally written by Volker Flegel. πŸ’«

the pftools package was developed by Philipp Bucher. πŸ‘‘

any comments or suggestions should be addressed to <pftools@sib.swiss> β€” yes, actually email them, don't just lurk πŸ™ˆ


and that's the whole vibe check bestie, this page is from pftools 2.3, dated April 2003, and she still ate. πŸ’…βœ¨πŸŽ€ bye now πŸ¦‹

πŸ“¦ where this page comes from