Overview
This interactive dashboard accompanies our paper:
Asynchronous parallel Bayesian optimization for AI-driven cloud laboratories Trevor S Frisby, Zhiyun Gong, Christopher James Langmead Bioinformatics, Volume 37, Issue Supplement_1, July 2021, Pages i451–i459 https://doi.org/10.1093/bioinformatics/btab291
The dashboard lets you:
- Run PROTOCOL — PaRallel OptimizaTiOn for CLoud Laboratories
- Compare with other Bayesian optimization algorithms
- Visualize optimization progress and results
- Experiment with different simulated lab settings
Design & Planning
Problem framing
Bayesian optimization algorithms are typically published as code libraries, making them inaccessible to scientists without programming expertise. The PROTOCOL paper introduced a novel asynchronous parallel algorithm for AI-driven cloud laboratories, but without an interactive tool, readers could not explore or reproduce its behavior without running R code themselves.
Key design decisions
- R Shiny for interactive visualization — the underlying PROTOCOL package is R-based; building the dashboard in Shiny avoids a language boundary and keeps the simulation and visualization in the same runtime.
- Publication-linked deployment — embedding the live app in the paper’s supplementary materials ensures figures and results remain reproducible and explorable by reviewers and readers.
Architecture overview
The dashboard is an R Shiny application that wraps the PROTOCOL R package directly. Optimization simulations run in-process using the package’s core functions, and results are visualized using ggplot2. Users configure simulation parameters through Shiny input widgets; the reactive framework re-runs the simulation and re-renders plots on parameter changes.
Challenges & what I’d do differently
- Shiny performance degrades with long-running optimization loops — added async-style progress indicators as a workaround, but the UI still blocks during heavy computation.
- Would move long simulations to a background process (using
futureorpromisesin R Shiny) to keep the UI responsive. - Persistent hosting of Shiny apps requires paid infrastructure; would evaluate whether a static export or WebAssembly-based approach could reduce ongoing hosting costs.