esl-alipid(1)

NAME
esl-alipid - calculate pairwise percent identities for all sequence pairs in an MSA

SYNOPSIS
esl-alipid [options] msafile

DESCRIPTION

esl-alistat calculates the pairwise percent identity of each sequence pair in in the MSA(s) in msafile. For each sequence pair, it outputs a line of <seqname1> <seqname2> <%id> <nid> <denomid> <%match> <nmatch> <denommatch> where <%id> is the percent identity, <nid> is the number of identical aligned pairs, and <denomid> is the denominator used for the calculation: the shorter of the two (unaligned) sequence lengths. The %identity is defined as 100*nid/denomid.

The last three fields are the pairwise percent match calculation, in the pair-HMM sense of a "match state" that aligns two residues XY (whether identical or different) versus delete -Y and insert X- states that have a residue in one sequence and a gap character in the other. That is, the %match is the percentage of the alignment that consists of aligned residues as opposed to insertions or deletions in either sequence. The %match is defined as 100*nmatch/denommatch.

There are many ways that one could choose a denominator for these percentages. We always define %id using MIN(len1,len2) as the denominator. In multiple sequence alignments, you will often have short sequence fragments which may have very little overlap, or even none at all. Several ways to calculate %identity, such as ignoring columns with gaps (100* n_identities / (n_identities + n_mismatches)) , or dividing by the total alignment length (100 * n_identities / ali_len), are not robust to having overlapping fragments or long indels, because you can get spuriously high or low %id's.

For both %identity and %match calculations, alignments of a gap character in both sequences, --, aren't counted. Also, if the denominator is zero (which can happen, when two sequence fragments in the same MSA don't overlap each other), the resulting % is defined to be 0.

If msafile is - (a single dash), alignment input is read from stdin.

Only canonical residues are counted toward <nid> and <n>. Degenerate residue codes are not counted.

OPTIONS

-h  Print brief help; includes version number and summary of all options, including expert options.

--informat <s>
    Assert that input msafile is in alignment format <s>, bypassing format autodetection. Common choices for <s> include: stockholm, a2m, afa, psiblast, clustal, phylip. For more information, and for codes for some less common formats, see main documentation. The string <s> is case-insensitive (a2m or A2M both work).

--amino
    Assert that the msafile contains protein sequences.

--dna
    Assert that the msafile contains DNA sequences.

--rna
    Assert that the msafile contains RNA sequences.

SEE ALSO
http://bioeasel.org/

COPYRIGHT
Copyright (C) 2023 Howard Hughes Medical Institute
Freely distributed under the BSD open source license.

AUTHOR
http://eddylab.org