esl-compstruct(1)

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

✨ esl-compstruct ✨

okay bestie, gather round, because we're about to vibe check your RNA secondary structure predictions and it's giving very serious science πŸ’… this one lives in the Easel Manual and honestly? it's iconic.


🌸 NAME 🌸

esl-compstruct β€” calculate accuracy of RNA secondary structure predictions 🧬✨


πŸŽ€ SYNOPSIS πŸŽ€

esl-compstruct [options] trusted_file test_file

πŸ¦‹ DESCRIPTION πŸ¦‹

so like, esl-compstruct evaluates the accuracy of RNA secondary structure predictions on a per-base-pair basis. no cap, that's the whole gig. 🫢

Here's the tea:

  • trusted_file holds one or more sequences with trusted (known) RNA secondary structure annotation. this is the truth, the whole truth, the main character. πŸ‘‘
  • test_file holds the same sequences, in the same order, but with predicted RNA secondary structure annotation. this is the little prediction that could. πŸ™ˆ

esl-compstruct reads both structures, compares them, and calculates:

  1. sensitivity β€” the number of true base pairs that are correctly predicted βœ…
  2. positive predictive value (PPV) β€” the number of predicted base pairs that are true βœ…

Results get reported for each individual sequence, and then in summary for all sequences together. per-sequence AND the group chat. we love to see it. πŸ’–

⚠️ Both files must contain secondary structure annotation in WUSS notation. Only SELEX and Stockholm formats support structure markup at present. that's it, that's the list, periodt.

πŸ’« the default vibe (exact match)

The default definition of a correctly predicted base pair is that a true pair (i,j) must exactly match a predicted pair (i,j). no wiggle room, no negotiation, fr fr.

🧚 the Mathews glow-up (relaxed rule)

Mathews and colleagues (Mathews et al., JMB 288:911-940, 1999) use a more relaxed definition. Mathews defines "correct" as follows: a true pair (i,j) is correctly predicted if any of the following pairs are predicted:

  • (i,j)
  • (i+1,j)
  • (i-1,j)
  • (i,j+1)
  • (i,j-1)

This rule allows for "slipped helices" off by one base πŸŒ€ β€” lowkey a slay, honestly. The -m option activates this rule for both sensitivity and for specificity.

For specificity, the rule is reversed: predicted pair (i,j) is considered to be true if the true structure contains one of the five pairs (i,j), (i+1,j), (i-1,j), (i,j+1), or (i,j-1). symmetry icon behavior πŸ’…


πŸ’… OPTIONS πŸ’…

  • -h β€” Print brief help; includes version number and summary of all options, including expert options. the little "help me bestie" button πŸ†˜
  • -m β€” Use the Mathews relaxed accuracy rule (see above), instead of requiring exact prediction of base pairs. off-by-one? we forgive you πŸ₯Ί
  • -p β€” Count pseudoknotted base pairs towards the accuracy, in either trusted or predicted structures. By default, pseudoknots are ignored. πŸ™ˆ

Okay so the -p lore runs deep, lemme explain: normally, only the trusted_file would have pseudoknot annotation, since most RNA secondary structure prediction programs do not predict pseudoknots. Using the -p option allows you to penalize the prediction program for not predicting known pseudoknots. 😀 In a case where both the trusted_file and the test_file have pseudoknot annotation, the -p option lets you count pseudoknots in evaluating the prediction accuracy.

🚨 Beware, however, the case where you use a pseudoknot-capable prediction program to generate the test_file, but the trusted_file does not have pseudoknot annotation; in this case, -p will penalize any predicted pseudoknots when it calculates specificity, even if they're right, because they don't appear in the trusted annotation. This is probably not what you'd want to do. πŸ’€ like, not the move, bestie.

🌈 EXPERT OPTIONS 🌈

for the girlies who go deeper πŸ‘‘

  • --quiet β€” Don't print any verbose header information. (Used by regression test scripts, for example, to suppress version/date information.) shhh 🀫

⭐ SEE ALSO ⭐

go touch grass on the Easel website, iykyk 🌱


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

open source royalty, we love that for them πŸ‘‘


πŸ“ AUTHOR πŸ“


and that's the whole page, bestie!! mwah πŸ’‹

this was brought to you by Easel 0.48, dated Nov 2020 β€” yes the version and the date, i said what i said πŸŽ€ stay slaying, go compare those structures, and remember: exact match unless you pass -m, pseudoknots stay ignored unless you pass -p, and --quiet is for when you simply cannot with the header info. bye babes πŸ¦‹βœ¨

πŸ“¦ where this page comes from