![]() |
Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
|
Public Member Functions | |
| None | __init__ (self, str ui_file, str exe_name, str flags_file, str post_script=None, str update_flags_file=None, str gui_format="pyqt", str output_folder=None) |
| None | run (self) |
Execute the full UI-to-GUI-plugin pipeline for a chosen framework.
Components orchestrated:
• UiToJsonConverter
Parse Qt `.ui` geometry and widget hierarchy → JSON skeleton.
• GUIInputPanelJsonGenerator
Parse `<exe> --help` and selected flags → add input controls to JSON.
• GUIUpdatePanelJsonGenerator (optional)
Inject update-area controls (for dynamic refresh logic).
• CodeGenerator
Render framework-specific GUI source files and asset templates.
Result:
A complete runnable GUI/plugin folder (PyQt6/PyMOL, Tkinter/VMD, or Panel/Web).
Execute the full UI-to-GUI-plugin pipeline for a chosen framework. Orchestrates the entire process of converting a Qt Designer .ui file and a set of CLI parameters into a complete, runnable GUI/plugin project for a specific framework (e.g., PyQt, Tkinter, Panel).
| None __init__ | ( | self, | |
| str | ui_file, | ||
| str | exe_name, | ||
| str | flags_file, | ||
| str | post_script = None, | ||
| str | update_flags_file = None, | ||
| str | gui_format = "pyqt", | ||
| str | output_folder = None ) |
Initialize a new workflow manager.
| None run | ( | self | ) |
Execute the complete workflow:
1) Derive app name + JSON target filename.
2) Convert `.ui` → base JSON widget/geometry specification.
3) Parse CLI help + selected flags → inject GUI input panel.
4) (Optional) Inject update-panel controls for dynamic refresh.
5) Generate framework-specific GUI code files.
6) Copy template assets and install generated code.
Output:
A fully materialized GUI project directory at `self.output_folder`.
Notes:
• Platform subfolder is chosen automatically unless explicitly given.
• JSON file serves as an intermediate reproducible specification.
• Output folder becomes:
<base>/pymol, <base>/vmd, or <base>/web