A Unified, Cross-Platform Framework for Automatic GUI and Plugin Generation in Structural Bioinformatics and Beyond
Sikao Guo, Edoardo Sarti, Frédéric Cazals
TL;DR
The paper tackles the challenge of converting CLI tools into accessible, cross‑platform GUIs by introducing a unified MVP‑based workflow and code‑generation toolkit. It starts from a single formal specification per application and uses platform‑specific generators to produce GUI plugins for desktop visualization (VMD, PyMol) and web environments (Panel), while maintaining a clean separation of concerns via the MVP pattern. A three‑phase process (design, formal specification, code generation) with a JSON GUI specification ensures consistency, reduces duplicated effort, and accelerates maintenance across targets. The approach is demonstrated with structural bioinformatics plugins within the Structural Bioinformatics Library and a geometry‑processing example, underscoring its versatility across domains and visualization back‑ends. The framework promises substantial practical impact by lowering development effort, enabling reproducible, multi‑platform scientific GUIs, and paving the way for AI‑assisted and autonomous UI design in the future.
Abstract
We present a workflow and associated toolkit to automate the creation of graphical user interfaces (GUI) for executables run from command line interfaces (CLI). The workflow consists of three phases, namely (Step 1) the plugin design, (Step 2) the formal (platform independent) specification of the GUI, and (Step 3) the plugin code generation for the targeted platforms. Our architecture is aligned with the Model--View--Presenter (MVP) pattern: steps one and two build the Model and View descriptions, while step three implements the Presenter layer that binds inputs, invokes the CLI, and updates outputs. Once Step one has been (manually) completed, steps two and three are fully automated. The decoupled MVP design and platform-specific generator modules enable reuse of logic, portability across ecosystems, and significant reductions in engineering effort for complex interactive applications. We primarily use our workflow to generate GUI in structural bioinformatics for CLI executables from the Structural Bioinformatics Library (SBL), targeting three platforms, namely VMD, Pymol and Web servers. The workflow can be used as a guideline, while its implementation available in the package Plugin_manager from the SBL, see https://sbl.inria.fr/doc/Plugin_manager-user-manual.html.
