Skip to content

RoTab and Rosetta WebAssembly

RoTab is a Chromium new-tab extension for protein visualization and browser-based scientific computation. Selected Rosetta C++ methods are compiled to WebAssembly (WASM) and run in dedicated browser workers. The standalone library, @rotab/rosetta-wasm, exposes the same eight methods to other browser applications.

This reference describes RoTab 0.5.6, standalone adapter 0.1.0, and scientific source commit 369e400415dd5c585f80dcf7b647147ee520e8ba. Validation records identify the versions and artifact hashes tested. The latest packaged private pilot is 0.5.2; later interface updates have separate validation records.

Documentation guide

Topic Reference
Extension installation and participation Install and contribute
Controls and common questions Illustrated Help, troubleshooting
Rosetta and BOINC responsibilities BOINC comparison
Rosetta in another browser application Standalone quick start, method catalogue
Static assets, workers, and application integration Deployment and integration
Peer connections and job delivery Connection architecture, job architecture
C++ compilation and the snapshot bridge Port mechanics, build reference
Measurements and validation limits Benchmarks, evidence
Data handling Data and privacy
Supported scope and licensing Scope, licensing and availability

Components

Rosetta supplies the C++ scientific model, REF2015 energy evaluation, rotamer packing, minimization, FastRelax, and FastDesign. The WASM engine executes these compiled implementations.

The standalone adapter manages a dedicated worker, verifies engine and database identities, calls the compiled C ABI, and returns measured snapshots and final coordinates. It has no dependency on the extension's networking, storage, or UI.

RoTab adds the molecular viewer, energy history, shared-tab ownership, model checkpoints, and volunteer campaign coordination. Nostr provides discovery and signaling; WebRTC transfers jobs and results between browsers. The submitting browser coordinates each campaign.

Browser execution

Calculations run in the browser. Participants do not need Docker, Node.js, Python, BOINC, a native companion, or a local task server. Standalone applications serve their JavaScript, WASM, and database assets over HTTP(S). Compilers and native reference tools are used separately for building and validation.

Independent Nostr relays support discovery. STUN and optional TURN infrastructure help browsers establish connections across networks. Network architecture describes these services and their limits.

Scientific scope

The eight supported methods accept a single chain of standard amino acids in PDB format. Input admission has no residue-count cap, but each worker has a 512 MiB linear-memory ceiling. Supported chemistry and database coverage depend on the method and its validated fixtures.

Relaxation optimizes an existing structure. Its snapshots describe optimization states, not a time-resolved molecular-dynamics folding experiment. Rosetta relaxation reference.

RoTab does not implement official Rosetta@home workunit submission, project validation, or BOINC credit. The port is independent of endorsement by RosettaCommons, Rosetta@home, or BOINC. Rosetta's license is separate from the MIT application and adapter code.