Local workstation

The R2DT workstation is a local browser-based interface that runs on your own computer and executes R2DT commands using Docker. Use it to draw RNA diagrams, compare a reference 3D structure with a model, edit base pairs, and export results you can share.

All results stay local until you choose to export. The command-line interface remains available for scripting; the workstation is the interactive front end.

Workstation home with four mode cards

Workstation home — choose 2D, 2D + 3D, Compare, or Alignments.

What you can do

Use the header to switch modes. Each mode has its own job list and a New … form.

Mode

What it is for

2D

Secondary-structure diagrams from a FASTA sequence

2D + 3D

One PDB/mmCIF with linked 2D topology and 3D view

2D + 2D + 3D (Compare)

Reference vs model, INF scores, shared layout, optional model own-layout

Alignments

Stockholm / R-scape → covariation-annotated diagrams

Compare workflow

  1. Open Compare (or New comparison).

  2. Drop a reference structure and a model (PDB or mmCIF).

  3. Select the RNA chain(s) on each side. The picker shows each chain’s length, residue range, and a short sequence so you can tell monomers apart. After both files are uploaded it auto-selects a mapping that matches by sequence (or by length if sequences differ). A homodimer plus a one-chain model maps one reference monomer onto that model — not both chains concatenated. Counts may differ when one model chain concatenates several reference chains of the same total length. If the reference is a multi-chain complex, unselected chains that base-pair with your selection can still appear in the reference view; they are not scored.

  4. Run the job; open it when the status is ready.

  5. Edit base pairs in the viewer if needed, then Export (below).

New comparison form with drop zones

New comparison — drop reference and model structures, then Generate.

R1108 compare viewer with 2D panels and 3D

Compare viewer for R1108 — reference 2D, model 2D (same layout), and shared 3D, with INF scores above. Use Download scores / CSV for the INF values and the underlying base-pair lists; open By chain when comparing multi-chain complexes.

Editing base pairs

On 2D + 3D and Compare views you can add, delete, or change Leontis–Westhof pair types. Edits stay on your machine with that job until you export a shareable viewer (which bakes them in).

2D and Alignments results are SVG galleries without the interactive pair editor.

Edit toolbar open on R1108 reference 2D panel

Click Edit on a 2D panel to add, delete, or change base pairs (example: R1108).

Nested toggle

In the 2D toolbar, Nested filters which pairs are shown:

  • Off (default) — all pairs, including crossing contacts

  • On — nested pairs only

On Compare pages that use the shared (reference) layout, the model panel follows the reference for this filter.

Export and sharing

Ready jobs have an Export menu:

  1. R2DT work package (.r2dt-job.zip) — full job for another workstation (inputs, results, edits). Re-open with Import on a dashboard.

  2. Shareable HTML (.r2dt-viewer.zip) — static interactive viewer with edits baked in. Unzip and open index.html, or embed it. No workstation required to view.

On Compare pages, the INF bar also has a Download scores dropdown (JSON / CSV) for the INF values and the base-pair lists used to compute them. After you edit pairs, those downloads follow the live (edited) scores — not the original pre-edit files.

Shareable HTML is for jobs with an interactive viewer (typically 2D + 3D and Compare). Draw and alignment jobs use work packages / SVG pages.

Export menu with work package and shareable HTML

Export menu on a ready Compare job — work package for another workstation, or shareable HTML for anyone.


For developers and advanced use

The sections below are for people working from a repository checkout or scripting R2DT. Curators can ignore them.

Run from a git checkout

just workstation

This mounts your working tree, publishes http://127.0.0.1:8765/ (localhost only), and opens a browser. Stop with Ctrl+C.

r2dt.py workstation --workspace ~/.r2dt-workstation --port 8765

Defaults to --bind 127.0.0.1. Use --bind 0.0.0.0 only inside Docker with -p 127.0.0.1:PORT:PORT (as just workstation does) — never on a host that would listen on the LAN.

Variable

Effect

R2DT_WORKSPACE

Cache directory (default ~/.r2dt-workstation)

R2DT_WORKSTATION_NO_OPEN=1

Do not auto-open the browser

Curator launchers currently pull rnacentral/r2dt:develop (switch to rnacentral/r2dt:latest once a release includes the workstation). Contributors usually mount the checkout over rnacentral/r2dt:latest via just workstation.

Rebuild the curator download zip after editing launchers:

just workstation-pack

Mode URLs: /2d, /pdb, /compare, /align. Advanced form options mirror common CLI flags; see the CLI docs when scripting.

CASP-style catalogs can be seeded with just workstation-import-casp when output/site/casp15 / casp16 already exist.

Trust model

The workstation is a local operator tool, not a multi-user web service:

  • There is no login or API token. Anyone who can reach the HTTP port can create jobs (which run Docker), upload files, edit base pairs, and delete cached jobs.

  • Prefer publishing the port to 127.0.0.1 only. Curator Start scripts and just workstation do this. Binding 0.0.0.0 inside Docker is only so the published loopback port works — it must not be confused with exposing the UI on the LAN.

  • Mutating requests (POST / PUT / DELETE) require a loopback Host (localhost / 127.0.0.1 / ::1). When a browser sends Origin or Referer, that must be loopback too. This blocks casual cross-origin CSRF and DNS rebinding; it is not a substitute for keeping the port off the network.

  • Open the UI as http://127.0.0.1:8765/ (or http://localhost:8765/). Stop the server when you are done.

Do not publish the port beyond loopback (for example -p 0.0.0.0:8765:8765 or --bind 0.0.0.0 on a host without Docker port filtering).