esl-alimap(1)
π esl-alimap β the Easel manual, bestie edition π
okay so first of all, hi, welcome to esl-alimap(1) from the Easel Manual. yes it's a real manpage, yes it's about mapping two alignments to each other, and yes I'm gonna make it make sense. grab a snack. π
β¨ NAME β¨
esl-alimap β map two alignments to each other. that's it. that's the whole vibe. π
πΈ SYNOPSIS πΈ
esl-alimap [options] msafile1 msafile2
two files, one dream. π¦
π DESCRIPTION π
okay so esl-alimap is a highly specialized application β like, it does one thing and it does it iconically β and that thing is determining the optimal alignment mapping of columns between two alignments of the same sequences.
so what even is an alignment mapping? it defines, for every column in alignment 1, a matching column in alignment 2. and the number of residues in the aligned sequences that are in common between those two matched columns? those are considered 'shared' by those two columns. periodt.
for example β and stay with me here β if the nth residue of sequence i occurs in alignment 1 column x and alignment 2 column y, then the only mapping of alignment 1 and 2 that would correctly map and share that residue is one that includes column x mapping to column y. it's giving soulmates. π
the optimal mapping of the two alignments is the mapping which maximizes the sum of shared residues between all pairs of matching columns. and the fraction of total residues that are shared? that gets reported as the coverage in the esl-alimap output. slay.
not me needing to say this but: only the first alignments inmsafile1andmsafile2will be mapped to each other. if the files contain more than one alignment, all alignments after the first will be ignored. the rest are getting ghosted. π
the two alignments (one from each file) must contain exactly the same sequences (if they were unaligned, they'd be identical) in precisely the same order. also they must be in Stockholm format. no substitutions, bestie. π
the output of esl-alimap differs depending on whether one or both of the alignments contain reference (#=GC RF) annotation. if so, the coverage for residues from nongap RF positions will be reported separately from the total coverage. two numbers, both valid, we love a split report. β¨
esl-alimap uses a dynamic programming algorithm to compute the optimal mapping. the algorithm is similar to the Needleman-Wunsch-Sellers algorithm β but plot twist β the scores used at each step of the recursion are not residue-residue comparison scores, they're the number of residues shared between two columns. iconic behavior honestly. π₯
now, the --mask-a2a <f>, --mask-a2rf <f>, --mask-rf2a <f>, and --mask-rf2rf <f> options create 'mask' files that pertain to the optimal mapping in slightly different ways. a mask file consists of a single line, of only '0' and '1' characters. these denote which positions of the alignment from msafile1 map to positions of the alignment from msafile2 as described below for each of the four respective masking options. these masks can be used to extract only those columns of the msafile1 alignment that optimally map to columns of the msafile2 alignment using the esl-alimask miniapp.
and here's the lil catch bestie π«Ά β to extract the corresponding set of columns from msafile2 (that optimally map to columns of the alignment from msafile1), it is necessary to rerun the program with the order of the two msafiles reversed, save new masks, and use esl-alimask again. yes, you gotta do it twice. it's a two-pass situation. the way that symmetry works. π
π OPTIONS π
-hβ print brief help; includes version number and summary of all options. your lil emergency exit when you forget everything. π-qβ be quiet; don't print information the optimal mapping of each column, only report coverage and potentially save masks to optional output files. lowkey the introvert flag. π€«--mask-a2a <f>β save a mask of'0's and'1's to file<f>. a'1'at position x means that position x of the alignment frommsafile1maps to an alignment position in the alignment frommsafile2in the optimal map. alignment-to-alignment, the classic. β¨--mask-a2rf <f>β save a mask of'0's and'1's to file<f>. a'1'at position x means that position x of the alignment frommsafile1maps to a nongap RF position in the alignment frommsafile2in the optimal map. alignment-to-RF, fancy. π--mask-rf2a <f>β save a mask of'0's and'1's to file<f>. a'1'at position x means that nongap RF position x of the alignment frommsafile1maps to an alignment position in the alignment frommsafile2in the optimal map. RF-to-alignment, the reverse queen. π--mask-rf2rf <f>β save a mask of'0's and'1's to file<f>. a'1'at position x means that nongap RF position x of the alignment frommsafile1maps to a nongap RF position in the alignment frommsafile2in the optimal map. RF-to-RF, the most exclusive club. π--submap <f>β specify that all of the columns from the alignment frommsafile1exist identically (contain the same residues from all sequences) in the alignment frommsafile2. this makes the task of mapping trivial. however, not all columns ofmsafile1must exist inmsafile2. save the mask to file<f>. a'1'at position x of the mask means that position x of the alignment frommsafile1is the same as position y ofmsafile2, where y is the number of'1's that occur at positions<= xin the mask. easy mode unlocked. β--aminoβ assert thatmsafile1andmsafile2contain protein sequences. π§¬--dnaβ assert thatmsafile1andmsafile2contain DNA sequences. π§¬--rnaβ assert that themsafile1andmsafile2contain RNA sequences. π§¬
π¦ SEE ALSO π¦
http://bioeasel.org/ β go look, it's the whole ecosystem, iykyk. π
π COPYRIGHT π
Copyright (C) 2020 Howard Hughes Medical Institute. Freely distributed under the BSD open source license.
no cap, that's a genuinely good license. π«Ά
π AUTHOR π
http://eddylab.org</purl> β ok technically it's http://eddylab.org, no typos here bestie, the eddy lab said what they said. π
and that's the whole page!! this was Easel 0.48, from Nov 2020, and it's the esl-alimap(1) manual β thanks for reading all the way to the bottom, you're literally the main character. bye bestie!! πβ¨πΈπ¦π
π¦ where this page comes from
- fedora 43: hmmer-easel 3.3.2-11.fc43 Β· GPL-3.0-only
- fedora 44: hmmer-easel 3.3.2-12.fc44 Β· GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms