feat: Add GUI, Windows installer, and Docker web server deployment#101
Open
RalfG wants to merge 10 commits into
Open
feat: Add GUI, Windows installer, and Docker web server deployment#101RalfG wants to merge 10 commits into
RalfG wants to merge 10 commits into
Conversation
Add NiceGUI-based web interface with dark mode support, file upload with temp file cleanup, prediction visualization, and baseline comparison plots. Inline psm_utils read_file to avoid cross-module import. Use semantic CSS classes for dark-mode-aware text colors. CLI improvements: swap short flags (-r for --reference, -rt for --reference-filetype) and add callback validation for --finetune.
Add automatic reference PSM selection for calibration from the input file itself, using q-values, target-decoy competition, or top scores. Expose as --auto-calibrate CLI flag and radio toggle in GUI. GUI improvements: dark mode, WebGL scatter plots with target/decoy coloring, MAE/RMAE metrics on accepted targets, inline error display, calibration mode selector, input format documentation, and smooth scroll to results.
- Add NiceGUI-based web UI with file upload, prediction, calibration, and results download - Add --native flag to launch as desktop window via pywebview - Bundle DeepLC logo as package data; serve as static file and favicon - Fix stdout/stderr for console=False PyInstaller builds (redirect to devnull) - Add [gui] and [web] optional dependency groups - Add Dockerfile for containerized web server deployment using [web] extra
- Add test_reference_selection.py covering filter_targets_with_rt, select_by_qvalue, select_by_score, and select_reference_psms dispatch logic - Add test_core.py covering predict_and_calibrate with explicit and auto reference selection - Fix None score/qvalue guards in _reference_selection.py
- Rewrite deeplc.spec: collect_all loop over all dependencies, explicit onnx2torch collection, console=False with app icon - Remove legacy deeplc_pyinstaller.spec - Update deeplc_innosetup.iss: add setup icon, launch with --native flag
…y-run mode - Build and test Windows installer via PyInstaller + InnoSetup - Build Docker image from wheel artifact (avoids PyPI propagation delay) - Push to GHCR; run smoke test against published image - Add dry_run workflow_dispatch input (default: true) to test full pipeline without publishing to PyPI, GHCR, or GitHub releases
…correct peprec (legacy).
Member
Author
|
@paretje, can you check if anything else is necessary here for deploying the new GUI on our cluster, replacing the old streamlit app? |
Contributor
|
No, not really, I think this should be fine. I just need to change the proxy configuration. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
feat: Add GUI, Windows installer, and Docker web server deployment
Adds a NiceGUI-based graphical interface, a Windows installer, and a Docker image for server deployment, building on the v4 API refactor.
Changes
deeplc gui): NiceGUI web interface for file upload, prediction, calibration, and results download. Optional native desktop window via--nativeflag (pywebview).predict_and_calibrate()andfinetune_and_predict(): new core functions with optional automatic calibration reference selection from input PSMs.[web]extra (no pywebview).dry_rundispatch input (default:true) to validate CI without publishing.predict_and_calibrate().Trying the GUI
Browser (any platform):
Native desktop window (Windows/macOS):
Windows installer: Download
DeepLC-<version>-Windows64bit.exefrom the release assets and run it. Creates a Start Menu and optional desktop shortcut that launch the native window.Docker (web server):
docker run -p 8080:8080 ghcr.io/compomics/deeplc:latest # Open http://localhost:8080