Skip to content

Address #287 review: configurable browser prediction and evaluation - #289

Merged
martin-raden merged 2 commits into
feat/286-wasm-webinterfacefrom
feat/287-webinterface-review
Oct 21, 2026
Merged

martin-raden merged 2 commits into
feat/286-wasm-webinterfacefrom
feat/287-webinterface-review

Conversation

@Alexander-Mitrofanov

Copy link
Copy Markdown
Collaborator

Addresses the maintainer review on #287 by making the browser interface support both configurable IntaRNA prediction and IntaRNAeval structure evaluation, with vaRRI's institutional styling.

This PR depends on #287 and targets its feat/286-wasm-webinterface branch so the diff contains only the requested review revisions.

Changes

  • Match vaRRI main-v2 colors/header with local copies of the official group and university logos.
  • Add prediction/evaluation selection, signed per-strand start indices, multi-FASTA prediction, and mutually exclusive menus for every CLI parameter group. Defaults/ranges follow CommandLineParsing.cpp; evaluation retains energy/accessibility settings and excludes prediction constraints. Include energy parameter sets/temperature, strand accessibility/regions, seed/helix settings, SHAPE data, windows and overlap/output filters.
  • Offer every native CSV column, native CSV sorting, independent table column visibility, and mfe Δ relative to each sequence pair's best reported interaction. Support native extra outputs, including probability CSV/SVG, plus ASCII/detailed/ensemble reports, with previews and complete downloads below the table.
  • Record actual compiled IntaRNA/ViennaRNA/Boost versions, source revision, SDK and asset hashes in build-info.txt/JSON; display versions in the interface. Staging preserves compiled provenance and checks the paired assets.
  • Annotate 194 inherited virtual methods and 45 derived destructors with override. These C++ edits only change declarations. Emscripten rejects inconsistent missing overrides; third-party headers remain unchanged.
  • Expand protocol, real-engine and browser coverage; run native/WASM workflows for dependent PRs as well. Update README, ChangeLog and all four implementation documents.

Validation

  • Emscripten 4.0.23 rebuild with the pinned official dependency archives: passed. An all-public-header audit with -Wsuggest-override -Wsuggest-destructor-override reports no missing overrides in IntaRNA headers.
  • npm test --prefix webinterface: all 10 protocol/results/lifecycle groups passed.
  • node scripts/wasm/smoke.mjs: original native-reference coordinates/energies, structured accessibility and C++ error handling passed.
  • node scripts/wasm/smoke-protocol.mjs: real prediction/evaluation, signed coordinates, multi-FASTA/pairwise mode, all columns, imported accessibility, alternate energy/seed/helix/SHAPE settings and additional files passed.
  • Real Chromium and Firefox integration suites on a nested URL: passed, including parameter groups/defaults, versions/logos, task switching, FASTA identity, signed coordinates, sorting/column selection, file previews/downloads, mobile overflow, cancellation and failure recovery. Desktop screenshot visually reviewed.
  • Native OpenMP release build with GCC 16.2.0/ViennaRNA 2.7.2, make tests -j3: all eight groups passed, including 462,689 assertions across 119 API cases. Tracked fixtures were linked into the separate build directory for the existing shell harness.
  • Provenance preservation and rejection of a deliberately mismatched engine asset: passed. Shell/Python syntax, workflow YAML and git diff --check: passed.

Browser scope

Up to 20 FASTA records per strand in prediction; evaluation accepts one query/target and up to 100 supplied structures. Records are 2–2,000 nt, with additional seed-length checks; selected sequence-pair length products total at most 1,000,000. Output count is 0–100 per pair, defaulting to the CLI's one. ASCII/detailed/ensemble reports each run a fresh engine instance, adding computation time. Local text inputs replace SHAPE/accessibility file paths; process-level options remain in the CLI. The base-pair maximization energy model is omitted as requested. Details and reproducible checks are in webinterface/docs/.

@martin-raden
martin-raden merged commit e1b93d5 into feat/286-wasm-webinterface Oct 21, 2026
7 checks passed
@martin-raden
martin-raden deleted the feat/287-webinterface-review branch October 21, 2026 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants