esl-alimerge(1)
π esl-alimerge β the Easel Manual, bestie edition π
okay so you found esl-alimerge and you're like "what does this do" and honestly? it's giving alignment matchmaker. it merges multiple alignments into one, using their reference (RF) annotation as the vibe check. part of the Easel crew. let's get into it π«Ά
β¨ NAME β¨
esl-alimerge β merge alignments based on their reference (RF) annotation π
π¦ SYNOPSIS π¦
esl-alimerge [options] alifile1 alifile2
(merge two alignment files)
esl-alimerge --list [options] listfile
(merge many alignment files listed in a file)
like, either you hand it two alignment files directly, or you hand it a list of them. two moods, both iconic β¨
πΈ DESCRIPTION πΈ
esl-alimerge reads more than one input alignment, merges them into a single alignment, and outputs it. that's the whole job. simple, effective, main character energy π
the rules of the game (input requirements)
- all input alignments must be in Stockholm format. no exceptions, no cap.
- all alignments must have reference (
#=GC RF) annotation. if you don't have it, this whole thing falls apart π - that RF annotation has to be identical in all alignments once you remove the gap characters from it β and those gap characters are
'.','-', and'_'.
why does that matter? because it means alignments with different numbers of total columns can still be merged together, as long as the RF annotation lines up. think alignments made by successive runs of the cmalign program from the INFERNAL package, all using the same CM. that's the classic use case, iykyk.
oh and heads up: columns that have a gap character in the RF annotation are called insert columns. remember that, it comes up again π
what happens to your sequences
all sequence data in all input alignments will be included in the output alignment, no matter what output format you pick (see --outformat down below).
however β and this is the part that lowkey surprises people β sequences in the merged alignment will usually have more gaps ('.') than they did in their own original input alignments. why? because esl-alimerge has to add 100% gap columns to each individual input alignment so that insert columns from the other input alignments have somewhere to live in the merged result. it's making room. it's being polite. it's giving host energy π
annotation transfer (Stockholm or Pfam output only)
if your output format is Stockholm or Pfam, annotation gets carried over from the inputs into the merged alignment, like this:
- per-sequence (
#=GS) annotation β transferred β¨ - per-residue (
#=GR) annotation β transferred β¨ - per-file (
#=GF) annotation β transferred if it's present and identical in all alignments - per-column (
#=GC) annotation β transferred if it's present and identical in all alignments once all insert positions have been removed and the#=GCannotation includes zero non-gap characters in insert columns
that last one is a mouthful but it's precise, okay, don't shoot the messenger π
the --list <f> lifestyle
with the --list <f> option, <f> is a file listing alignment files to merge. in that list file:
- blank lines β ignored
- lines that start with
#(comments) β ignored - every data line β one single word: the name of an alignment file to merge
all alignments in each file will be merged. so you can batch it up, no problem π
the --small era (memory saving mode)
with --small, esl-alimerge operates in memory saving mode, and the RAM required for the merge becomes minimal β like, should only be a few Mb β and independent of the alignment sizes. obsessed.
but: to use --small, all alignments must be in Pfam format (non-interleaved, 1 line/sequence Stockholm format). you can reformat alignments to Pfam using the esl-reformat Easel miniapp. π§
without --small, the required RAM will be roughly equal to the size of the final merged alignment file β which will necessarily be at least the summed size of all the input alignment files you're merging, and sometimes several times larger. yeah. π
so if you're merging large alignments, oresl-alimergeis being slow and tragic, try reformatting to Pfam and using--small. genuinely the move.
π OPTIONS π
-hβ print brief help; includes the version number and a summary of all options, including the expert options. cute and useful.-o <f>β output the merged alignment to file<f>instead of to stdout.-vβ be verbose; print info on the size of the alignments being merged, and the annotation transferred to the merged alignment, to stdout. β οΈ this option can only be used in combination with the-ooption (so the printed info doesn't corrupt the output alignment file). respect the constraint bestie.--smallβ operate in memory saving mode. required RAM will be independent of the sizes of the alignments to merge, instead of roughly the size of the eventual merged alignment. when enabled, all alignments must be in Pfam Stockholm (non-interleaved 1 line/seq) format; seeesl-reformat(1). the output alignment will be in Pfam format. π--rfonlyβ only include columns that are not gaps in the GC RF annotation in the merged alignment.--outformat <s>β write the output alignment in format<s>. common choices for<s>include:stockholm,a2m,afa,psiblast,clustal,phylip. the string<s>is case-insensitive (a2morA2Mboth work). default isstockholm. β--rnaβ specify that the input alignments are RNA alignments. by defaultesl-alimergewill try to autodetect the alphabet, but if the alignment is sufficiently small it may be ambiguous. this option defines the alphabet as RNA.--dnaβ specify that the input alignments are DNA alignments.--aminoβ specify that the input alignments are protein alignments.
π₯ SEE ALSO π₯
π COPYRIGHT π
Copyright (C) 2020 Howard Hughes Medical Institute. Freely distributed under the BSD open source license.
π AUTHOR π
and that's the whole page, bestie π«Ά this one came from Easel 0.48, dated Nov 2020 β go forth and merge those alignments, you absolute icon πβ¨
π¦ 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