diff --git a/NEWS.md b/NEWS.md
index d4cfa50..f7c1396 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -28,6 +28,8 @@
* `filter_linkages()` filters odds ratio data by p-value, observation count, and log odds ratio magnitude, returning a tibble ready for the `linkages` parameter of `plot_tRNA_structure()`.
+* `plot_tRNA_structure()` gains a `layout` argument with `"cloverleaf"` (default) and `"elbow"` forms; the elbow form stacks the acceptor stem and T-arm coaxially at the top with the D-arm extending horizontally and the anticodon arm vertically. Currently bundled for E. coli standard 3-arm tRNAs. `structure_trnas()` accepts the same `layout` argument.
+
* `plot_tRNA_structure()` now accepts odds ratio tibbles directly as `linkages` input: if a `log_odds_ratio` column is present and `value` is not, it is automatically used as the arc value.
* `plot_tRNA_structure()` now draws a 3' amino acid label (e.g., "Glu") connected by a line to the terminal nucleotide, and position markers every 10 nucleotides around the cloverleaf. Position markers can be disabled with `position_markers = FALSE`.
diff --git a/R/plot-structure.R b/R/plot-structure.R
index a257a2a..756343e 100644
--- a/R/plot-structure.R
+++ b/R/plot-structure.R
@@ -27,12 +27,14 @@ structure_organisms <- function() {
#' List available tRNA structures for an organism
#'
-#' Returns the names of tRNAs for which cloverleaf structure SVGs
-#' are bundled with the package for the given organism.
+#' Returns the names of tRNAs for which structure SVGs are bundled with
+#' the package for the given organism and layout.
#'
#' @param organism Character string specifying the organism name
#' (e.g., `"Escherichia coli"`). Use [structure_organisms()] to
#' list available organisms.
+#' @param layout One of `"cloverleaf"` (default) or `"elbow"`. The
+#' elbow form is currently bundled for E. coli standard tRNAs only.
#'
#' @return A character vector of tRNA names.
#'
@@ -40,9 +42,19 @@ structure_organisms <- function() {
#'
#' @examples
#' structure_trnas("Escherichia coli")
-structure_trnas <- function(organism) {
+#' structure_trnas("Escherichia coli", layout = "elbow")
+structure_trnas <- function(organism, layout = c("cloverleaf", "elbow")) {
+ layout <- match.arg(layout)
org_dir <- structure_org_dir(organism)
- svg_files <- list.files(org_dir, pattern = "\\.svg$")
+ svg_dir <- if (layout == "cloverleaf") {
+ org_dir
+ } else {
+ file.path(org_dir, "elbow")
+ }
+ if (!dir.exists(svg_dir)) {
+ return(character(0))
+ }
+ svg_files <- list.files(svg_dir, pattern = "\\.svg$")
tools::file_path_sans_ext(svg_files)
}
@@ -89,6 +101,12 @@ structure_trnas <- function(organism) {
#' linkage values. Default `c("#0072B2", "#D55E00")` (blue for
#' exclusive, vermillion for co-occurring). Stroke width encodes
#' the magnitude of the value.
+#' @param layout One of `"cloverleaf"` (default) or `"elbow"`.
+#' `"elbow"` renders the L-shaped depiction with the acceptor stem
+#' and T-arm stacked coaxially at the top, the D-arm extending
+#' horizontally, and the anticodon arm hanging vertically. The
+#' elbow form is currently available for E. coli standard
+#' 3-arm tRNAs.
#'
#' @return The path to the annotated SVG file (invisibly).
#'
@@ -97,6 +115,7 @@ structure_trnas <- function(organism) {
#' @examples
#' \donttest{
#' plot_tRNA_structure("tRNA-Glu-TTC", "Escherichia coli")
+#' plot_tRNA_structure("tRNA-Phe-GAA", "Escherichia coli", layout = "elbow")
#' }
plot_tRNA_structure <- function(
trna,
@@ -109,24 +128,31 @@ plot_tRNA_structure <- function(
outline_palette = NULL,
text_colors = NULL,
position_markers = TRUE,
- linkage_palette = c("#0072B2", "#D55E00")
+ linkage_palette = c("#0072B2", "#D55E00"),
+ layout = c("cloverleaf", "elbow")
) {
rlang::check_installed("jsonlite", reason = "to read structure metadata.")
+ layout <- match.arg(layout)
org_dir <- structure_org_dir(organism)
+ layout_dir <- if (layout == "cloverleaf") {
+ org_dir
+ } else {
+ file.path(org_dir, "elbow")
+ }
- svg_path <- file.path(org_dir, paste0(trna, ".svg"))
- json_path <- file.path(org_dir, paste0(trna, ".json"))
+ svg_path <- file.path(layout_dir, paste0(trna, ".svg"))
+ json_path <- file.path(layout_dir, paste0(trna, ".json"))
if (!file.exists(svg_path)) {
cli::cli_abort(c(
- "No structure SVG found for {.val {trna}}.",
- "i" = "Use {.fn structure_trnas} to list available tRNAs."
+ "No {layout} structure SVG found for {.val {trna}}.",
+ "i" = "Use {.code structure_trnas({.val {organism}}, layout = {.val {layout}})} to list available tRNAs."
))
}
if (!file.exists(json_path)) {
cli::cli_abort(
- "No position metadata found for {.val {trna}}."
+ "No position metadata found for {.val {trna}} in {layout} layout."
)
}
diff --git a/data-raw/structures/generate_elbow.py b/data-raw/structures/generate_elbow.py
new file mode 100644
index 0000000..688c781
--- /dev/null
+++ b/data-raw/structures/generate_elbow.py
@@ -0,0 +1,557 @@
+"""Generate tRNA elbow-form SVGs from existing cloverleaf JSON metadata.
+
+Reads each E. coli tRNA's existing JSON (for sequence) and the Sprinzl
+coordinates TSV (for per-position canonical Sprinzl labels), then emits an
+elbow-form SVG and JSON in the SAME schema as the cloverleaf path. The
+R-side overlay code in plot_tRNA_structure() consumes both layouts
+identically.
+
+The elbow form (per Matsumoto et al., JBC 2026; see also classical
+structural-biology depictions) lays out the molecule so that the acceptor
+stem and T-arm are stacked coaxially as one horizontal helix at the top,
+the D-arm extends horizontally to the left below it, the anticodon arm
+hangs vertically below, and the variable region forms a small bulge
+between the AC-stem and T-stem.
+
+Skips variable-arm tRNAs (Leu, Ser, SeC, Tyr, some Thr) — those will need
+a v2 layout that handles the variable arm.
+
+Usage
+-----
+ pixi run -e struct python data-raw/structures/generate_elbow.py
+"""
+
+from __future__ import annotations
+
+import csv
+import gzip
+import json
+import math
+import re
+import sys
+from pathlib import Path
+
+# --- paths --------------------------------------------------------------
+
+PROJECT_ROOT = Path(__file__).resolve().parent.parent.parent
+SCRIPT_DIR = Path(__file__).resolve().parent
+STRUCTURES_DIR = PROJECT_ROOT / "inst" / "extdata" / "structures"
+SPRINZL_DIR = PROJECT_ROOT / "inst" / "extdata" / "sprinzl"
+
+# Map organism dir name -> Sprinzl coords filename
+ORG_SPRINZL = {
+ "Escherichia_coli": "ecoliK12_global_coords.tsv.gz",
+}
+
+# --- layout constants ---------------------------------------------------
+
+S = 7.56 # backbone spacing along a strand
+P = 7.56 # vertical pair spacing between rows of a stem
+
+# Combined acceptor + T helix at top
+TOP_Y = 40.0 # 3' strand row (acceptor 3' + T-stem 3'); CCA emerges UP from here
+BOT_Y = TOP_Y + P # 5' strand row (acceptor 5' + T-stem 5'); side arms emerge DOWN from here
+ACC_X1 = 220.0 # x of pos 1 (5' free end) and pos 72 (paired with pos 1)
+GAP = S * 1.6 # break between T-stem and acceptor on the bottom strand
+
+# T-loop (54..60) curls at far LEFT of the combined helix. With N residues
+# placed on a 180° arc at t = (k+0.5)/N, neighbors are 2R*sin(π/(2N)) apart.
+# Solve for R so chord = S → R = S / (2 sin(π/(2N))). Matches the cloverleaf
+# spacing so mod circles (radius 4.3) fit cleanly.
+T_LOOP_RADIUS = S / (2 * math.sin(math.pi / 14)) # 7 residues
+
+# Both D-arm and AC-arm hang DOWN as parallel vertical helices below the top
+# stack — D-arm to the LEFT (smaller, 4 bp + D-loop at the bottom-left),
+# AC-arm to the RIGHT (larger, 5 bp + AC-loop at the bottom). Together with
+# the horizontal acceptor+T helix at the top this gives the canonical L-shape
+# elbow projection seen in textbook tRNA depictions (e.g., Matsumoto 2026
+# JBC fig 2A).
+#
+# Spacing is generous enough that the radius-4.3 modification circles and
+# radius ~5 outline circles used by plot_tRNA_structure() do not collide
+# with neighboring nucleotide letters.
+D_X_LEFT = 130.0 # left column of D-stem (pos 10-13)
+D_X_RIGHT = D_X_LEFT + P
+D_TOP_Y = BOT_Y + 50.0
+D_LOOP_RADIUS = S / (2 * math.sin(math.pi / 16)) # 8 residues on 180° arc
+
+AC_X_LEFT = 158.0
+AC_X_RIGHT = AC_X_LEFT + P
+AC_TOP_Y = D_TOP_Y # AC-arm aligned vertically with D-arm
+AC_LOOP_RADIUS = S / (2 * math.sin(math.pi / 14)) # 7 residues on 180° arc
+
+# --- variable-arm detection --------------------------------------------
+
+# A sprinzl label like "e1", "e12", "e23" indicates a variable-arm position;
+# these tRNAs (Leu, Ser, SeC, some Tyr/Thr) have an extended variable arm
+# that the v1 elbow layout does not handle. Skip them.
+VAR_ARM_RE = re.compile(r"^e\d")
+
+
+def main() -> int:
+ total_written = 0
+ total_skipped = 0
+
+ for org_dirname, sprinzl_fname in ORG_SPRINZL.items():
+ org_dir = STRUCTURES_DIR / org_dirname
+ if not org_dir.is_dir():
+ print(f" SKIP {org_dirname}: structures dir not found")
+ continue
+
+ sprinzl_path = SPRINZL_DIR / sprinzl_fname
+ if not sprinzl_path.exists():
+ print(f" SKIP {org_dirname}: sprinzl file not found at {sprinzl_path}")
+ continue
+
+ print(f"\n=== {org_dirname} ===")
+ sprinzl = load_sprinzl(sprinzl_path)
+ out_dir = org_dir / "elbow"
+ out_dir.mkdir(parents=True, exist_ok=True)
+
+ # Clean stale output
+ for old in out_dir.glob("*.svg"):
+ old.unlink()
+ for old in out_dir.glob("*.json"):
+ old.unlink()
+
+ for json_path in sorted(org_dir.glob("*.json")):
+ trna_name = json_path.stem
+ try:
+ metadata = json.loads(json_path.read_text())
+ except Exception as e:
+ print(f" ERROR reading {trna_name}: {e}")
+ continue
+
+ sprinzl_rows = lookup_sprinzl(sprinzl, trna_name)
+ if sprinzl_rows is None:
+ print(f" SKIP {trna_name}: no Sprinzl mapping found")
+ total_skipped += 1
+ continue
+
+ if any(VAR_ARM_RE.match(r["sprinzl_label"]) for r in sprinzl_rows):
+ print(f" SKIP {trna_name}: variable-arm tRNA (deferred to v2)")
+ total_skipped += 1
+ continue
+
+ try:
+ elbow_meta = build_elbow(metadata, sprinzl_rows, trna_name)
+ except KeyError as e:
+ print(f" SKIP {trna_name}: missing layout key {e}")
+ total_skipped += 1
+ continue
+
+ svg_path = out_dir / f"{trna_name}.svg"
+ elbow_json_path = out_dir / f"{trna_name}.json"
+ svg_path.write_text(render_svg(elbow_meta, trna_name))
+ elbow_json_path.write_text(json.dumps(elbow_meta, indent=2))
+ n = len(elbow_meta["nucleotides"])
+ print(f" OK {trna_name} ({n} nt)")
+ total_written += 1
+
+ print(f"\nWrote {total_written} elbow tRNA(s); skipped {total_skipped}.")
+ return 0
+
+
+# --- Sprinzl loading + lookup ------------------------------------------
+
+
+def load_sprinzl(path: Path) -> dict[str, list[dict]]:
+ """Group Sprinzl rows by trna_id."""
+ by_id: dict[str, list[dict]] = {}
+ with gzip.open(path, "rt") as f:
+ reader = csv.DictReader(f, delimiter="\t")
+ for row in reader:
+ tid = row["trna_id"]
+ try:
+ row["seq_index"] = int(row["seq_index"])
+ except (KeyError, ValueError):
+ continue
+ by_id.setdefault(tid, []).append(row)
+ return by_id
+
+
+def lookup_sprinzl(
+ sprinzl: dict[str, list[dict]], trna_name: str
+) -> list[dict] | None:
+ """Find a Sprinzl row block whose trna_id matches the structure name.
+
+ Structure names use DNA anticodon notation (e.g., 'tRNA-Asp-GTC') while
+ Sprinzl files use RNA notation ('tRNA-Asp-GUC'). Convert T→U in the
+ anticodon segment before matching.
+ """
+ rna_name = dna_to_rna_anticodon(trna_name)
+
+ candidates = [
+ tid for tid in sprinzl
+ if tid == rna_name or tid.startswith(rna_name + "-")
+ ]
+ if not candidates:
+ return None
+ candidates.sort()
+ rows = sprinzl[candidates[0]]
+ rows.sort(key=lambda r: r["seq_index"])
+ return rows
+
+
+def dna_to_rna_anticodon(trna_name: str) -> str:
+ m = re.match(r"^(tRNA-[A-Za-z0-9]+)-([ACGTU]+)$", trna_name)
+ if not m:
+ return trna_name
+ aa, codon = m.group(1), m.group(2)
+ return f"{aa}-{codon.replace('T', 'U')}"
+
+
+# --- elbow geometry -----------------------------------------------------
+
+
+def build_elbow(
+ cloverleaf_meta: dict, sprinzl_rows: list[dict], trna_name: str
+) -> dict:
+ """Compute elbow (x, y) for each nucleotide from its Sprinzl label.
+
+ The cloverleaf metadata gives us the per-position bases and base-pair
+ line list (which we recompute against the new coords). The Sprinzl
+ rows give us the Sprinzl label and region per position. We index
+ nucleotides in the cloverleaf JSON by `pos` (1-based, document order)
+ and join to Sprinzl rows by `seq_index`.
+ """
+ base_by_pos = {nuc["pos"]: nuc["base"] for nuc in cloverleaf_meta["nucleotides"]}
+ sprinzl_by_pos = {r["seq_index"]: r for r in sprinzl_rows}
+
+ coord_table = elbow_coord_table()
+
+ nucleotides = []
+ pos_to_xy: dict[int, tuple[float, float]] = {}
+ for pos in sorted(base_by_pos.keys()):
+ spr = sprinzl_by_pos.get(pos)
+ if spr is None:
+ raise KeyError(f"pos {pos} missing from Sprinzl rows")
+ label = spr["sprinzl_label"]
+ if label not in coord_table:
+ raise KeyError(f"label {label!r} (pos {pos})")
+ x, y = coord_table[label]
+ pos_to_xy[pos] = (x, y)
+ nucleotides.append({
+ "base": base_by_pos[pos],
+ "x": round(x, 2),
+ "y": round(y, 2),
+ "pos": pos,
+ })
+
+ lines = build_pair_lines(sprinzl_by_pos, pos_to_xy)
+
+ xs = [n["x"] for n in nucleotides]
+ ys = [n["y"] for n in nucleotides]
+ width = round(max(xs) + 20, 2)
+ height = round(max(ys) + 20, 2)
+
+ return {
+ "nucleotides": nucleotides,
+ "width": width,
+ "height": height,
+ "lines": lines,
+ "trna_name": trna_name,
+ "sequence": cloverleaf_meta.get("sequence", ""),
+ "structure": cloverleaf_meta.get("structure", ""),
+ }
+
+
+def elbow_coord_table() -> dict[str, tuple[float, float]]:
+ """Sprinzl label -> (x, y) for the elbow layout.
+
+ Top combined helix:
+ Top row (3' strand, continuous backbone L->R):
+ 61 62 63 64 65 66 67 68 69 70 71 72
+ Bottom row (5' strand, with gap between T-stem and acceptor):
+ 53 52 51 50 49 [GAP] 7 6 5 4 3 2 1
+ Pair vertically: 1<->72, 2<->71, ... 7<->66; 49<->65, 50<->64, ... 53<->61.
+
+ T-loop (54..60) curls at far LEFT of the combined helix.
+ D-arm sits BELOW the top stack, horizontal, with D-loop at far LEFT.
+ AC-arm hangs DOWN below the rest, with AC-loop at the BOTTOM.
+ Variable region (44..48) curves from the right of the AC-stem 3' end
+ UP and OVER to position 49 on the top stack.
+ Discriminator + CCA (73..76) extend UP from pos 72 (top-right).
+ """
+ coords: dict[str, tuple[float, float]] = {}
+
+ # ----- acceptor stem (1..7 bottom row, 66..72 top row) -----
+ for n in range(1, 8):
+ x = ACC_X1 - (n - 1) * S
+ coords[str(n)] = (x, BOT_Y)
+ for n in range(66, 73):
+ x = ACC_X1 - (72 - n) * S
+ coords[str(n)] = (x, TOP_Y)
+
+ # rightmost / leftmost x of acceptor section
+ acc_left_x = ACC_X1 - 6 * S # x of pos 7 / pos 66
+ t_right_x = acc_left_x - GAP # x of pos 49 / pos 65 (across the gap)
+
+ # ----- T-stem (49..53 bottom row, 61..65 top row) -----
+ for n in range(49, 54):
+ x = t_right_x - (n - 49) * S
+ coords[str(n)] = (x, BOT_Y)
+ for n in range(61, 66):
+ x = t_right_x - (65 - n) * S
+ coords[str(n)] = (x, TOP_Y)
+
+ t_left_x = t_right_x - 4 * S # x of pos 53 / pos 61
+
+ # ----- T-loop (54..60), 7 residues on a 180° arc curling LEFT -----
+ arc_cx = t_left_x - T_LOOP_RADIUS * 0.35
+ arc_cy = (TOP_Y + BOT_Y) / 2
+ for k, n in enumerate(range(54, 61)):
+ # k = 0..6, sweep from "just past pos 53" (bottom) up & around to
+ # "just before pos 61" (top). In SVG y-down: angle pi/2 = down,
+ # angle 3pi/2 = up; sweeping through pi (left).
+ t = (k + 0.5) / 7 # 1/14, 3/14, ..., 13/14
+ theta = math.pi / 2 + t * math.pi
+ x = arc_cx + T_LOOP_RADIUS * math.cos(theta)
+ y = arc_cy + T_LOOP_RADIUS * math.sin(theta)
+ coords[str(n)] = (x, y)
+
+ # ----- discriminator + CCA (73..76) extend UP from pos 72 -----
+ cca_x = ACC_X1
+ for k, n in enumerate(range(73, 77)):
+ # 73 just above 72 on the same column, 74-76 stacking up
+ coords[str(n)] = (cca_x, TOP_Y - (k + 1) * S)
+
+ # ----- D-arm: VERTICAL stem, D-loop curls at BOTTOM-LEFT -----
+ # pos 10 (D-stem 5' first) at TOP-LEFT — paired with pos 25 at TOP-RIGHT.
+ # Stem extends DOWN from there; pos 13 at BOTTOM-LEFT, pos 22 at BOTTOM-
+ # RIGHT. D-loop (14..21) is a 180° arc connecting pos 13 (bottom-left)
+ # around the LEFT side back up to pos 22 (bottom-right) — i.e., it
+ # bulges LEFT and DOWN from the bottom of the stem, matching the
+ # canonical L-shape projection.
+ # Hinges 8, 9 are the diagonal connector from pos 7 (top stack, bot row,
+ # at acc_left_x) DOWN-LEFT to pos 10 (top-left of D-arm). Place evenly
+ # along the line so consecutive backbone neighbors are similarly spaced.
+ for k, n in enumerate(("8", "9"), start=1):
+ t = k / 3.0 # 1/3 and 2/3 along the line from pos 7 to pos 10
+ coords[n] = (
+ acc_left_x + (D_X_LEFT - acc_left_x) * t,
+ BOT_Y + (D_TOP_Y - BOT_Y) * t,
+ )
+ # D-stem 5' (10..13) on LEFT column, top-to-bottom
+ for n in range(10, 14):
+ coords[str(n)] = (D_X_LEFT, D_TOP_Y + (n - 10) * S)
+ # D-stem 3' (22..25) on RIGHT column; pair: 25-10, 24-11, 23-12, 22-13
+ for n in range(22, 26):
+ coords[str(n)] = (D_X_RIGHT, D_TOP_Y + (25 - n) * S)
+
+ d_bot_y = D_TOP_Y + 3 * S # y of pos 13 / pos 22
+
+ # ----- D-loop (14..21), 8 residues on a 180° arc curling LEFT-and-DOWN -----
+ # Arc center sits a bit DOWN-LEFT of the stem bottom. Sweep angle covers
+ # the LEFT half of the circle, from "just past pos 13" (top of arc, bot
+ # of stem on left col) curving DOWN through far-LEFT and back UP to
+ # "just before pos 22" (top of arc, bot of stem on right col).
+ arc_cx_d = D_X_LEFT + P / 2
+ arc_cy_d = d_bot_y + D_LOOP_RADIUS * 0.55
+ for k, n in enumerate(range(14, 22)):
+ t = (k + 0.5) / 8
+ # Parameterize: angle from pi (left of stem-left-column-bottom)
+ # sweeping CCW through 3pi/2 (BOTTOM of arc) to 2pi (right side).
+ # In SVG y-down, y = cy + r*sin(theta) — sin pi to 2pi gives 0 to 0
+ # via -1 at 3pi/2; we want POSITIVE y at the bottom of the arc, so
+ # use abs offset.
+ theta = math.pi + t * math.pi
+ x = arc_cx_d + D_LOOP_RADIUS * math.cos(theta)
+ y = arc_cy_d - D_LOOP_RADIUS * math.sin(theta)
+ coords[str(n)] = (x, y)
+
+ # D-loop insertions: 17a is between 17 and 18; 20a between 20 and 21;
+ # 20b between 20a and 21. Place them on the same arc with offset t.
+ insertion_ts = {
+ "17a": (3.5 + 0.5) / 8,
+ "20a": (6.3 + 0.5) / 8,
+ "20b": (6.6 + 0.5) / 8,
+ }
+ for label, t in insertion_ts.items():
+ theta = math.pi + t * math.pi
+ x = arc_cx_d + D_LOOP_RADIUS * math.cos(theta)
+ y = arc_cy_d - D_LOOP_RADIUS * math.sin(theta)
+ coords[label] = (x, y)
+
+ # ----- pos 26 (hinge between D-stem 3' top and AC-stem 5' top) -----
+ # short horizontal bridge from D-arm TOP-RIGHT (pos 25) over to AC-arm
+ # TOP-LEFT (pos 27). Both at the same y as the top of the side arms.
+ coords["26"] = (
+ (D_X_RIGHT + AC_X_LEFT) / 2,
+ D_TOP_Y - 2.5,
+ )
+
+ # ----- anticodon stem (27..31 left col, 39..43 right col) -----
+ # VERTICAL helix to the RIGHT of the D-arm. Pairs: 27-43, 28-42, ..., 31-39
+ # 27 at top-left, 31 at bottom-left (just above AC-loop).
+ for n in range(27, 32):
+ y = AC_TOP_Y + (n - 27) * S
+ coords[str(n)] = (AC_X_LEFT, y)
+ for n in range(39, 44):
+ y = AC_TOP_Y + (43 - n) * S
+ coords[str(n)] = (AC_X_RIGHT, y)
+
+ ac_bot_y = AC_TOP_Y + 4 * S # y of pos 31 / pos 39
+
+ # ----- AC-loop (32..38), 7 residues on 180° arc curling DOWN -----
+ arc_cx_ac = (AC_X_LEFT + AC_X_RIGHT) / 2
+ arc_cy_ac = ac_bot_y + AC_LOOP_RADIUS * 0.35
+ for k, n in enumerate(range(32, 39)):
+ t = (k + 0.5) / 7
+ # sweep from angle pi (left, near pos 31 column) to 0 (right, near pos 39 column)
+ # going DOWN through 3pi/2 (in y-down convention, that's bottom).
+ # parameterize: theta = pi - t * pi (pi to 0)
+ # but we want the arc to bulge DOWNWARD (positive y in SVG)
+ theta = math.pi - t * math.pi
+ x = arc_cx_ac + AC_LOOP_RADIUS * math.cos(theta)
+ # bulge down: use abs(sin) so all loop residues have y > arc_cy_ac
+ y = arc_cy_ac + AC_LOOP_RADIUS * abs(math.sin(theta))
+ coords[str(n)] = (x, y)
+
+ # ----- variable region (44..48): smooth curve from AC-stem 3' top to pos 49 -----
+ # The bulge runs from pos 43 (top-right of AC-stem) up to pos 49 (T-stem
+ # 5' end on bottom row of top stack). Quadratic bezier with control
+ # point bowed RIGHT so the path doesn't crowd the AC-stem 3' column.
+ # Positions are placed by ARC-LENGTH along the curve so consecutive
+ # neighbors are evenly spaced (a t-uniform sampling clusters at the apex).
+ var_start = (AC_X_RIGHT, AC_TOP_Y - 0.6 * S)
+ var_end = (t_right_x + 0.3 * S, BOT_Y + 0.6 * S)
+ ctrl_x = max(var_start[0], var_end[0]) + 18
+ ctrl_y = (var_start[1] + var_end[1]) / 2
+
+ def bez(t: float) -> tuple[float, float]:
+ x = (1 - t) ** 2 * var_start[0] + 2 * (1 - t) * t * ctrl_x + t ** 2 * var_end[0]
+ y = (1 - t) ** 2 * var_start[1] + 2 * (1 - t) * t * ctrl_y + t ** 2 * var_end[1]
+ return x, y
+
+ # Sample the curve densely to build an arc-length lookup
+ n_samples = 200
+ samples = [bez(i / n_samples) for i in range(n_samples + 1)]
+ cum_lengths = [0.0]
+ for a, b in zip(samples, samples[1:]):
+ cum_lengths.append(cum_lengths[-1] + math.hypot(b[0] - a[0], b[1] - a[1]))
+ total_length = cum_lengths[-1]
+
+ def t_for_arc(target_arc: float) -> float:
+ for i, L in enumerate(cum_lengths):
+ if L >= target_arc:
+ # linear interpolate t around index i
+ if i == 0:
+ return 0.0
+ prev = cum_lengths[i - 1]
+ frac = (target_arc - prev) / (L - prev) if L > prev else 0.0
+ return ((i - 1) + frac) / n_samples
+ return 1.0
+
+ # 5 residues, evenly spaced along the curve (1/6, 2/6, ..., 5/6 of total)
+ for k, n in enumerate(range(44, 49), start=1):
+ target = total_length * k / 6
+ t = t_for_arc(target)
+ coords[str(n)] = bez(t)
+
+ return coords
+
+
+def build_pair_lines(
+ sprinzl_by_pos: dict[int, dict],
+ pos_to_xy: dict[int, tuple[float, float]],
+) -> list[dict]:
+ """Compute base-pair tick lines from Sprinzl pairings."""
+ label_to_pos: dict[str, int] = {}
+ for pos, row in sprinzl_by_pos.items():
+ label = row["sprinzl_label"]
+ label_to_pos.setdefault(label, pos)
+
+ canonical_pairs = [
+ # acceptor stem
+ ("1", "72"), ("2", "71"), ("3", "70"), ("4", "69"),
+ ("5", "68"), ("6", "67"), ("7", "66"),
+ # D-stem
+ ("10", "25"), ("11", "24"), ("12", "23"), ("13", "22"),
+ # AC-stem
+ ("27", "43"), ("28", "42"), ("29", "41"),
+ ("30", "40"), ("31", "39"),
+ # T-stem
+ ("49", "65"), ("50", "64"), ("51", "63"),
+ ("52", "62"), ("53", "61"),
+ ]
+
+ lines: list[dict] = []
+ for a, b in canonical_pairs:
+ pa, pb = label_to_pos.get(a), label_to_pos.get(b)
+ if pa is None or pb is None:
+ continue
+ xa, ya = pos_to_xy[pa]
+ xb, yb = pos_to_xy[pb]
+ # base-pair tick: short segment between the two paired letter centers,
+ # offset so it doesn't overlap the letters.
+ dx, dy = xb - xa, yb - ya
+ L = math.hypot(dx, dy)
+ if L < 1e-6:
+ continue
+ ux, uy = dx / L, dy / L
+ pad = 2.5
+ x1 = xa + ux * pad
+ y1 = ya + uy * pad
+ x2 = xb - ux * pad
+ y2 = yb - uy * pad
+ # add small character-center offset (matches plot-structure.R nuc_*_offset)
+ x1 += 2.375
+ y1 += -2.565
+ x2 += 2.375
+ y2 += -2.565
+ lines.append({
+ "x1": round(x1, 2),
+ "y1": round(y1, 2),
+ "x2": round(x2, 2),
+ "y2": round(y2, 2),
+ })
+ return lines
+
+
+# --- SVG rendering ------------------------------------------------------
+
+
+SVG_HEADER = """\n")
+ return "".join(parts)
+
+
+if __name__ == "__main__":
+ sys.exit(main())
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Ala-GGC.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Ala-GGC.json
new file mode 100644
index 0000000..ebf223b
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Ala-GGC.json
@@ -0,0 +1,593 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "U",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "A",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "C",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 19
+ },
+ {
+ "base": "G",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 20
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 21
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 22
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 23
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 24
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 25
+ },
+ {
+ "base": "G",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 26
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 27
+ },
+ {
+ "base": "U",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 28
+ },
+ {
+ "base": "U",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 29
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 30
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 31
+ },
+ {
+ "base": "A",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 32
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 33
+ },
+ {
+ "base": "G",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 34
+ },
+ {
+ "base": "G",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 35
+ },
+ {
+ "base": "C",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 36
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 37
+ },
+ {
+ "base": "U",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 38
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 39
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 40
+ },
+ {
+ "base": "A",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 41
+ },
+ {
+ "base": "A",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 42
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 43
+ },
+ {
+ "base": "A",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 44
+ },
+ {
+ "base": "G",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 46
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 47
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 48
+ },
+ {
+ "base": "A",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 49
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "C",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 55
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 56
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 57
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 58
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 59
+ },
+ {
+ "base": "C",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 60
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "G",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "U",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "U",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "A",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "U",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 73
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 75
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 76
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Ala-GGC",
+ "sequence": "GGGGCUAUAGCUCAGCUGGGAGAGCGCUUGCAUGGCAUGCAAGAGGUCAGCGGUUCGAUCCCGCUUAGCUCCACCA",
+ "structure": "<<<<<<<..<<<<........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Ala-GGC.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Ala-GGC.svg
new file mode 100644
index 0000000..3093a23
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Ala-GGC.svg
@@ -0,0 +1,261 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Ala-TGC.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Ala-TGC.json
new file mode 100644
index 0000000..c334078
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Ala-TGC.json
@@ -0,0 +1,593 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "U",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "A",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "C",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 19
+ },
+ {
+ "base": "G",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 20
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 21
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 22
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 23
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 24
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 25
+ },
+ {
+ "base": "G",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 26
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 27
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 28
+ },
+ {
+ "base": "U",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 29
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 30
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 31
+ },
+ {
+ "base": "U",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 32
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 33
+ },
+ {
+ "base": "U",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 34
+ },
+ {
+ "base": "G",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 35
+ },
+ {
+ "base": "C",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 36
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 37
+ },
+ {
+ "base": "C",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 38
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 39
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 40
+ },
+ {
+ "base": "A",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 41
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 42
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 43
+ },
+ {
+ "base": "A",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 44
+ },
+ {
+ "base": "G",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 46
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 47
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 48
+ },
+ {
+ "base": "U",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 49
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "C",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 55
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 56
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 57
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 58
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 59
+ },
+ {
+ "base": "C",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 60
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "G",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "A",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "U",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "A",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "U",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 73
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 75
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 76
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Ala-TGC",
+ "sequence": "GGGGCUAUAGCUCAGCUGGGAGAGCGCCUGCUUUGCACGCAGGAGGUCUGCGGUUCGAUCCCGCAUAGCUCCACCA",
+ "structure": "<<<<<<<..<<<<........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Ala-TGC.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Ala-TGC.svg
new file mode 100644
index 0000000..466700c
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Ala-TGC.svg
@@ -0,0 +1,261 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-ACG.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-ACG.json
new file mode 100644
index 0000000..6a08602
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-ACG.json
@@ -0,0 +1,599 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "A",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "U",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "C",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "G",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "C",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 19
+ },
+ {
+ "base": "A",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 20
+ },
+ {
+ "base": "U",
+ "x": 151.04,
+ "y": 139.69,
+ "pos": 21
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 22
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 23
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 24
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 25
+ },
+ {
+ "base": "U",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 26
+ },
+ {
+ "base": "A",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 27
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 28
+ },
+ {
+ "base": "U",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 29
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 30
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 31
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 32
+ },
+ {
+ "base": "C",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 33
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 34
+ },
+ {
+ "base": "A",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 35
+ },
+ {
+ "base": "C",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 36
+ },
+ {
+ "base": "G",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 37
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 38
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 39
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 40
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 41
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 42
+ },
+ {
+ "base": "A",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 43
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 44
+ },
+ {
+ "base": "C",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 46
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 47
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 48
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 49
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "A",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 55
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 56
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 57
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 58
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 59
+ },
+ {
+ "base": "A",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 60
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "U",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "C",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "C",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "G",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "A",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "U",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 73
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 75
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 76
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 77
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Arg-ACG",
+ "sequence": "GCAUCCGUAGCUCAGCUGGAUAGAGUACUCGGCUACGAACCGAGCGGUCGGAGGUUCGAAUCCUCCCGGAUGCACCA",
+ "structure": "<<<<<<<..<<<<.........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-ACG.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-ACG.svg
new file mode 100644
index 0000000..e659989
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-ACG.svg
@@ -0,0 +1,264 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-CCG.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-CCG.json
new file mode 100644
index 0000000..d305268
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-CCG.json
@@ -0,0 +1,599 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "C",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "G",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "C",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 19
+ },
+ {
+ "base": "A",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 20
+ },
+ {
+ "base": "U",
+ "x": 151.04,
+ "y": 139.69,
+ "pos": 21
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 22
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 23
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 24
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 25
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 26
+ },
+ {
+ "base": "G",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 27
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 28
+ },
+ {
+ "base": "U",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 29
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 30
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 31
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 32
+ },
+ {
+ "base": "C",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 33
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 34
+ },
+ {
+ "base": "C",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 35
+ },
+ {
+ "base": "C",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 36
+ },
+ {
+ "base": "G",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 37
+ },
+ {
+ "base": "G",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 38
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 39
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 40
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 41
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 42
+ },
+ {
+ "base": "A",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 43
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 44
+ },
+ {
+ "base": "A",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 46
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 47
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 48
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 49
+ },
+ {
+ "base": "U",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "A",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 55
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 56
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 57
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 58
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 59
+ },
+ {
+ "base": "A",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 60
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "U",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "U",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "C",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "G",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 73
+ },
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 75
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 76
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 77
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Arg-CCG",
+ "sequence": "GCGCCCGUAGCUCAGCUGGAUAGAGCGCUGCCCUCCGGAGGCAGAGGUCUCAGGUUCGAAUCCUGUCGGGCGCGCCA",
+ "structure": "<<<<<<<..<<<<.........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-CCG.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-CCG.svg
new file mode 100644
index 0000000..96ed47b
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-CCG.svg
@@ -0,0 +1,264 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-CCT.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-CCT.json
new file mode 100644
index 0000000..0609669
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-CCT.json
@@ -0,0 +1,587 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "U",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "U",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "C",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "U",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "A",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "A",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "U",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 18
+ },
+ {
+ "base": "A",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 19
+ },
+ {
+ "base": "U",
+ "x": 151.04,
+ "y": 139.69,
+ "pos": 20
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 21
+ },
+ {
+ "base": "U",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 22
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 23
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 24
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 25
+ },
+ {
+ "base": "G",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 26
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 27
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 28
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 29
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 30
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 31
+ },
+ {
+ "base": "C",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 32
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 33
+ },
+ {
+ "base": "C",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 34
+ },
+ {
+ "base": "C",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 35
+ },
+ {
+ "base": "U",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 36
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 37
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 38
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 39
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 40
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 41
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 42
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 43
+ },
+ {
+ "base": "A",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 44
+ },
+ {
+ "base": "A",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 45
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 46
+ },
+ {
+ "base": "U",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 47
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 48
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 49
+ },
+ {
+ "base": "A",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 53
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 54
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 55
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 56
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 57
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 58
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 59
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 60
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 61
+ },
+ {
+ "base": "U",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "C",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "A",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "G",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "A",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 72
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 73
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 74
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 75
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Arg-CCT",
+ "sequence": "GUCCUCUUAGUUAAAUGGAUAUAACGAGCCCCUCCUAAGGGCUAAUUGCAGGUUCGAUUCCUGCAGGGGACACCA",
+ "structure": "<<<<<<<..<<<<........>>>>.<<<<<.......>>>>>....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-CCT.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-CCT.svg
new file mode 100644
index 0000000..40be1e2
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-CCT.svg
@@ -0,0 +1,258 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-TCT.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-TCT.json
new file mode 100644
index 0000000..9f71576
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-TCT.json
@@ -0,0 +1,599 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "C",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "U",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "U",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 19
+ },
+ {
+ "base": "A",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 20
+ },
+ {
+ "base": "U",
+ "x": 151.04,
+ "y": 139.69,
+ "pos": 21
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 22
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 23
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 24
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 25
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 26
+ },
+ {
+ "base": "A",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 27
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 28
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 29
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 30
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 31
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 32
+ },
+ {
+ "base": "C",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 33
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 34
+ },
+ {
+ "base": "U",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 35
+ },
+ {
+ "base": "C",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 36
+ },
+ {
+ "base": "U",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 37
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 38
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 39
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 40
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 41
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 42
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 43
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 44
+ },
+ {
+ "base": "G",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 46
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 47
+ },
+ {
+ "base": "C",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 48
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 49
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "A",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 55
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 56
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 57
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 58
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 59
+ },
+ {
+ "base": "A",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 60
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "U",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "C",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "A",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "G",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 73
+ },
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 75
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 76
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 77
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Arg-TCT",
+ "sequence": "GCGCCCUUAGCUCAGUUGGAUAGAGCAACGACCUUCUAAGUCGUGGGCCGCAGGUUCGAAUCCUGCAGGGCGCGCCA",
+ "structure": "<<<<<<<..<<<<.........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-TCT.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-TCT.svg
new file mode 100644
index 0000000..c1bb15d
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Arg-TCT.svg
@@ -0,0 +1,264 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Asn-GTT.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Asn-GTT.json
new file mode 100644
index 0000000..7253b98
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Asn-GTT.json
@@ -0,0 +1,593 @@
+{
+ "nucleotides": [
+ {
+ "base": "U",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "U",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "U",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "G",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "U",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 19
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 20
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 21
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 22
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 23
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 24
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 25
+ },
+ {
+ "base": "G",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 26
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 27
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 28
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 29
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 30
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 31
+ },
+ {
+ "base": "C",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 32
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 33
+ },
+ {
+ "base": "G",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 34
+ },
+ {
+ "base": "U",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 35
+ },
+ {
+ "base": "U",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 36
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 37
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 38
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 39
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 40
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 41
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 42
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 43
+ },
+ {
+ "base": "A",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 44
+ },
+ {
+ "base": "U",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 46
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 47
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 48
+ },
+ {
+ "base": "A",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 49
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "U",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 55
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 56
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 57
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 58
+ },
+ {
+ "base": "G",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 59
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 60
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "A",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "U",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "C",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "A",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "A",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 73
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 75
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 76
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Asn-GTT",
+ "sequence": "UCCUCUGUAGUUCAGUCGGUAGAACGGCGGACUGUUAAUCCGUAUGUCACUGGUUCGAGUCCAGUCAGAGGAGCCA",
+ "structure": "<<<<<<<..<<<<........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Asn-GTT.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Asn-GTT.svg
new file mode 100644
index 0000000..795dafa
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Asn-GTT.svg
@@ -0,0 +1,261 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Asp-GTC.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Asp-GTC.json
new file mode 100644
index 0000000..96b7d19
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Asp-GTC.json
@@ -0,0 +1,599 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "A",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "G",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "G",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "U",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 19
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 20
+ },
+ {
+ "base": "U",
+ "x": 151.04,
+ "y": 139.69,
+ "pos": 21
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 22
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 23
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 24
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 25
+ },
+ {
+ "base": "U",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 26
+ },
+ {
+ "base": "A",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 27
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 28
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 29
+ },
+ {
+ "base": "U",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 30
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 31
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 32
+ },
+ {
+ "base": "C",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 33
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 34
+ },
+ {
+ "base": "G",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 35
+ },
+ {
+ "base": "U",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 36
+ },
+ {
+ "base": "C",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 37
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 38
+ },
+ {
+ "base": "C",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 39
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 40
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 41
+ },
+ {
+ "base": "A",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 42
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 43
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 44
+ },
+ {
+ "base": "G",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 46
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 47
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 48
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 49
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "G",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 55
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 56
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 57
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 58
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 59
+ },
+ {
+ "base": "G",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 60
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "C",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "U",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "C",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "C",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "U",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "U",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 73
+ },
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 75
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 76
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 77
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Asp-GTC",
+ "sequence": "GGAGCGGUAGUUCAGUCGGUUAGAAUACCUGCCUGUCACGCAGGGGGUCGCGGGUUCGAGUCCCGUCCGUUCCGCCA",
+ "structure": "<<<<<<<..<<<<.........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Asp-GTC.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Asp-GTC.svg
new file mode 100644
index 0000000..ecc2012
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Asp-GTC.svg
@@ -0,0 +1,264 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Cys-GCA.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Cys-GCA.json
new file mode 100644
index 0000000..2388a20
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Cys-GCA.json
@@ -0,0 +1,581 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "G",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "U",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "A",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "A",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "A",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "C",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 18
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 19
+ },
+ {
+ "base": "U",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 20
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 21
+ },
+ {
+ "base": "U",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 22
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 23
+ },
+ {
+ "base": "U",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 24
+ },
+ {
+ "base": "A",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 25
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 26
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 27
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 28
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 29
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 30
+ },
+ {
+ "base": "U",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 31
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 32
+ },
+ {
+ "base": "G",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 33
+ },
+ {
+ "base": "C",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 34
+ },
+ {
+ "base": "A",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 35
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 36
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 37
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 38
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 39
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 40
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 41
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 42
+ },
+ {
+ "base": "C",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 43
+ },
+ {
+ "base": "U",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 44
+ },
+ {
+ "base": "A",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 46
+ },
+ {
+ "base": "U",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 47
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 48
+ },
+ {
+ "base": "C",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 49
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 52
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 53
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 54
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 55
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 56
+ },
+ {
+ "base": "C",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 57
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 58
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 59
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 60
+ },
+ {
+ "base": "G",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 61
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "A",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "A",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "C",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "U",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 71
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 72
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 73
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 74
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Cys-GCA",
+ "sequence": "GGCGCGUUAACAAAGCGGUUAUGUAGCGGAUUGCAAAUCCGUCUAGUCCGGUUCGACUCCGGAACGCGCCUCCA",
+ "structure": "<<<<<<<..<<<<.......>>>>.<<<<<.......>>>>>....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Cys-GCA.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Cys-GCA.svg
new file mode 100644
index 0000000..4df4e16
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Cys-GCA.svg
@@ -0,0 +1,255 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gln-CTG.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gln-CTG.json
new file mode 100644
index 0000000..0df8f73
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gln-CTG.json
@@ -0,0 +1,587 @@
+{
+ "nucleotides": [
+ {
+ "base": "U",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "U",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "A",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "C",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "A",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "C",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 18
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 19
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 20
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 21
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 22
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 23
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 24
+ },
+ {
+ "base": "A",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 25
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 26
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 27
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 28
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 29
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 30
+ },
+ {
+ "base": "U",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 31
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 32
+ },
+ {
+ "base": "C",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 33
+ },
+ {
+ "base": "U",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 34
+ },
+ {
+ "base": "G",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 35
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 36
+ },
+ {
+ "base": "U",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 37
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 38
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 39
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 40
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 41
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 42
+ },
+ {
+ "base": "C",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 43
+ },
+ {
+ "base": "A",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 44
+ },
+ {
+ "base": "U",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 45
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 46
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 47
+ },
+ {
+ "base": "C",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 48
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 49
+ },
+ {
+ "base": "A",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 53
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 54
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 55
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 56
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 57
+ },
+ {
+ "base": "A",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 58
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 59
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 60
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 61
+ },
+ {
+ "base": "U",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "U",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "A",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 72
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 73
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 74
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 75
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Gln-CTG",
+ "sequence": "UGGGGUAUCGCCAAGCGGUAAGGCACCGGAUUCUGAUUCCGGCAUUCCGAGGUUCGAAUCCUCGUACCCCAGCCA",
+ "structure": "<<<<<<<..<<<<.......>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gln-CTG.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gln-CTG.svg
new file mode 100644
index 0000000..a93e574
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gln-CTG.svg
@@ -0,0 +1,258 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gln-TTG.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gln-TTG.json
new file mode 100644
index 0000000..59ebab7
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gln-TTG.json
@@ -0,0 +1,587 @@
+{
+ "nucleotides": [
+ {
+ "base": "U",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "U",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "A",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "C",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "A",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "C",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 18
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 19
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 20
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 21
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 22
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 23
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 24
+ },
+ {
+ "base": "A",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 25
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 26
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 27
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 28
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 29
+ },
+ {
+ "base": "U",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 30
+ },
+ {
+ "base": "U",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 31
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 32
+ },
+ {
+ "base": "U",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 33
+ },
+ {
+ "base": "U",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 34
+ },
+ {
+ "base": "G",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 35
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 36
+ },
+ {
+ "base": "U",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 37
+ },
+ {
+ "base": "A",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 38
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 39
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 40
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 41
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 42
+ },
+ {
+ "base": "C",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 43
+ },
+ {
+ "base": "A",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 44
+ },
+ {
+ "base": "U",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 45
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 46
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 47
+ },
+ {
+ "base": "C",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 48
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 49
+ },
+ {
+ "base": "U",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 53
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 54
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 55
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 56
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 57
+ },
+ {
+ "base": "A",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 58
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 59
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 60
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 61
+ },
+ {
+ "base": "A",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "U",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "A",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 72
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 73
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 74
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 75
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Gln-TTG",
+ "sequence": "UGGGGUAUCGCCAAGCGGUAAGGCACCGGUUUUUGAUACCGGCAUUCCCUGGUUCGAAUCCAGGUACCCCAGCCA",
+ "structure": "<<<<<<<..<<<<.......>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gln-TTG.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gln-TTG.svg
new file mode 100644
index 0000000..4223cb9
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gln-TTG.svg
@@ -0,0 +1,258 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Glu-TTC.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Glu-TTC.json
new file mode 100644
index 0000000..6d57eff
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Glu-TTC.json
@@ -0,0 +1,593 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "U",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "C",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "U",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "C",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "A",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 18
+ },
+ {
+ "base": "C",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 19
+ },
+ {
+ "base": "C",
+ "x": 151.04,
+ "y": 139.69,
+ "pos": 20
+ },
+ {
+ "base": "C",
+ "x": 151.96,
+ "y": 137.6,
+ "pos": 21
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 22
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 23
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 24
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 25
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 26
+ },
+ {
+ "base": "A",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 27
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 28
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 29
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 30
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 31
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 32
+ },
+ {
+ "base": "C",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 33
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 34
+ },
+ {
+ "base": "U",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 35
+ },
+ {
+ "base": "U",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 36
+ },
+ {
+ "base": "C",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 37
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 38
+ },
+ {
+ "base": "C",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 39
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 40
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 41
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 42
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 43
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 44
+ },
+ {
+ "base": "U",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 45
+ },
+ {
+ "base": "A",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 46
+ },
+ {
+ "base": "A",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 47
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 48
+ },
+ {
+ "base": "A",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 49
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "G",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 55
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 56
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 57
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 58
+ },
+ {
+ "base": "A",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 59
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 60
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "C",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "U",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "A",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "G",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "A",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 73
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 75
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 76
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Glu-TTC",
+ "sequence": "GUCCCCUUCGUCUAGAGGCCCAGGACACCGCCCUUUCACGGCGGUAACAGGGGUUCGAAUCCCCUAGGGGACGCCA",
+ "structure": "<<<<<<<..<<<<.........>>>>.<<<<<.......>>>>>....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Glu-TTC.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Glu-TTC.svg
new file mode 100644
index 0000000..95bd6c4
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Glu-TTC.svg
@@ -0,0 +1,261 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gly-CCC.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gly-CCC.json
new file mode 100644
index 0000000..fcdb2dd
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gly-CCC.json
@@ -0,0 +1,581 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "C",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "G",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "A",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "U",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 18
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 19
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 20
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 21
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 22
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 23
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 24
+ },
+ {
+ "base": "G",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 25
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 26
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 27
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 28
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 29
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 30
+ },
+ {
+ "base": "U",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 31
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 32
+ },
+ {
+ "base": "C",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 33
+ },
+ {
+ "base": "C",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 34
+ },
+ {
+ "base": "C",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 35
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 36
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 37
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 38
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 39
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 40
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 41
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 42
+ },
+ {
+ "base": "A",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 43
+ },
+ {
+ "base": "U",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 44
+ },
+ {
+ "base": "A",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 45
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 46
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 47
+ },
+ {
+ "base": "A",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 48
+ },
+ {
+ "base": "G",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 49
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 52
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 53
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 54
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 55
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 56
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 57
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 58
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 59
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 60
+ },
+ {
+ "base": "C",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 61
+ },
+ {
+ "base": "U",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "U",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "C",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "G",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "U",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 71
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 72
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 73
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 74
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Gly-CCC",
+ "sequence": "GCGGGCGUAGUUCAAUGGUAGAACGAGAGCUUCCCAAGCUCUAUACGAGGGUUCGAUUCCCUUCGCCCGCUCCA",
+ "structure": "<<<<<<<..<<<<.......>>>>.<<<<<.......>>>>>....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gly-CCC.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gly-CCC.svg
new file mode 100644
index 0000000..02dea5b
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gly-CCC.svg
@@ -0,0 +1,255 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gly-GCC.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gly-GCC.json
new file mode 100644
index 0000000..e17ec67
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gly-GCC.json
@@ -0,0 +1,593 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "A",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "A",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "U",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 19
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 20
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 21
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 22
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 23
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 24
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 25
+ },
+ {
+ "base": "A",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 26
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 27
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 28
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 29
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 30
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 31
+ },
+ {
+ "base": "U",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 32
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 33
+ },
+ {
+ "base": "G",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 34
+ },
+ {
+ "base": "C",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 35
+ },
+ {
+ "base": "C",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 36
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 37
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 38
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 39
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 40
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 41
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 42
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 43
+ },
+ {
+ "base": "G",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 44
+ },
+ {
+ "base": "G",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 46
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 47
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 48
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 49
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "G",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "A",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 55
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 56
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 57
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 58
+ },
+ {
+ "base": "G",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 59
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 60
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 61
+ },
+ {
+ "base": "U",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "C",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "U",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "U",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "U",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "U",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 73
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 75
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 76
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Gly-GCC",
+ "sequence": "GCGGGAAUAGCUCAGUUGGUAGAGCACGACCUUGCCAAGGUCGGGGUCGCGAGUUCGAGUCUCGUUUCCCGCUCCA",
+ "structure": "<<<<<<<..<<<<........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gly-GCC.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gly-GCC.svg
new file mode 100644
index 0000000..e7f1185
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gly-GCC.svg
@@ -0,0 +1,261 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gly-TCC.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gly-TCC.json
new file mode 100644
index 0000000..a7914fa
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gly-TCC.json
@@ -0,0 +1,587 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "C",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "A",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "C",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "A",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "A",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "U",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 18
+ },
+ {
+ "base": "C",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 19
+ },
+ {
+ "base": "U",
+ "x": 151.04,
+ "y": 139.69,
+ "pos": 20
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 21
+ },
+ {
+ "base": "U",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 22
+ },
+ {
+ "base": "U",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 23
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 24
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 25
+ },
+ {
+ "base": "C",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 26
+ },
+ {
+ "base": "U",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 27
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 28
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 29
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 30
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 31
+ },
+ {
+ "base": "C",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 32
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 33
+ },
+ {
+ "base": "U",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 34
+ },
+ {
+ "base": "C",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 35
+ },
+ {
+ "base": "C",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 36
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 37
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 38
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 39
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 40
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 41
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 42
+ },
+ {
+ "base": "A",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 43
+ },
+ {
+ "base": "U",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 44
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 45
+ },
+ {
+ "base": "A",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 46
+ },
+ {
+ "base": "U",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 47
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 48
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 49
+ },
+ {
+ "base": "G",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 53
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 54
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 55
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 56
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 57
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 58
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 59
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 60
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "C",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "U",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "G",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "U",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 72
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 73
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 74
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 75
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Gly-TCC",
+ "sequence": "GCGGGCAUCGUAUAAUGGCUAUUACCUCAGCCUUCCAAGCUGAUGAUGCGGGUUCGAUUCCCGCUGCCCGCUCCA",
+ "structure": "<<<<<<<..<<<<........>>>>.<<<<<.......>>>>>....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gly-TCC.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gly-TCC.svg
new file mode 100644
index 0000000..5a9be55
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Gly-TCC.svg
@@ -0,0 +1,258 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-His-GTG.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-His-GTG.json
new file mode 100644
index 0000000..e26a584
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-His-GTG.json
@@ -0,0 +1,593 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "U",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "U",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "A",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "U",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 19
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 20
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 21
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 22
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 23
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 24
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 25
+ },
+ {
+ "base": "C",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 26
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 27
+ },
+ {
+ "base": "U",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 28
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 29
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 30
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 31
+ },
+ {
+ "base": "U",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 32
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 33
+ },
+ {
+ "base": "G",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 34
+ },
+ {
+ "base": "U",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 35
+ },
+ {
+ "base": "G",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 36
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 37
+ },
+ {
+ "base": "U",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 38
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 39
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 40
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 41
+ },
+ {
+ "base": "A",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 42
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 43
+ },
+ {
+ "base": "U",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 44
+ },
+ {
+ "base": "U",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 46
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 47
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 48
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 49
+ },
+ {
+ "base": "U",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "G",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 55
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 56
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 57
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 58
+ },
+ {
+ "base": "A",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 59
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 60
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "C",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "A",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "U",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "U",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "A",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "A",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 73
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 75
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 76
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-His-GTG",
+ "sequence": "GUGGCUAUAGCUCAGUUGGUAGAGCCCUGGAUUGUGAUUCCAGUUGUCGUGGGUUCGAAUCCCAUUAGCCACCCCA",
+ "structure": "<<<<<<<..<<<<........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-His-GTG.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-His-GTG.svg
new file mode 100644
index 0000000..2d1e7bc
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-His-GTG.svg
@@ -0,0 +1,261 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Ile-GAT.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Ile-GAT.json
new file mode 100644
index 0000000..6004cb8
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Ile-GAT.json
@@ -0,0 +1,599 @@
+{
+ "nucleotides": [
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "U",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "U",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "G",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "G",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 19
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 20
+ },
+ {
+ "base": "U",
+ "x": 151.04,
+ "y": 139.69,
+ "pos": 21
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 22
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 23
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 24
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 25
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 26
+ },
+ {
+ "base": "G",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 27
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 28
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 29
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 30
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 31
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 32
+ },
+ {
+ "base": "C",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 33
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 34
+ },
+ {
+ "base": "G",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 35
+ },
+ {
+ "base": "A",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 36
+ },
+ {
+ "base": "U",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 37
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 38
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 39
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 40
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 41
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 42
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 43
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 44
+ },
+ {
+ "base": "A",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 46
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 47
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 48
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 49
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "U",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 55
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 56
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 57
+ },
+ {
+ "base": "A",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 58
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 59
+ },
+ {
+ "base": "G",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 60
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "A",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "U",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "C",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "A",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "U",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 73
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 75
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 76
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 77
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Ile-GAT",
+ "sequence": "AGGCUUGUAGCUCAGGUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGUCGGUGGUUCAAGUCCACUCAGGCCUACCA",
+ "structure": "<<<<<<<..<<<<.........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Ile-GAT.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Ile-GAT.svg
new file mode 100644
index 0000000..56d0970
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Ile-GAT.svg
@@ -0,0 +1,264 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Lys-TTT.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Lys-TTT.json
new file mode 100644
index 0000000..489ab37
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Lys-TTT.json
@@ -0,0 +1,593 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "U",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "G",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "U",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "U",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 19
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 20
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 21
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 22
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 23
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 24
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 25
+ },
+ {
+ "base": "A",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 26
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 27
+ },
+ {
+ "base": "U",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 28
+ },
+ {
+ "base": "U",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 29
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 30
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 31
+ },
+ {
+ "base": "C",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 32
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 33
+ },
+ {
+ "base": "U",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 34
+ },
+ {
+ "base": "U",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 35
+ },
+ {
+ "base": "U",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 36
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 37
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 38
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 39
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 40
+ },
+ {
+ "base": "A",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 41
+ },
+ {
+ "base": "A",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 42
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 43
+ },
+ {
+ "base": "U",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 44
+ },
+ {
+ "base": "G",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 46
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 47
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 48
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 49
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "A",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 55
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 56
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 57
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 58
+ },
+ {
+ "base": "A",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 59
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 60
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "U",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "C",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "A",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "C",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "A",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 73
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 75
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 76
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Lys-TTT",
+ "sequence": "GGGUCGUUAGCUCAGUUGGUAGAGCAGUUGACUUUUAAUCAAUUGGUCGCAGGUUCGAAUCCUGCACGACCCACCA",
+ "structure": "<<<<<<<..<<<<........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Lys-TTT.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Lys-TTT.svg
new file mode 100644
index 0000000..f3a1eed
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Lys-TTT.svg
@@ -0,0 +1,261 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Met-CAT.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Met-CAT.json
new file mode 100644
index 0000000..60efc60
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Met-CAT.json
@@ -0,0 +1,599 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "U",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "A",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "C",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "G",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "U",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 19
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 20
+ },
+ {
+ "base": "U",
+ "x": 151.04,
+ "y": 139.69,
+ "pos": 21
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 22
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 23
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 24
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 25
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 26
+ },
+ {
+ "base": "A",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 27
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 28
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 29
+ },
+ {
+ "base": "U",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 30
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 31
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 32
+ },
+ {
+ "base": "C",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 33
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 34
+ },
+ {
+ "base": "C",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 35
+ },
+ {
+ "base": "A",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 36
+ },
+ {
+ "base": "U",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 37
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 38
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 39
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 40
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 41
+ },
+ {
+ "base": "A",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 42
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 43
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 44
+ },
+ {
+ "base": "G",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 46
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 47
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 48
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 49
+ },
+ {
+ "base": "A",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "A",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 55
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 56
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 57
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 58
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 59
+ },
+ {
+ "base": "A",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 60
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "C",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "U",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "C",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "G",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "U",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "A",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 73
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 75
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 76
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 77
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Met-CAT",
+ "sequence": "GGCUACGUAGCUCAGUUGGUUAGAGCACAUCACUCAUAAUGAUGGGGUCACAGGUUCGAAUCCCGUCGUAGCCACCA",
+ "structure": "<<<<<<<..<<<<.........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Met-CAT.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Met-CAT.svg
new file mode 100644
index 0000000..9cca0ec
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Met-CAT.svg
@@ -0,0 +1,264 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Phe-GAA.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Phe-GAA.json
new file mode 100644
index 0000000..7c284f5
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Phe-GAA.json
@@ -0,0 +1,593 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "G",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "A",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "U",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 19
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 20
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 21
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 22
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 23
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 24
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 25
+ },
+ {
+ "base": "A",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 26
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 27
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 28
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 29
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 30
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 31
+ },
+ {
+ "base": "U",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 32
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 33
+ },
+ {
+ "base": "G",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 34
+ },
+ {
+ "base": "A",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 35
+ },
+ {
+ "base": "A",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 36
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 37
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 38
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 39
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 40
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 41
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 42
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 43
+ },
+ {
+ "base": "G",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 44
+ },
+ {
+ "base": "U",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 46
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 47
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 48
+ },
+ {
+ "base": "C",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 49
+ },
+ {
+ "base": "U",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "U",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 55
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 56
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 57
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 58
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 59
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 60
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "G",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "A",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "U",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "C",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 73
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 75
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 76
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Phe-GAA",
+ "sequence": "GCCCGGAUAGCUCAGUCGGUAGAGCAGGGGAUUGAAAAUCCCCGUGUCCUUGGUUCGAUUCCGAGUCCGGGCACCA",
+ "structure": "<<<<<<<..<<<<........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Phe-GAA.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Phe-GAA.svg
new file mode 100644
index 0000000..b7595be
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Phe-GAA.svg
@@ -0,0 +1,261 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Pro-CGG.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Pro-CGG.json
new file mode 100644
index 0000000..6309350
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Pro-CGG.json
@@ -0,0 +1,599 @@
+{
+ "nucleotides": [
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "U",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "A",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "U",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "G",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "C",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "U",
+ "x": 133.78,
+ "y": 150.27,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 19
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 20
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 21
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 22
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 23
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 24
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 25
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 26
+ },
+ {
+ "base": "A",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 27
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 28
+ },
+ {
+ "base": "U",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 29
+ },
+ {
+ "base": "U",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 30
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 31
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 32
+ },
+ {
+ "base": "U",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 33
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 34
+ },
+ {
+ "base": "C",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 35
+ },
+ {
+ "base": "G",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 36
+ },
+ {
+ "base": "G",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 37
+ },
+ {
+ "base": "G",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 38
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 39
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 40
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 41
+ },
+ {
+ "base": "A",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 42
+ },
+ {
+ "base": "A",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 43
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 44
+ },
+ {
+ "base": "G",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 46
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 47
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 48
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 49
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "A",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 55
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 56
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 57
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 58
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 59
+ },
+ {
+ "base": "A",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 60
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "U",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "U",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "A",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "U",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "A",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 73
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 75
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 76
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 77
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Pro-CGG",
+ "sequence": "CGGUGAUUGGCGCAGCCUGGUAGCGCACUUCGUUCGGGACGAAGGGGUCGGAGGUUCGAAUCCUCUAUCACCGACCA",
+ "structure": "<<<<<<<..<<<<.........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Pro-CGG.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Pro-CGG.svg
new file mode 100644
index 0000000..4be4727
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Pro-CGG.svg
@@ -0,0 +1,264 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Pro-GGG.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Pro-GGG.json
new file mode 100644
index 0000000..f991397
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Pro-GGG.json
@@ -0,0 +1,599 @@
+{
+ "nucleotides": [
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "A",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "C",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "G",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "C",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "U",
+ "x": 133.78,
+ "y": 150.27,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 19
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 20
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 21
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 22
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 23
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 24
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 25
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 26
+ },
+ {
+ "base": "A",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 27
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 28
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 29
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 30
+ },
+ {
+ "base": "U",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 31
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 32
+ },
+ {
+ "base": "A",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 33
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 34
+ },
+ {
+ "base": "G",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 35
+ },
+ {
+ "base": "G",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 36
+ },
+ {
+ "base": "G",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 37
+ },
+ {
+ "base": "G",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 38
+ },
+ {
+ "base": "U",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 39
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 40
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 41
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 42
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 43
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 44
+ },
+ {
+ "base": "G",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 46
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 47
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 48
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 49
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "A",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 55
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 56
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 57
+ },
+ {
+ "base": "A",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 58
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 59
+ },
+ {
+ "base": "A",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 60
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "U",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "U",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "C",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "G",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "U",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 73
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 75
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 76
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 77
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Pro-GGG",
+ "sequence": "CGGCACGUAGCGCAGCCUGGUAGCGCACCGUCAUGGGGUGUCGGGGGUCGGAGGUUCAAAUCCUCUCGUGCCGACCA",
+ "structure": "<<<<<<<..<<<<.........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Pro-GGG.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Pro-GGG.svg
new file mode 100644
index 0000000..18089b5
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Pro-GGG.svg
@@ -0,0 +1,264 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Pro-TGG.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Pro-TGG.json
new file mode 100644
index 0000000..0b1a96a
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Pro-TGG.json
@@ -0,0 +1,599 @@
+{
+ "nucleotides": [
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "A",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "G",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "C",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "U",
+ "x": 133.78,
+ "y": 150.27,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 19
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 20
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 21
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 22
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 23
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 24
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 25
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 26
+ },
+ {
+ "base": "A",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 27
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 28
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 29
+ },
+ {
+ "base": "U",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 30
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 31
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 32
+ },
+ {
+ "base": "U",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 33
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 34
+ },
+ {
+ "base": "U",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 35
+ },
+ {
+ "base": "G",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 36
+ },
+ {
+ "base": "G",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 37
+ },
+ {
+ "base": "G",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 38
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 39
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 40
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 41
+ },
+ {
+ "base": "A",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 42
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 43
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 44
+ },
+ {
+ "base": "G",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 46
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 47
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 48
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 49
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "A",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 55
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 56
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 57
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 58
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 59
+ },
+ {
+ "base": "A",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 60
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "U",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "U",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "C",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "U",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 73
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 75
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 76
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 77
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Pro-TGG",
+ "sequence": "CGGCGAGUAGCGCAGCUUGGUAGCGCAACUGGUUUGGGACCAGUGGGUCGGAGGUUCGAAUCCUCUCUCGCCGACCA",
+ "structure": "<<<<<<<..<<<<.........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Pro-TGG.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Pro-TGG.svg
new file mode 100644
index 0000000..2532eb7
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Pro-TGG.svg
@@ -0,0 +1,264 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Thr-CGT.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Thr-CGT.json
new file mode 100644
index 0000000..c8c6e96
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Thr-CGT.json
@@ -0,0 +1,593 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "A",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "U",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "A",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "U",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 19
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 20
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 21
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 22
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 23
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 24
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 25
+ },
+ {
+ "base": "A",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 26
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 27
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 28
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 29
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 30
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 31
+ },
+ {
+ "base": "U",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 32
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 33
+ },
+ {
+ "base": "C",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 34
+ },
+ {
+ "base": "G",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 35
+ },
+ {
+ "base": "U",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 36
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 37
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 38
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 39
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 40
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 41
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 42
+ },
+ {
+ "base": "A",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 43
+ },
+ {
+ "base": "A",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 44
+ },
+ {
+ "base": "G",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 46
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 47
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 48
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 49
+ },
+ {
+ "base": "U",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "A",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 55
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 56
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 57
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 58
+ },
+ {
+ "base": "C",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 59
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 60
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "U",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "A",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "U",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "U",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "A",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "U",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 73
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 75
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 76
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Thr-CGT",
+ "sequence": "GCCGAUAUAGCUCAGUUGGUAGAGCAGCGCAUUCGUAAUGCGAAGGUCGUAGGUUCGACUCCUAUUAUCGGCACCA",
+ "structure": "<<<<<<<..<<<<........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Thr-CGT.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Thr-CGT.svg
new file mode 100644
index 0000000..dc6dae6
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Thr-CGT.svg
@@ -0,0 +1,261 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Thr-GGT.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Thr-GGT.json
new file mode 100644
index 0000000..1ff421b
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Thr-GGT.json
@@ -0,0 +1,593 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "U",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "A",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "U",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "A",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "U",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 19
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 20
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 21
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 22
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 23
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 24
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 25
+ },
+ {
+ "base": "G",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 26
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 27
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 28
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 29
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 30
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 31
+ },
+ {
+ "base": "U",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 32
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 33
+ },
+ {
+ "base": "G",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 34
+ },
+ {
+ "base": "G",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 35
+ },
+ {
+ "base": "U",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 36
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 37
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 38
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 39
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 40
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 41
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 42
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 43
+ },
+ {
+ "base": "A",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 44
+ },
+ {
+ "base": "G",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 46
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 47
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 48
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 49
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "C",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "A",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 55
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 56
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 57
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 58
+ },
+ {
+ "base": "A",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 59
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 60
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 61
+ },
+ {
+ "base": "U",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "G",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "C",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "U",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "A",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "U",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "A",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 73
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 75
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 76
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Thr-GGT",
+ "sequence": "GCUGAUAUAGCUCAGUUGGUAGAGCGCACCCUUGGUAAGGGUGAGGUCGGCAGUUCGAAUCUGCCUAUCAGCACCA",
+ "structure": "<<<<<<<..<<<<........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Thr-GGT.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Thr-GGT.svg
new file mode 100644
index 0000000..5a08593
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Thr-GGT.svg
@@ -0,0 +1,261 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Thr-TGT.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Thr-TGT.json
new file mode 100644
index 0000000..743baae
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Thr-TGT.json
@@ -0,0 +1,593 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "A",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "C",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "U",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "U",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "A",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 19
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 20
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 21
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 22
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 23
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 24
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 25
+ },
+ {
+ "base": "A",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 26
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 27
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 28
+ },
+ {
+ "base": "U",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 29
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 30
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 31
+ },
+ {
+ "base": "C",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 32
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 33
+ },
+ {
+ "base": "U",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 34
+ },
+ {
+ "base": "G",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 35
+ },
+ {
+ "base": "U",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 36
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 37
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 38
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 39
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 40
+ },
+ {
+ "base": "A",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 41
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 42
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 43
+ },
+ {
+ "base": "A",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 44
+ },
+ {
+ "base": "G",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 46
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 47
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 48
+ },
+ {
+ "base": "A",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 49
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "C",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "A",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 55
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 56
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 57
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 58
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 59
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 60
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "G",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "U",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "A",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "G",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "U",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 73
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 75
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 76
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Thr-TGT",
+ "sequence": "GCCGACUUAGCUCAGUAGGUAGAGCAACUGACUUGUAAUCAGUAGGUCACCAGUUCGAUUCCGGUAGUCGGCACCA",
+ "structure": "<<<<<<<..<<<<........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Thr-TGT.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Thr-TGT.svg
new file mode 100644
index 0000000..64ef57a
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Thr-TGT.svg
@@ -0,0 +1,261 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Trp-CCA.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Trp-CCA.json
new file mode 100644
index 0000000..2950180
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Trp-CCA.json
@@ -0,0 +1,593 @@
+{
+ "nucleotides": [
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "G",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "C",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "G",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "A",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "U",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 19
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 20
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 21
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 22
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 23
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 24
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 25
+ },
+ {
+ "base": "A",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 26
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 27
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 28
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 29
+ },
+ {
+ "base": "G",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 30
+ },
+ {
+ "base": "U",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 31
+ },
+ {
+ "base": "C",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 32
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 33
+ },
+ {
+ "base": "C",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 34
+ },
+ {
+ "base": "C",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 35
+ },
+ {
+ "base": "A",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 36
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 37
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 38
+ },
+ {
+ "base": "A",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 39
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 40
+ },
+ {
+ "base": "C",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 41
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 42
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 43
+ },
+ {
+ "base": "G",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 44
+ },
+ {
+ "base": "U",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 46
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 47
+ },
+ {
+ "base": "U",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 48
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 49
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "G",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "A",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 55
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 56
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 57
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 58
+ },
+ {
+ "base": "G",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 59
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 60
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 61
+ },
+ {
+ "base": "U",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "C",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "U",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "C",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "C",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "G",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "C",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "U",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 73
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 75
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 76
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Trp-CCA",
+ "sequence": "AGGGGCGUAGUUCAAUUGGUAGAGCACCGGUCUCCAAAACCGGGUGUUGGGAGUUCGAGUCUCUCCGCCCCUGCCA",
+ "structure": "<<<<<<<..<<<<........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Trp-CCA.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Trp-CCA.svg
new file mode 100644
index 0000000..f1de825
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Trp-CCA.svg
@@ -0,0 +1,261 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Val-GAC.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Val-GAC.json
new file mode 100644
index 0000000..1264a02
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Val-GAC.json
@@ -0,0 +1,599 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "U",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "C",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "G",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "U",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 19
+ },
+ {
+ "base": "U",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 20
+ },
+ {
+ "base": "U",
+ "x": 151.04,
+ "y": 139.69,
+ "pos": 21
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 22
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 23
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 24
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 25
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 26
+ },
+ {
+ "base": "A",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 27
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 28
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 29
+ },
+ {
+ "base": "A",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 30
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 31
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 32
+ },
+ {
+ "base": "U",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 33
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 34
+ },
+ {
+ "base": "G",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 35
+ },
+ {
+ "base": "A",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 36
+ },
+ {
+ "base": "C",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 37
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 38
+ },
+ {
+ "base": "U",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 39
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 40
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 41
+ },
+ {
+ "base": "U",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 42
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 43
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 44
+ },
+ {
+ "base": "G",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 46
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 47
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 48
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 49
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "U",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 55
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 56
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 57
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 58
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 59
+ },
+ {
+ "base": "G",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 60
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "A",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "C",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "U",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "C",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "G",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "A",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 73
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 75
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 76
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 77
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Val-GAC",
+ "sequence": "GCGUCCGUAGCUCAGUUGGUUAGAGCACCACCUUGACAUGGUGGGGGUCGGUGGUUCGAGUCCACUCGGACGCACCA",
+ "structure": "<<<<<<<..<<<<.........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Val-GAC.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Val-GAC.svg
new file mode 100644
index 0000000..bbcf159
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Val-GAC.svg
@@ -0,0 +1,264 @@
+
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Val-TAC.json b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Val-TAC.json
new file mode 100644
index 0000000..216ff5d
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Val-TAC.json
@@ -0,0 +1,593 @@
+{
+ "nucleotides": [
+ {
+ "base": "G",
+ "x": 220.0,
+ "y": 47.56,
+ "pos": 1
+ },
+ {
+ "base": "G",
+ "x": 212.44,
+ "y": 47.56,
+ "pos": 2
+ },
+ {
+ "base": "G",
+ "x": 204.88,
+ "y": 47.56,
+ "pos": 3
+ },
+ {
+ "base": "U",
+ "x": 197.32,
+ "y": 47.56,
+ "pos": 4
+ },
+ {
+ "base": "G",
+ "x": 189.76,
+ "y": 47.56,
+ "pos": 5
+ },
+ {
+ "base": "A",
+ "x": 182.2,
+ "y": 47.56,
+ "pos": 6
+ },
+ {
+ "base": "U",
+ "x": 174.64,
+ "y": 47.56,
+ "pos": 7
+ },
+ {
+ "base": "U",
+ "x": 159.76,
+ "y": 64.23,
+ "pos": 8
+ },
+ {
+ "base": "A",
+ "x": 144.88,
+ "y": 80.89,
+ "pos": 9
+ },
+ {
+ "base": "G",
+ "x": 130.0,
+ "y": 97.56,
+ "pos": 10
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 105.12,
+ "pos": 11
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 112.68,
+ "pos": 12
+ },
+ {
+ "base": "C",
+ "x": 130.0,
+ "y": 120.24,
+ "pos": 13
+ },
+ {
+ "base": "A",
+ "x": 114.78,
+ "y": 134.68,
+ "pos": 14
+ },
+ {
+ "base": "G",
+ "x": 117.67,
+ "y": 141.66,
+ "pos": 15
+ },
+ {
+ "base": "C",
+ "x": 123.02,
+ "y": 147.01,
+ "pos": 16
+ },
+ {
+ "base": "U",
+ "x": 130.0,
+ "y": 149.9,
+ "pos": 17
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 149.9,
+ "pos": 18
+ },
+ {
+ "base": "G",
+ "x": 144.54,
+ "y": 147.01,
+ "pos": 19
+ },
+ {
+ "base": "G",
+ "x": 149.89,
+ "y": 141.66,
+ "pos": 20
+ },
+ {
+ "base": "A",
+ "x": 152.78,
+ "y": 134.68,
+ "pos": 21
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 120.24,
+ "pos": 22
+ },
+ {
+ "base": "A",
+ "x": 137.56,
+ "y": 112.68,
+ "pos": 23
+ },
+ {
+ "base": "G",
+ "x": 137.56,
+ "y": 105.12,
+ "pos": 24
+ },
+ {
+ "base": "C",
+ "x": 137.56,
+ "y": 97.56,
+ "pos": 25
+ },
+ {
+ "base": "A",
+ "x": 147.78,
+ "y": 95.06,
+ "pos": 26
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 97.56,
+ "pos": 27
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 105.12,
+ "pos": 28
+ },
+ {
+ "base": "U",
+ "x": 158.0,
+ "y": 112.68,
+ "pos": 29
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 120.24,
+ "pos": 30
+ },
+ {
+ "base": "C",
+ "x": 158.0,
+ "y": 127.8,
+ "pos": 31
+ },
+ {
+ "base": "C",
+ "x": 145.22,
+ "y": 137.53,
+ "pos": 32
+ },
+ {
+ "base": "U",
+ "x": 148.5,
+ "y": 144.34,
+ "pos": 33
+ },
+ {
+ "base": "U",
+ "x": 154.41,
+ "y": 149.05,
+ "pos": 34
+ },
+ {
+ "base": "A",
+ "x": 161.78,
+ "y": 150.73,
+ "pos": 35
+ },
+ {
+ "base": "C",
+ "x": 169.15,
+ "y": 149.05,
+ "pos": 36
+ },
+ {
+ "base": "A",
+ "x": 175.06,
+ "y": 144.34,
+ "pos": 37
+ },
+ {
+ "base": "A",
+ "x": 178.34,
+ "y": 137.53,
+ "pos": 38
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 127.8,
+ "pos": 39
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 120.24,
+ "pos": 40
+ },
+ {
+ "base": "A",
+ "x": 165.56,
+ "y": 112.68,
+ "pos": 41
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 105.12,
+ "pos": 42
+ },
+ {
+ "base": "G",
+ "x": 165.56,
+ "y": 97.56,
+ "pos": 43
+ },
+ {
+ "base": "G",
+ "x": 170.13,
+ "y": 86.9,
+ "pos": 44
+ },
+ {
+ "base": "G",
+ "x": 173.31,
+ "y": 79.96,
+ "pos": 45
+ },
+ {
+ "base": "G",
+ "x": 174.37,
+ "y": 72.42,
+ "pos": 46
+ },
+ {
+ "base": "U",
+ "x": 172.96,
+ "y": 64.93,
+ "pos": 47
+ },
+ {
+ "base": "C",
+ "x": 169.53,
+ "y": 58.11,
+ "pos": 48
+ },
+ {
+ "base": "G",
+ "x": 162.54,
+ "y": 47.56,
+ "pos": 49
+ },
+ {
+ "base": "G",
+ "x": 154.98,
+ "y": 47.56,
+ "pos": 50
+ },
+ {
+ "base": "C",
+ "x": 147.42,
+ "y": 47.56,
+ "pos": 51
+ },
+ {
+ "base": "G",
+ "x": 139.86,
+ "y": 47.56,
+ "pos": 52
+ },
+ {
+ "base": "G",
+ "x": 132.3,
+ "y": 47.56,
+ "pos": 53
+ },
+ {
+ "base": "U",
+ "x": 122.58,
+ "y": 60.34,
+ "pos": 54
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 57.06,
+ "pos": 55
+ },
+ {
+ "base": "C",
+ "x": 111.05,
+ "y": 51.15,
+ "pos": 56
+ },
+ {
+ "base": "G",
+ "x": 109.37,
+ "y": 43.78,
+ "pos": 57
+ },
+ {
+ "base": "A",
+ "x": 111.05,
+ "y": 36.41,
+ "pos": 58
+ },
+ {
+ "base": "U",
+ "x": 115.77,
+ "y": 30.5,
+ "pos": 59
+ },
+ {
+ "base": "C",
+ "x": 122.58,
+ "y": 27.22,
+ "pos": 60
+ },
+ {
+ "base": "C",
+ "x": 132.3,
+ "y": 40.0,
+ "pos": 61
+ },
+ {
+ "base": "C",
+ "x": 139.86,
+ "y": 40.0,
+ "pos": 62
+ },
+ {
+ "base": "G",
+ "x": 147.42,
+ "y": 40.0,
+ "pos": 63
+ },
+ {
+ "base": "U",
+ "x": 154.98,
+ "y": 40.0,
+ "pos": 64
+ },
+ {
+ "base": "C",
+ "x": 162.54,
+ "y": 40.0,
+ "pos": 65
+ },
+ {
+ "base": "A",
+ "x": 174.64,
+ "y": 40.0,
+ "pos": 66
+ },
+ {
+ "base": "U",
+ "x": 182.2,
+ "y": 40.0,
+ "pos": 67
+ },
+ {
+ "base": "C",
+ "x": 189.76,
+ "y": 40.0,
+ "pos": 68
+ },
+ {
+ "base": "A",
+ "x": 197.32,
+ "y": 40.0,
+ "pos": 69
+ },
+ {
+ "base": "C",
+ "x": 204.88,
+ "y": 40.0,
+ "pos": 70
+ },
+ {
+ "base": "C",
+ "x": 212.44,
+ "y": 40.0,
+ "pos": 71
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 40.0,
+ "pos": 72
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 32.44,
+ "pos": 73
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 24.88,
+ "pos": 74
+ },
+ {
+ "base": "C",
+ "x": 220.0,
+ "y": 17.32,
+ "pos": 75
+ },
+ {
+ "base": "A",
+ "x": 220.0,
+ "y": 9.76,
+ "pos": 76
+ }
+ ],
+ "width": 240.0,
+ "height": 170.73,
+ "lines": [
+ {
+ "x1": 222.38,
+ "y1": 42.5,
+ "x2": 222.38,
+ "y2": 39.94
+ },
+ {
+ "x1": 214.81,
+ "y1": 42.5,
+ "x2": 214.81,
+ "y2": 39.94
+ },
+ {
+ "x1": 207.25,
+ "y1": 42.5,
+ "x2": 207.25,
+ "y2": 39.94
+ },
+ {
+ "x1": 199.69,
+ "y1": 42.5,
+ "x2": 199.69,
+ "y2": 39.94
+ },
+ {
+ "x1": 192.13,
+ "y1": 42.5,
+ "x2": 192.13,
+ "y2": 39.94
+ },
+ {
+ "x1": 184.57,
+ "y1": 42.5,
+ "x2": 184.57,
+ "y2": 39.94
+ },
+ {
+ "x1": 177.01,
+ "y1": 42.5,
+ "x2": 177.01,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.88,
+ "y1": 95.0,
+ "x2": 137.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 134.88,
+ "y1": 102.56,
+ "x2": 137.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 134.88,
+ "y1": 110.12,
+ "x2": 137.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 134.88,
+ "y1": 117.68,
+ "x2": 137.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 95.0,
+ "x2": 165.44,
+ "y2": 95.0
+ },
+ {
+ "x1": 162.88,
+ "y1": 102.56,
+ "x2": 165.44,
+ "y2": 102.56
+ },
+ {
+ "x1": 162.88,
+ "y1": 110.12,
+ "x2": 165.44,
+ "y2": 110.12
+ },
+ {
+ "x1": 162.88,
+ "y1": 117.68,
+ "x2": 165.44,
+ "y2": 117.68
+ },
+ {
+ "x1": 162.88,
+ "y1": 125.23,
+ "x2": 165.44,
+ "y2": 125.23
+ },
+ {
+ "x1": 164.92,
+ "y1": 42.5,
+ "x2": 164.92,
+ "y2": 39.94
+ },
+ {
+ "x1": 157.36,
+ "y1": 42.5,
+ "x2": 157.36,
+ "y2": 39.94
+ },
+ {
+ "x1": 149.8,
+ "y1": 42.5,
+ "x2": 149.8,
+ "y2": 39.94
+ },
+ {
+ "x1": 142.24,
+ "y1": 42.5,
+ "x2": 142.24,
+ "y2": 39.94
+ },
+ {
+ "x1": 134.68,
+ "y1": 42.5,
+ "x2": 134.68,
+ "y2": 39.94
+ }
+ ],
+ "trna_name": "tRNA-Val-TAC",
+ "sequence": "GGGUGAUUAGCUCAGCUGGGAGAGCACCUCCCUUACAAGGAGGGGGUCGGCGGUUCGAUCCCGUCAUCACCCACCA",
+ "structure": "<<<<<<<..<<<<........>>>>.<<<<<.......>>>>>.....<<<<<.......>>>>>>>>>>>>...."
+}
\ No newline at end of file
diff --git a/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Val-TAC.svg b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Val-TAC.svg
new file mode 100644
index 0000000..79d841f
--- /dev/null
+++ b/inst/extdata/structures/Escherichia_coli/elbow/tRNA-Val-TAC.svg
@@ -0,0 +1,261 @@
+
diff --git a/man/plot_tRNA_structure.Rd b/man/plot_tRNA_structure.Rd
index 36ed9b6..65f2be1 100644
--- a/man/plot_tRNA_structure.Rd
+++ b/man/plot_tRNA_structure.Rd
@@ -15,7 +15,8 @@ plot_tRNA_structure(
outline_palette = NULL,
text_colors = NULL,
position_markers = TRUE,
- linkage_palette = c("#0072B2", "#D55E00")
+ linkage_palette = c("#0072B2", "#D55E00"),
+ layout = c("cloverleaf", "elbow")
)
}
\arguments{
@@ -64,6 +65,13 @@ colors for negative (exclusive) and positive (co-occurring)
linkage values. Default \code{c("#0072B2", "#D55E00")} (blue for
exclusive, vermillion for co-occurring). Stroke width encodes
the magnitude of the value.}
+
+\item{layout}{One of \code{"cloverleaf"} (default) or \code{"elbow"}.
+\code{"elbow"} renders the L-shaped depiction with the acceptor stem
+and T-arm stacked coaxially at the top, the D-arm extending
+horizontally, and the anticodon arm hanging vertically. The
+elbow form is currently available for E. coli standard
+3-arm tRNAs.}
}
\value{
The path to the annotated SVG file (invisibly).
@@ -78,5 +86,6 @@ linkages are drawn as Bezier curve arcs between position pairs.
\examples{
\donttest{
plot_tRNA_structure("tRNA-Glu-TTC", "Escherichia coli")
+plot_tRNA_structure("tRNA-Phe-GAA", "Escherichia coli", layout = "elbow")
}
}
diff --git a/man/structure_trnas.Rd b/man/structure_trnas.Rd
index 2c7764c..576722f 100644
--- a/man/structure_trnas.Rd
+++ b/man/structure_trnas.Rd
@@ -4,20 +4,24 @@
\alias{structure_trnas}
\title{List available tRNA structures for an organism}
\usage{
-structure_trnas(organism)
+structure_trnas(organism, layout = c("cloverleaf", "elbow"))
}
\arguments{
\item{organism}{Character string specifying the organism name
(e.g., \code{"Escherichia coli"}). Use \code{\link[=structure_organisms]{structure_organisms()}} to
list available organisms.}
+
+\item{layout}{One of \code{"cloverleaf"} (default) or \code{"elbow"}. The
+elbow form is currently bundled for E. coli standard tRNAs only.}
}
\value{
A character vector of tRNA names.
}
\description{
-Returns the names of tRNAs for which cloverleaf structure SVGs
-are bundled with the package for the given organism.
+Returns the names of tRNAs for which structure SVGs are bundled with
+the package for the given organism and layout.
}
\examples{
structure_trnas("Escherichia coli")
+structure_trnas("Escherichia coli", layout = "elbow")
}
diff --git a/tests/testthat/_snaps/plot-structure.md b/tests/testthat/_snaps/plot-structure.md
index 11a38c1..ca9f762 100644
--- a/tests/testthat/_snaps/plot-structure.md
+++ b/tests/testthat/_snaps/plot-structure.md
@@ -22,22 +22,23 @@
plot_tRNA_structure("tRNA-Fake-XXX", org)
Condition
Error in `plot_tRNA_structure()`:
- ! No structure SVG found for "tRNA-Fake-XXX".
- i Use `structure_trnas()` to list available tRNAs.
+ ! No cloverleaf structure SVG found for "tRNA-Fake-XXX".
+ i Use `structure_trnas("Escherichia coli", layout = "cloverleaf")` to list available tRNAs.
-# structure_to_png errors for missing file
+# structure_html errors on missing file
Code
- structure_to_png("nonexistent.svg")
+ structure_html("nonexistent.svg")
Condition
- Error in `structure_to_png()`:
+ Error in `structure_html()`:
! SVG file not found: 'nonexistent.svg'.
-# structure_html errors on missing file
+# plot_tRNA_structure(layout = 'elbow') errors clearly when missing
Code
- structure_html("nonexistent.svg")
+ plot_tRNA_structure("tRNA-Leu-CAA", "Escherichia coli", layout = "elbow")
Condition
- Error in `structure_html()`:
- ! SVG file not found: 'nonexistent.svg'.
+ Error in `plot_tRNA_structure()`:
+ ! No elbow structure SVG found for "tRNA-Leu-CAA".
+ i Use `structure_trnas("Escherichia coli", layout = "elbow")` to list available tRNAs.
diff --git a/tests/testthat/test-plot-structure.R b/tests/testthat/test-plot-structure.R
index 083ec9b..0389d9a 100644
--- a/tests/testthat/test-plot-structure.R
+++ b/tests/testthat/test-plot-structure.R
@@ -291,3 +291,53 @@ test_that("plot_tRNA_structure respects position_markers = FALSE", {
end_labels <- xml2::xml_find_first(doc, ".//*[@id='clover-end-labels']")
expect_false(is.na(end_labels))
})
+
+# Elbow layout ----------------------------------------------------------------
+
+test_that("structure_trnas(layout = 'elbow') lists bundled elbow tRNAs", {
+ trnas <- structure_trnas("Escherichia coli", layout = "elbow")
+ expect_type(trnas, "character")
+ expect_true(length(trnas) > 0)
+ # variable-arm tRNAs (Leu, Ser, SeC) are deferred to v2
+ expect_false(any(grepl("^tRNA-(Leu|Ser|SeC)-", trnas)))
+})
+
+test_that("plot_tRNA_structure renders elbow layout SVG", {
+ trnas <- structure_trnas("Escherichia coli", layout = "elbow")
+ skip_if(length(trnas) == 0, "No bundled elbow structures")
+ out <- plot_tRNA_structure(
+ "tRNA-Phe-GAA",
+ "Escherichia coli",
+ layout = "elbow"
+ )
+ expect_true(file.exists(out))
+ doc <- xml2::read_xml(out)
+ texts <- xml2::xml_find_all(doc, ".//*[local-name()='text']")
+ expect_true(length(texts) > 70) # 76 nucleotides plus title
+})
+
+test_that("plot_tRNA_structure(layout = 'elbow') errors clearly when missing", {
+ expect_snapshot(
+ plot_tRNA_structure(
+ "tRNA-Leu-CAA",
+ "Escherichia coli",
+ layout = "elbow"
+ ),
+ error = TRUE
+ )
+})
+
+test_that("plot_tRNA_structure(layout = 'elbow') applies modification overlay", {
+ trnas <- structure_trnas("Escherichia coli", layout = "elbow")
+ skip_if(length(trnas) == 0, "No bundled elbow structures")
+ mods <- dplyr::tibble(pos = c(34L, 37L), mod1 = c("m1A", "m7G"))
+ out <- plot_tRNA_structure(
+ "tRNA-Phe-GAA",
+ "Escherichia coli",
+ modifications = mods,
+ layout = "elbow"
+ )
+ doc <- xml2::read_xml(out)
+ circles <- xml2::xml_find_all(doc, ".//*[local-name()='circle']")
+ expect_gte(length(circles), 2)
+})