ArcKnot and ArcPlot:
Eternacon 9, July 22-23 2023
Jeff Anderson-Lee (@jandersonlee)
Visualizing the Ensemble
Motivation: The Ensemble (MFE + Suboptimal Foldings)
When our RNA designs get tested, it isn’t just one RNA molecule that is tested. There may be many thousands of molecules with the same sequence. RNA wiggles and refolds. Not all of the molecules with the same sequence are folded in the same way at the same time. There may be large fractions of the sample that are folding differently from how you intended.
The MFE** (Minimum Free Energy) shape that the game presents is merely the energy models’ estimate of the lowest energy / most probable shape out of the ensemble.
GCGAGCAGGAAACCGUGCACGU -6.30
(((.(((.(....).))).))) -6.30**
.((.(((.(....).))).)). -5.40
(((.(((((...)).))).))) -5.20
(((.(((........))).))) -4.60
.((.(((((...)).))).)). -4.30
....(((.(....).))).... -4.30
(((.((.((...))..)).))) -3.70
.((.(((........))).)). -3.70
..(.(((.(....).))).).. -3.40
((..(((.(....).)))..)) -3.20
....(((((...)).))).... -3.20
(((.((((.....).))).))) -3.10
Base Pairing Probabilities: the Shadow of the Ensemble
The ensemble comes about because many bases have a probability of pairing with more than one other base.The Base Pairing Probabilities (BPP) matrix estimates the probabilities of each base pairing with others in a given energy model. BPP is in some ways both a causal factor and a shadow of the ensemble.
Why Use ArcKnot (or ArcPlot)?
ArcKnot is a Single-State In-Game Pop-up Booster
ArcPlot is a Stand-Alone Web Service
ArcKnot Can Show Pairing Data* as Arcs or Dots
ArcKnot Can Show Pairing Data as Grids or Rings
ArcKnot Can Show Pairing Probabilities* using Grayscale
ArcKnot Can Show Pairing Probabilities using Colors
ArcKnot Offers Many Thousands of Plot Possibilities
TGT versus UTG
ArcKnot can display both the Target (TGT) and User Target (UTG) shapes. The target shape is the “empty” puzzle shape. The User Target corresponds to the “Paste Target Structure” shape. This can also be specified in the Notes field for a bulk-load.
https://eternagame.org/game/browse/11836497/?filter1=Id&filter1_arg1=11887395&filter1_arg2=11887395
MFE: Minimum Free Energy
ArcKnot can display the Minimum Free Energy (MFE) shape computed by the current energy model. This is the shape shown in “Natural Mode” in the puzzle and lab tools.
https://eternagame.org/game/browse/11836497/?filter1=Id&filter1_arg1=11887395&filter1_arg2=11887395
STK: Simple Threshold Knot
ArcKnot can compute a Simple Threshold Knot (STK) for any energy model that supports BPP generation. Pairs are added to the STK1 knot shape starting with the most probable pairing first. As it works down the list of pairing probabilities toward the threshold (Thresh) probability, if it comes to a pair with one or more bases that have already been paired with higher probability, it skips that “conflicting” pair assuming that the bases will more likely form their most probable pairings.
CNF: Conflicts
As the Simple Threshold Knot (STK) works down the list of ranked pairing probabilities, if it comes to a pair with one or more bases that have already been paired with higher probability, it adds that pair to the conflict (CNF) shape, assuming that neither base is already in another conflict. This generates a shape involving the most probably conflicting pairs to the STK shape.
BPT vs DOT: Base Pair Threshold versus “DOTplot”
ArcKnot can also clip the base pairing probability data at a user specified threshold to eliminate some of the clutter in the arc plot and dot plot graphs and highlight the more probable pairings. This plot shows the full base pairing (DOT) data on top and the BPT with a threshold of 0.10 on the bottom.
Summary: ArcKnot versus ArcPlot: What’s the Difference?
Dirty Dotplots* - Unstable designs
Have you ever had a design where a one base/pair change made a huge shift in the MFE shape? It probably had a “dirty” dotplot.
OpenKnot Pilot PK50: PKB386 by DigitalEmbrace
https://eternagame.org/game/browse/11318423/?filter1=Id&filter1_arg1=11413225&filter1_arg2=11413225
Score: 72
Some noise in the dotplot
in the region between the
pseudoknot and the barcode
and with lab tail
OpenKnot Pilot PK50: JL PKB368 DigitalEmbrace mod
https://eternagame.org/game/browse/11318423/?filter1=Id&filter1_arg1=11444132&filter1_arg2=11444132
Score: 83
Added static stem
Cleans up dot plot some
Raised the score by 11
OpenKnot Pilot PK50: JL PKB368 DigitalEmbrace mod 4
https://eternagame.org/game/browse/11318423/?filter1=Id&filter1_arg1=11444144&filter1_arg2=11444144
Score: 88
Even cleaner dotplot
Raised the score 5 more
unclassified sequences chromate-resist RNA URS0000D6A30A_12908
By Eli Fisker (NuPACK)
https://eternagame.org/game/browse/11318423/?filter1=Id&filter1_arg1=11386739&filter1_arg2=11386739
Score: 62
Sequence from nature
dirty dotplot and
lab head/tail conflicts
JL URS0000D6A30A_12908 Eli mod
By jandersonlee (NuPACK)
https://eternagame.org/game/browse/11318423/?filter1=Id&filter1_arg1=11447070&filter1_arg2=11447070
Score: 93
cleaner dotplot
fewer head/tail conflicts
over 30 point bump!
UL267_GACGUCAArepeat dotplot
By ucad (score 45)
Strong suggestion of a different shape in the dot plot. The MFE shape does not coalign with the STK in any fashion.
On the Other Hand: f66 - EFTK dotplot
By spvincent (score 93)
Dirty dotplot in EFTK.
MFEHEAD and MFETAIL conflicts.
On the Other Hand: f66 - NuPACK dotplot
By spvincent (score 93)
Clean looking dotplot in NuPACK but MFE and STK are uncorrelated.
Metrics
ArcKnot can compute a variety of metrics to help evaluate the designs
Metrics (cont’d)
Knot metric versus EternaScore (EFTK)
The “knot” metric counts the number of pairs in the weakest side of the strongest knot in a structure/shape.
In OpenKnot PK90, there is an upward trend of Eterna Score with increasing EFTK knot metric value, but there are also several of the highest scoring knots with EFTK knot=0.
..((((...[[[...))))....]]].... knot=3
..((((((..[[[[[.((...))...))))...]]]]]..))... knot=4
mscore1 (EFTK) vs EternaScore
mscore1 = sum of probabilities in BPP that are not part of the MFE1 shape.
A higher mscore1 indicates a dirtier dotplot relative to the MFE shape.
For Pilot PK90, designs with a mscore1 metric of 16 or more (EFTK) did not score well. Most of the high scoring designs had mscore1<13 with a few outliers.
kscore1 (thresh=0.10, EFTK) vs EternaScore
kscore1 = sum of probabilities in BPP that are not part of the STK1 shape.
A higher kscore1 indicates a dirtier dotplot relative to the STK1 shape.
For Pilot PK90, designs with a kscore1 metric of 15 or more (at thresh=0.1, EFTK) did not score well. Most of the high scoring designs had kscore1<12 with a few outliers.
like: and rankby:
Can specify constraints that will flag designs as “likeable” or not during Random or Check passes for optional Prune. Can override with Like/Unlike or Drop.
Can also specify a metric for rank ordering the designs with Random/Check and Rank.
Metrics: All In All
Many Thanks
Many thanks to the players who have tested out different versions of ArcPlot and ArcKnot over the years and made helpful suggestions.
Special thanks to Omei for the initial idea and concepts, Jonathan for various API assistance and upgrades, and Eli for being a patient and exemplary guinea pig with lots of good suggestions!
demo
Questions?
Supplemental
How to Visualize the Ensemble / BPP data?
Can Compare Multiple Shapes to Highlight Differences
Pseudoknot 50 - RLT-50 PKB 131
By Rivalium (NuPACK)
https://eternagame.org/game/browse/11318423/?filter1=Id&filter1_arg1=11382972&filter1_arg2=11382972
Score: 97
fairly clean dotplot
MFE shape not in STK
#KNOT4 in MFE (NuPACK)
Pseudoknot 90 - GU in Kissing Loop
By DigitalEmbrace (NuPACK)
Score: 97
clean dotplot
MFE not in STK
Pseudoknot 90 - f65
By spvincent (NuPACK)
Score: 96
fairly clean dotplot
MFE not in STK
UL267_GACGUCAArepeat
By ucad (score 45)
UL267_GACGUCAArepeat arcplot
By ucad (score 45)
Strong suggestion of a different shape in the arc plot. The MFE shape does not coalign with the STK in any fashion.
On the other hand: f66 - EternaFoldThreshknot arcplot
By spvincent (score 93)
No sign of a knot and both head and tail conflicts in EFTK.
On the Other Hand: f66 - NuPACK arcplot
By spvincent (score 93)
NuPACK MFE predicts a pseudo-knot but STK does not and no head or tail conflicts.
Bulk Load
Start by bringing up the Notes popup from the ArcKnot tool:
Paste into Notes and Close
Paste a .csv or .tsv list of sequence,title,desc,usertarget,rank,like lines into the Notes popup and Close. At minimum paste a list of sequences or fragments.
Use Random or Check to add Pad+Barcode and Validate
Clicking Random or Check will scan the list of designs and check them. If they do not include the barcode and lab tails, those will be added. If the designs are short, they will be padded. Any like: and rankby: config will be used. Optionally sort with Rank.
Optionally Review the Designs and Submit
Designs can be reviewed using Goto, Back, and Next. Automatic appraisals can be changed with Like and Unlike. Individual designs can be discarded with Drop or discard all Unliked designs with Prune. After altering a design use Save or Append. When ready, click Submit.
Slice and Search Genomic Data with FASTA
FASTA formatted genomic data can be sliced for searching for pseudoknots with FASTA. Paste FASTA formatted data into Notes, then Close. Use FASTA to break it into samples. Use Random to add barcodes and evaluate, then Prune to eliminate non-knots.
Use Mutate* to Generate Alternative Designs
Marked bases can be mutated. Focus to start. Mutate generates up to 3 alternatives for each marked base. MutateN generates up to 4N combinations of 1-5 bases. MutateP mutates up to 4 pairs in up to 6N ways {AU,CG,GC,GU,UA,UG}. Mutations subject to base constraints.