User Design
User lay out the input, output, and optional update areas in Qt Designer, then select the CLI and post-analysis parameters that should be exposed.
Research software
Automatic plugin generation for VMD, PyMOL, and the web
Context
Scientific command-line applications are powerful but expensive to expose through multiple user-interface ecosystems. A conventional approach creates a separate implementation for every application-platform pair, which duplicates logic and makes synchronized maintenance difficult.
The framework treats the interface design as a reusable specification rather than platform-specific source code. It follows a Model–View–Presenter separation so that application state, interface rendering, execution logic, post-analysis, and molecular visualization remain modular.
Method
User lay out the input, output, and optional update areas in Qt Designer, then select the CLI and post-analysis parameters that should be exposed.
Automatically convert the layout and metadata into a validated JSON representation containing widget types, geometry, CLI semantics, outputs, and update behavior.
Use platform adapters to synthesize native applications for Tkinter/VMD, pymol.Qt/PyMOL, and Panel with NGL or Three.js.
Role
Result
Reduces the development structure from application × platform implementations to one specification per application plus one reusable generator per platform.
Provides a single source of truth for interface changes and keeps desktop and web versions synchronized.
Makes structural-bioinformatics CLI tools accessible without coupling scientific logic to a particular GUI toolkit.
Resources
Related work
Contribution: Design, implementation, platform generators, examples, and writing manuscript.