View on GitHub

IntaRNA

Efficient target prediction incorporating accessibility of interaction sites

JSON settings and reproducible runs

The action bar starts with Compute/Evaluate, followed by Input Parameters: Examples, Store, Load and Reset. Store downloads parameter.json containing non-default settings and embedded input text in the native JSON format. _comment records compiled tool/library versions and executable reproduction commands. It is JSON metadata, not a nonstandard comment syntax. Settings can be saved before sequences are complete; Compute still validates the complete job before loading WASM.

Load validates the complete document before replacing the form, including the task, signed start indices, input text, CSV selection/order and additional outputs. Malformed documents and settings the browser cannot represent leave the form unchanged with an error. Native-only settings and external file paths must be used in the CLI; the browser requires embedded text. JSON uploads are limited to 5 MB. The application never uploads these files to a server.

ZIP uses the same serializer on the completed run, including normalized FASTA. It contains only parameter.json and output files. Native replay uses:

IntaRNA --parameterFile=parameter.json --out=intarna-interactions.csv

Additional report commands are listed in _comment. They override outMode and CSV-only settings while retaining the same inputs and analysis settings. Reports run independently, matching the worker. The WASM integration test replays the JSON in fresh engines and compares every output byte.

Computed sessions

Each successful computation, including a run with no interaction rows, creates a new session with a unique ID within the page and a default name such as Prediction 1, Evaluation 2 or Mutation Design 3. The session retains the computed inputs in JSON, CSV output, additional files and diagnostics. Editing parameters, Load, examples, Reset, invalid inputs, failed computations and cancellation preserve prior sessions. Failed or aborted computations do not create a session.

The newest session opens automatically under Results. Use Show, select its header/name, or select its output area to restore that session’s computed inputs and fold the other sessions. The task, sequence text, signed indices, SHAPE/accessibility text, CSV selection/order and additional output selection are restored together. Hide folds the output. Each session keeps its own filter, sorting and visible columns; folded vaRRI frames are unloaded and restored when their session is reopened.

Edit Session name directly in the header. Names are plain text; an empty name returns to the default. Download ZIP remains available while folded and always archives that session’s original JSON and complete outputs, regardless of the current form or table filters. The session name supplies a safe download filename; ZIP members remain parameter.json and output files. The garbage-bin button removes only its session and releases its output; it does not change form inputs.

Sessions exist only in the current page’s browser memory. They are not written to browser storage or uploaded. Reloading or closing the page discards them; use ZIP exports to retain results. Memory use grows with the runs kept open, so delete sessions that are no longer needed. Store continues to save the editable form. If compiled metadata cannot be fetched, a completed run is still retained and its JSON explicitly records that version information is unavailable.

Reset and examples

Reset clears the editable sequences, interactions and uploaded files and restores prediction defaults (10 interactions per pair, expanded energy/seed columns). Evaluation defaults select all energy columns. These GUI defaults are written explicitly in JSON when they differ from the CLI; importing existing JSON still uses native defaults for omitted parameters. Inactive controls keep their edits in the form for switching modes, but their values are omitted from executed and stored settings. Previously computed sessions remain available. Empty FASTA fields show the short demonstration sequences as placeholders only. The Examples disclosure menu follows the Input Parameters label and lists only examples for the selected Prediction, Evaluation or Mutation Design task.

Maintainers edit gui/examples/index.json, whose entries provide a local JSON filename, display name and description. Each listed example file is directly the same native JSON parameter document used by Store and Load: a maintainer can set up an input in the GUI, download it with Store and replace an example file without adding an example-only wrapper. Three replaceable examples cover prediction, evaluation and mutation design. Loading validates their settings and sequences through the same importer and computation validator. Missing or invalid examples show an error in the menu; they never overwrite the form.

Local FASTA files

Each strand has an Upload button and accepts a text-file drop into its textarea. Files are read locally (at most 1 MB), validated with the same FASTA checks as manual entry, and replace only that strand after successful validation. Prediction accepts up to 50 FASTA records per strand, each 2–5,000 nt; evaluation and mutation design require one record. The longest selected query × longest selected target must be at most 1,000,000. Names end at the first whitespace; ignored header descriptions produce a warning below the corresponding field. Both FASTA fields scroll horizontally and vertically. Invalid files leave the previous input intact. A later edit, reset, import or computation discards any pending file read, so delayed reads cannot replace newer input.

Validation of the PR #287 revision (2026-10-23)

Session follow-up validation (2026-10-23)

PR #299 review validation (2026-10-24)