Graphical interface for jamdock-suite — automated virtual screening pipeline (QuickVina 2)
Project description
jamdock-gui
Graphical interface for jamdock-suite — an end-to-end pipeline for automated virtual screening built around QuickVina 2.
This GUI is a layer on top of the original bash scripts: it doesn't replace them, it makes them point-and-click. CLI users can keep using the scripts as-is.
Pipeline covered
Library Generation Receptor Preparation Docking Ranking
────────────────── ──────────────────── ─────── ───────
ZINC tranches / → PDB → cleanup → PDBQT → qvina02 batch → Top hits
FDA catalog Fpocket pockets (parallel) (Affinity +
→ PDBQT library → grid.conf → docking_results SimScore)
(jamlib) (jamreceptor) (jamqvina) (jamrank)
What's new in jamdock-gui (vs. the jamdock-suite CLI)
This GUI is more than a button-wrapper for the bash scripts. It adds capabilities that were impractical to bolt onto the original CLI:
- Full graphical environment — PySide6 desktop application with four task-oriented tabs (Library, Receptor, Docking, Results), persistent settings, a built-in dependency checker, and an integrated log console. CLI users can keep using the scripts as-is; nothing in the suite is removed.
- Structural-water handling —
jamreceptorstrips every water by default. The GUI ships a dedicated module (core.waters) that detects crystallographic waters in the input PDB, scores each one against four cheap structural criteria (B-factor, contact count, distance to pocket centroid, H-bond geometry), filters by user-tunable thresholds, and injects the surviving "bridge" waters back into the cleaned PDB so they participate in the docking. This typically rescues 1–2 kcal/mol of binding free energy that pure dry docking misses. - Titratable-residue protonation at user-selected pH — optional PDB2PQR + PROPKA stage that adjusts the protonation states of HIS, ASP, GLU, CYS, LYS, ARG and TYR for the experimental pH. The GUI takes care of renaming the non-standard residue codes that PDB2PQR emits (HIE/HID/HIP, ASH, GLH…) back to the 3-letter codes that
prepare_receptor4expects, so the workflow stays seamless. - Click-to-pick PyMOL viewer everywhere — fully integrated PyMOL panel that you can drive with one click from any tab:
- Protein view: chains and ligands are shown side by side; click a chain to keep it, click a pocket detected by Fpocket to use it as the binding site for the grid.
- Pocket preview: every Fpocket cavity is rendered with its surface so you can compare them visually before choosing one.
- Pose inspection: click any row in the Results table and the receptor + that exact pose load into PyMOL ready for inspection.
- CPU parallelization of QuickVina jobs — the Python orchestrator that replaces
jamqvinarunsqvina02in a configurable worker pool sized to the host's CPU count. Live throughput chart, accurate ETA, pause/resume, and crash recovery (so the oldjamresumeis no longer needed) deliver a measured 3–4× speed-up vs. the serial bash version on multi-core machines. - Live, in-place results analysis — as each docking job finishes, its results stream into the Results table without waiting for the batch to end. Each row's Lipinski Rule-of-Five status (MW, Crippen LogP, HBD/HBA, computed via RDKit) is evaluated on the fly and the row is coloured green when all four criteria are met, so druggable hits jump out of the list while the rest of the screening is still running. Filterable by Affinity, SimScore, MW or ZINC ID; one-click exports to CSV, XLSX, ZIP-of-poses, or a Markdown lab notebook.
Installation
jamdock-gui is a Python layer on top of the jamdock-suite bash scripts (jamlib, jamreceptor, jamqvina, jamrank, jamresume) and the external binaries they orchestrate (qvina02, fpocket, MGLTools, OpenBabel). Installation is a two-step process: first set up jamdock-suite (which already documents how to install every external dependency), then install this GUI on top.
Supported platform. v1.0 is tested on Linux (Ubuntu 22.04 / 24.04) and on WSL2. Native Windows and macOS are not officially supported in this release.
Step 1 — Install jamdock-suite (one-time setup)
Follow the instructions at https://github.com/jamanso/jamdock-suite to install the base pipeline. That repository covers everything jamdock-gui depends on at runtime:
jamlib,jamreceptor,jamqvina,jamrank,jamresume— the bash scripts that do the actual work.qvina02,fpocket, MGLTools (prepare_ligand4.py,prepare_receptor4.py), OpenBabel.
Verify the suite is on your $PATH before continuing:
which jamlib jamreceptor jamqvina jamrank jamresume
which qvina02 fpocket obabel
If any of these is missing, fix that first — the GUI will refuse to launch otherwise (and will tell you exactly which one it cannot find, in the Dependencies panel of the welcome screen).
Step 2 — Install jamdock-gui
Once jamdock-suite is in place, install the GUI from PyPI:
pip install jamdock-gui
Or, to install the latest development version directly from GitHub:
pip install git+https://github.com/jamanso/jamdock-gui.git
We strongly recommend a dedicated virtual environment to keep Qt and RDKit isolated from your system Python:
python -m venv ~/.venvs/jamdock
source ~/.venvs/jamdock/bin/activate
pip install jamdock-gui
Step 3 — Launch
jamdock-gui
The GUI auto-detects all binaries on launch. If something is on a non-standard path, open Settings → Binary paths and point it manually — the choices are persisted across sessions.
WSL2 users
Everything works out of the box on WSL2 with WSLg (Windows 11 or recent Windows 10 builds), no X server required. If you are on an older Windows that needs an X server (VcXsrv, X410), launch it before starting jamdock-gui and make sure DISPLAY is exported in your shell.
Usage
jamdock-gui
Acknowledgments
jamdock-gui would not look the way it does without the early users of jamdock-suite who tested the workflow, reported issues, and suggested features that ended up shaping this graphical interface. Particular thanks go to:
- Dr. Esam Orabi
- Ms. Emma Nicole Short
- Dr. Elena Cabezón
Their feedback, ideas and suggestions are gratefully acknowledged.
Citation
If you use jamdock-gui or its outputs in publications, please cite the method paper for the pipeline:
- Barbosa Pereira, P.J., Ripoll-Rozada, J., Macedo-Ribeiro, S., & Manso, J.A. (2025). Protocol for an automated virtual screening pipeline including library generation and docking evaluation. STAR Protocols 6(4), 104161. https://doi.org/10.1016/j.xpro.2025.104161
and the software itself:
- Manso, J.A. (2026). jamdock-gui. Zenodo. https://doi.org/10.5281/zenodo.20268820 (this DOI always resolves to the latest version; for citing the specific release used in your work, see the version-pinned DOI below)
- Manso, J.A. (2026). jamdock-gui v1.0.0. Zenodo. https://doi.org/10.5281/zenodo.20268821
- Manso, J.A. (2025). jamdock-suite. Zenodo. https://doi.org/10.5281/zenodo.15577778
Please also acknowledge the third-party tools the pipeline orchestrates:
- Trott, O., & Olson, A.J. (2010). AutoDock Vina. J Comput Chem 31, 455–461.
- Alhossary, A. et al. (2015). QuickVina 2. Bioinformatics 31, 2214–2216.
- Le Guilloux, V. et al. (2009). Fpocket. BMC Bioinformatics 10, 168.
- Morris, G.M. et al. (2009). AutoDock4 / AutoDockTools. J Comput Chem 30, 2785–2791.
- O'Boyle, N.M. et al. (2011). Open Babel. J Cheminformatics 3, 33.
- Sterling, T. & Irwin, J.J. (2015). ZINC 15. J Chem Inf Model 55, 2324–2337.
License
Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0). Same as jamdock-suite.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jamdock_gui-1.0.0.tar.gz.
File metadata
- Download URL: jamdock_gui-1.0.0.tar.gz
- Upload date:
- Size: 117.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92b61bbca0ad3dd05e2c9db8a59677557851eff73163490a3372b5ea571d95d7
|
|
| MD5 |
23ff2c6dea481ffba71adb5d834254b0
|
|
| BLAKE2b-256 |
a89dd4916901c68ed01def95df8eb45c8d137f2a0b9e4bc935fcbe9e21e967bc
|
Provenance
The following attestation bundles were made for jamdock_gui-1.0.0.tar.gz:
Publisher:
release.yml on jamanso/jamdock-gui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jamdock_gui-1.0.0.tar.gz -
Subject digest:
92b61bbca0ad3dd05e2c9db8a59677557851eff73163490a3372b5ea571d95d7 - Sigstore transparency entry: 1566912962
- Sigstore integration time:
-
Permalink:
jamanso/jamdock-gui@dd9dd61dd86e41b5c15ed78dbd225c2a94c57033 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jamanso
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@dd9dd61dd86e41b5c15ed78dbd225c2a94c57033 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file jamdock_gui-1.0.0-py3-none-any.whl.
File metadata
- Download URL: jamdock_gui-1.0.0-py3-none-any.whl
- Upload date:
- Size: 131.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d9bdb48d0b64414c1d9cff9daa4381ee9327d4b5a7f1f8611d0999b688b7b61
|
|
| MD5 |
396ee0dbe617ddc5ed2375bda591273f
|
|
| BLAKE2b-256 |
c93d7a92d561af627b7b8261d228b6aaad758e77a12cd2b88785f4112c186c90
|
Provenance
The following attestation bundles were made for jamdock_gui-1.0.0-py3-none-any.whl:
Publisher:
release.yml on jamanso/jamdock-gui
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jamdock_gui-1.0.0-py3-none-any.whl -
Subject digest:
9d9bdb48d0b64414c1d9cff9daa4381ee9327d4b5a7f1f8611d0999b688b7b61 - Sigstore transparency entry: 1566912980
- Sigstore integration time:
-
Permalink:
jamanso/jamdock-gui@dd9dd61dd86e41b5c15ed78dbd225c2a94c57033 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/jamanso
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@dd9dd61dd86e41b5c15ed78dbd225c2a94c57033 -
Trigger Event:
workflow_dispatch
-
Statement type: