PG-SUI Desktop GUI
PG-SUI ships with a MacOS desktop app that wraps the pg-sui CLI. Every control in the GUI maps directly to a CLI flag, so presets, YAML configs, and --set overrides behave the same way you would expect on the command line.
Install & launch
Note
The GUI is currently MacOS-only. Linux users should run PG-SUI via the CLI.
Tip
Install PG-SUI into a fresh virtual environment to keep dependencies isolated.
Install the Python package with the GUI extras:
pip install "pg-sui[gui]"
Install Node.js so
npmis available.Fetch the Electron dependencies (one-time setup):
pgsui-gui-setup
Start the app:
pgsui-gui
The GUI uses the active Python environment, so it runs against the same PG-SUI version and configuration you use on the CLI. The pgsui-gui-setup step only needs to be run once (or after updating PG-SUI) to refresh Electron dependencies.
First run walkthrough
Pick a working directory This is where outputs will be written (e.g.,
demo_output/) and where logs are saved if you set a log file.Provide input Choose the file format, point to your VCF/PHYLIP/STRUCTURE/GENEPOP file, and optionally add a popmap. Set a
Prefixor keep the inferred filename.Select models and presets Choose a preset (
fast,balanced, orthorough) and select one or more models from the multi-select list. Enable tuning if you want Optuna-driven hyperparameter search and specify the number of trials.Apply configs or overrides Supply a YAML config, dump the effective config to a file, or add one-per-line
--setoverrides (e.g.,model.latent_dim=16) for quick tweaks. Use include-pops, device, batch size, sim strategy, plot format, and other toggles as needed.Run Click Start to launch. Logs stream live and show the exact CLI command that was executed. Use Stop to gracefully terminate a run.
Outputs land in the same layout as the CLI: <prefix>_output/<Family>/plots/<Model>/ and <prefix>_output/<Family>/metrics/<Model>/, plus the MultiQC report.
GUI to CLI Mapping
The table below details how specific GUI controls translate to command-line arguments.
GUI Control |
CLI Flag |
Notes |
|---|---|---|
Format |
|
|
Input file |
|
Falls back to |
Popmap |
|
Optional population map file. |
Force popmap |
|
Forces usage of popmap even if file headers differ. |
Preset |
|
|
Models |
|
Multi-select allowed. |
YAML config |
|
Path to a YAML configuration file. |
Dump config |
|
Writes effective configuration to a file. |
Include pops |
|
Filter specific populations. |
Sim strategy |
|
See Overview. |
Tune / Trials |
|
Enable Optuna and set trial count. |
Overrides |
|
One override per line in the GUI maps to repeated flags. |
Dry run |
|
Validates inputs/config without training. |
Verbose |
|
Enables detailed logging. |
Troubleshooting & Tips
Run
pgsui-gui-setupafter updating the repository to refresh Electron dependencies.If the GUI cannot find
pgsui/cli.py, ensure PG-SUI is installed in the current environment or set thePGSUI_CLI_DEFAULTenvironment variable to the absolute path ofcli.py.
Tip
The log panel shows the exact command string executed. Copy this string to reproduce the run in a terminal for debugging or scripting.