1 of 52

ArcKnot and ArcPlot:

Eternacon 9, July 22-23 2023

Jeff Anderson-Lee (@jandersonlee)

Visualizing the Ensemble

2 of 52

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

3 of 52

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.

4 of 52

Why Use ArcKnot (or ArcPlot)?

  • ArcKnot and ArcPlot help to give visibility to the ensemble
  • Designing using just the MFE shape ignores the ensemble
  • The ensemble gives hints to potential misfolds which lower scores
  • The ensemble gives hints to design instability (“dirty dotplot”)
  • The BPP often shows hints of both pseudoknots and switching
  • Can pad/mutate/review/prune/submit using ArcKnot
  • Can use metrics and “like:” for semi-automated design review
  • Can create custom plots for documents (e.g. tutorials)
  • And much much more …

5 of 52

ArcKnot is a Single-State In-Game Pop-up Booster

  • For single-state and pseudo-knots
  • Works within the puzzle and lab tools
  • Support thousands of different plots
    • 4 Styles: Arc, Dot, Grid, Ring
  • Can mutate design sequences
  • Can evaluate/review designs
  • Can pad designs and add barcodes
  • Can do bulk submissions
  • Uses game API to compute mfe/bpp
  • Uses HTML5 Canvas for display
  • Works with many energy models

6 of 52

ArcPlot is a Stand-Alone Web Service

  • Supports 2-state switches
  • An older codeline with fewer features
  • Relies on constrained BPP (or suboptimal folding) for 2-state aptamers
  • Would need API hooks for constrained BPP (or suboptimal folding) to work as a booster
  • Packaged as a public github git repo
  • PM me for access

7 of 52

ArcKnot Can Show Pairing Data* as Arcs or Dots

8 of 52

ArcKnot Can Show Pairing Data as Grids or Rings

9 of 52

ArcKnot Can Show Pairing Probabilities* using Grayscale

10 of 52

ArcKnot Can Show Pairing Probabilities using Colors

11 of 52

ArcKnot Offers Many Thousands of Plot Possibilities

  • 4 Styles: Arc, Dot, Grid, Ring (3 of which contain 2 (upper/lower) half-plots)
  • 3 built-in Views (Natural, States, Dotplots) in 2 modes or Customized
  • Optional: Base Pairing Threshold or DOT data (3=1+2 binned grayscale/colormap)
  • 0,1,2 Shapes (Target, User Target, MFE, Simple Threshold Knot, Conflicts) (5*4+5+1=26)
  • 3*78*78 + 1*78 = 18330
  • Can also customize bin number/size, grayscale/colormap, and threshold value

12 of 52

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

13 of 52

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

14 of 52

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.

15 of 52

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.

16 of 52

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.

17 of 52

Summary: ArcKnot versus ArcPlot: What’s the Difference?

  • ArcKnot understands pseudoknot pairs []{}<> in shapes. ArcPlot does not.
  • ArcPlot works with 2-state puzzles. ArcKnot cannot.
  • ArcKnot is an in-game booster pop-up. ArcPlot is a standalone web service.
  • ArcKnot has many thousands of customizable plots. ArcPlot has a dozen.
  • ArcKnot can pad designs and add unique random barcodes and lab tails.
  • Both can detect aptamers and targets. ArcKnot can find g-quads and i-motifs.
  • ArcKnot can Bulk Submit designs.
  • ArcKnot has a Threshold, Simple Threshold Knot (STK), Conflicts, and Base Pair Threshold (BPT).
  • Both support User-defined Target shapes.
  • ArcKnot has more mutation modes (e.g. mutate MFE vs Conflicts).
  • ArcKnot adds a colormap shortcut syntax.
  • and much more …

18 of 52

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.

19 of 52

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

20 of 52

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

21 of 52

OpenKnot Pilot PK50: JL PKB368 DigitalEmbrace mod 4

22 of 52

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

23 of 52

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!

24 of 52

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.

25 of 52

On the Other Hand: f66 - EFTK dotplot

By spvincent (score 93)

Dirty dotplot in EFTK.

MFEHEAD and MFETAIL conflicts.

26 of 52

On the Other Hand: f66 - NuPACK dotplot

By spvincent (score 93)

Clean looking dotplot in NuPACK but MFE and STK are uncorrelated.

27 of 52

Metrics

ArcKnot can compute a variety of metrics to help evaluate the designs

  • A: fraction of bases that are As
  • AA: max As in a row
  • C: fraction of bases that are Cs
  • CC: max Cs in a row
  • G: fraction of bases that are Gs
  • GG: max Gs in a row
  • U: fraction of bases that are Us
  • UU: max Us in a row

28 of 52

Metrics (cont’d)

  • kiss: strength of kissing hairpins (# of pairs in weakest stem)
  • knot: strength of strongest knot (# pairs in weakest stem)
  • mfehead: 0 if no conflict between MFE and 5’ lab end else 1
  • mfetail: 0 if no conflict between MFE and 3’ lab end else 1
  • kconf1: max pairing conflict% for simple threshold knot shape
  • kscore1: score for simple threshold knot shape (lower is better)
  • mconf1: max pairing conflict% for mfe shape
  • mscore1: score for mfe shape (lower is better)
  • tconf1: max pairing conflict% for target shape
  • tscore1: score for target shape (lower is better)
  • uconf1: max pairing conflict% for user target shape
  • uscore1: score for user target shape (lower is better)

29 of 52

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

30 of 52

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.

31 of 52

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.

32 of 52

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.

33 of 52

Metrics: All In All

  • No significant correlation seen with MFEHEAD or MFETAIL conflicts and EternaScore in OpenKnot Pilot Round Pseudoknot 90.
  • With mutated designs, “cleaning up the dotplot” seems to increase the score
  • With unmutated designs, there are high scoring designs with somewhat dirty EFTK dotplots, but mscore1>13 are seldom very successful
  • Sometimes NuPACK is a better predictor of pseudoknots than EFTK
  • Alas, no good Magic 8 Ball, yet.

34 of 52

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!

35 of 52

demo

36 of 52

Questions?

37 of 52

Supplemental

38 of 52

How to Visualize the Ensemble / BPP data?

  • Both offer 4 display styles: arc, dot, grid, and ring plots
  • A variety of shapes can be viewed
  • Different shapes can be compared with contrasting plots
  • Shapes can be compared with contrasting colors
  • Pairing probability data can be binned and thresholded
  • Pairing probability data can be displayed with grayscale or colors
  • The popup booster can overlay the puzzle or lab tools allowing both views

39 of 52

Can Compare Multiple Shapes to Highlight Differences

  • The toolbar shows the current active shapes and their colors
  • Pairs in one of two shapes are the shape’s color
  • Common pairs are brown
  • Dotplot (BPP) on top
  • TGT1 and MFE1 Below

40 of 52

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)

41 of 52

Pseudoknot 90 - GU in Kissing Loop

By DigitalEmbrace (NuPACK)

Score: 97

clean dotplot

MFE not in STK

42 of 52

Pseudoknot 90 - f65

By spvincent (NuPACK)

Score: 96

fairly clean dotplot

MFE not in STK

43 of 52

UL267_GACGUCAArepeat

By ucad (score 45)

44 of 52

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.

45 of 52

On the other hand: f66 - EternaFoldThreshknot arcplot

By spvincent (score 93)

No sign of a knot and both head and tail conflicts in EFTK.

46 of 52

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.

47 of 52

Bulk Load

Start by bringing up the Notes popup from the ArcKnot tool:

48 of 52

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.

49 of 52

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.

50 of 52

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.

51 of 52

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.

52 of 52

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.