esl-construct(1)

πŸ“¦
version 3.3.2 Β· 2 versions
, in fedora 43, fedora 44

πŸ’– esl-construct β€” describe or create a consensus secondary structure πŸ’–

okay bestie, welcome to esl-construct, part of the Easel manual (that's the <pink>Easel Manual</pink> section 1 vibe, iykyk). this little icon tells you about the secondary structure annotation already chillin' in your alignment, or builds you a brand new consensus structure. let's get into it 🧚


✨ SYNOPSIS ✨

esl-construct [options] msafile

🌸 DESCRIPTION 🌸

so here's the tea πŸ“: esl-construct reports info on existing consensus secondary structure annotation of an alignment, or derives new consensus secondary structures based on structure annotation for individual aligned sequences.

your alignment file has to contain either:

  • individual sequence secondary structure annotation β€” that's Stockholm #=GR SS
  • consensus secondary structure annotation β€” that's #=GC SS_cons
  • or literally both, no gatekeeping πŸ’…

all the structure annotation has to be in WUSS notation (and yes, Vienna dot parentheses notation will be correctly interpreted, she's multilingual πŸ’œ). heads up tho: right now the alignment file must be in Stockholm format and must contain RNA or DNA sequences. no protein, no exceptions, periodt.

by default, esl-construct lists the sequences in the alignment that have structure annotation, plus the number of basepairs in those structures. and if the alignment also has consensus structure annotation? the default output will tell you how many of the individual basepairs overlap with the consensus basepairs and how many conflict with a consensus basepair.

now, for the purposes of this miniapp, a basepair 'conflict' exists between two basepairs in different structures β€” one between columns i and j, the other between columns k and l β€” if (i == k and j != l) or (j == l and i != k). write that down bestie, it matters πŸ“

esl-construct can also derive a whole new consensus structure based on the structure annotation for individual sequences in the alignment, using any of these options: -x, -r, -c, --indi <s>, --ffreq <x>, --fmin. all described below, don't worry πŸ’–. all of these options require you to use the -o <f> option too, so you can specify that a new alignment file <f> gets created. differences between the new alignment(s) and the input alignment(s) will be limited to the consensus secondary structure (#=GC SS_cons) annotation and possibly reference (#=GC RF) annotation. that's it, that's the whole diff ✨


πŸŽ€ OPTIONS πŸŽ€

  • -h β€” print brief help; includes version number and a summary of all options, including the expert options. the lil cheat sheet πŸ‘‘
  • -a β€” list all alignment positions that are involved in at least one conflicting basepair in at least one sequence, straight to the screen, and then exit. dramatic exit, we love it πŸ’…
  • -v β€” be verbose; with no other options, list individual sequence basepair conflicts as well as summary statistics. she's chatty and we respect it πŸ—£οΈ
  • -x β€” compute a new consensus structure as the maximally sized set of basepairs (greatest number of basepairs) chosen from all individual structures that contains 0 conflicts. output the alignment with the new SS_cons annotation. this option must be used in combination with the -o option. main character energy, zero conflict 🌈
  • -r β€” remove any consensus basepairs that conflict with >= 1 individual basepair, and output the alignment with the new SS_cons annotation. this option must be used in combination with the -o option. block and delete 🚫
  • -c β€” define a new consensus secondary structure as the individual structure annotation that has the maximum number of consistent basepairs with the existing consensus secondary structure annotation. this option must be used in combination with the -o option. she's the most compatible one fr fr 🫢
  • --rfc β€” with -c, set the reference annotation (#=GC RF) as the sequence whose individual structure becomes the consensus structure. giving credit where it's due πŸ’–
  • --indi <s> β€” define a new consensus secondary structure as the individual structure annotation from sequence named <s>. this option must be used in combination with the -o option. pick your fave and let her shine ✨
  • --rfindi β€” with --indi <s>, set the reference annotation (#=GC RF) as the sequence named <s>. tag her in the post πŸ“Έ
  • --ffreq <x> β€” define a new consensus structure as the set of basepairs between columns i:j that are paired in more than <x> fraction of the individual sequence structures. this option must be used in combination with the -o option. majority rules, democracy slay πŸ—³οΈ
  • --fmin β€” same as --ffreq <x> except find the maximal <x> that gives a consistent consensus structure. a consistent structure has each base (alignment position) as a member of at most 1 basepair. no polyamory in these basepairs, one at a time bestie πŸ’€
  • -o <s>, β€” output the alignment(s) with new consensus structure annotation to file <f>. the obligatory plus-one, she goes everywhere with the others πŸŽ€
  • --pfam β€” with -o, specify that the alignment output format be Pfam format, a special type of non-interleaved Stockholm on which each sequence appears on a single line. one line per sequence, so tidy, so iconic 🌸
  • -l <f> β€” create a new file <f> that lists the sequences that have at least one basepair that conflicts with a consensus basepair. receipts, but make it a file 🧾
  • --lmax <n> β€” with -l, only list sequences that have more than <n> basepairs that conflict with the consensus structure to the list file. set the bar, filter the chaos πŸ“Š

πŸ¦‹ SEE ALSO πŸ¦‹


Copyright (C) 2020 Howard Hughes Medical Institute.

Freely distributed under the BSD open source license. free as in go off, bestie 🫢


🌟 AUTHOR 🌟


mwah πŸ’‹ that's the whole page! this one's from Easel 0.48, dated Nov 2020, and it lives in section esl-construct(1). take care of her, she's a real one πŸŽ€βœ¨

πŸ“¦ where this page comes from