GPU-accelerated virtual screening CLI — powered by Kaggle GPUs
Project description
ezscreen
GPU-accelerated virtual screening powered by Kaggle GPUs.
ezscreen is a CLI tool that runs molecular docking campaigns on Kaggle's free GPUs. It handles receptor preparation, ligand prep, ADMET filtering, Kaggle kernel submission, result download, and hit visualisation — all from an interactive full-screen TUI or a classic CLI.
Prerequisites
- Python 3.11+
- A Kaggle account with GPU quota and an API token (
kaggle.json) - (Optional) NVIDIA NIM API key for Stage 2 validation with DiffDock-L
Installation
pip install ezscreen
Optional: scrubber for enhanced ligand prep
forlilab/scrubber provides tautomer enumeration and pH-driven protonation. Not on PyPI — install separately:
pip install git+https://github.com/forlilab/scrubber.git
Without it, ezscreen falls back to RDKit-only preparation (still fully functional).
Setup
ezscreen auth
Prompts for your Kaggle kaggle.json path and optionally an NVIDIA NIM API key.
Quickstart — TUI
Launch the full-screen interface:
ezscreen
This opens the home dashboard. From there:
- Press
rto open the Run Wizard (5-step guided docking pipeline) - Press
sto open the Status Monitor (live run tracking) - Press
?for the full keybindings reference
Run Wizard walkthrough
- Receptor — enter a PDB ID (downloaded automatically from RCSB) or a local
.pdbpath. Select chains. - Binding site — choose from co-crystal ligand, residue list, P2Rank prediction, or blind whole-protein.
- Ligand library — path to a
.smi,.smiles, or.sdffile. - Options — toggle ADMET pre-filter and set search depth (Fast / Balanced / Thorough).
- Summary + submit — review all parameters including box coordinates, then submit to Kaggle.
Results appear in the TUI Results screen when the Kaggle kernel completes.
Quickstart — CLI
ezscreen auth # set up credentials once
ezscreen run # guided CLI wizard
ezscreen status # track running jobs
ezscreen view <run_id> # show results table and open 3D viewer
See examples/1hsg_quickstart.md for a full end-to-end walkthrough against HIV-1 protease.
Commands
| Command | Description |
|---|---|
ezscreen |
Launch full-screen TUI (default when no subcommand given) |
ezscreen tui |
Alias for the above |
ezscreen auth |
Configure Kaggle and NIM credentials |
ezscreen status |
List all runs with status (auto-refreshes) |
ezscreen view <run_id> |
Show results table and open 3D viewer |
ezscreen admet <file> |
Standalone ADMET filtering on any SDF or SMILES file |
ezscreen validate <receptor> <hits> |
Stage 2 re-docking via NVIDIA NIM DiffDock-L |
ezscreen clean <run_id> |
Delete Kaggle dataset and kernel artifacts |
Features
- Full-screen TUI — Textual-based interface with dashboard, run wizard, live status monitor, and results viewer
- UniDock GPU docking — builds UniDock from source on Kaggle to match the installed CUDA toolkit
- Tiered binding site detection — co-crystal, residue Cα box, P2Rank top-3, or blind fallback
- ADMET filtering — Lipinski, Veber, PAINS, Brenk toxicophores applied locally before submitting to reduce wasted GPU time
- Compound identity — results include the original name and SMILES alongside docking scores
- Artifact filtering — unphysical scores (below −15 kcal/mol) removed automatically
- Resilient download — exponential backoff retry; local score recovery from PDBQTs if download fails
- 3D viewer — self-contained py3Dmol HTML viewer for top poses
- DiffDock-L validation — NVIDIA NIM integration for high-accuracy re-docking of top hits
- Checkpoint resume — SQLite-backed run state; interrupted runs can be resumed mid-shard
- Desktop notifications — optional toast on run completion via plyer
Screenshots
License
Apache-2.0
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 ezscreen-1.9.0.tar.gz.
File metadata
- Download URL: ezscreen-1.9.0.tar.gz
- Upload date:
- Size: 1.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c5b423f33bc53d4027b0c85686e69779a9a06f2948b3ad2a1547482b5485257
|
|
| MD5 |
c3bb9c53d6438663cf23582f989a5071
|
|
| BLAKE2b-256 |
65949cbfea825cab7652f3195bb7019134a2a3dd2e20816502409b746bbe638a
|
File details
Details for the file ezscreen-1.9.0-py3-none-any.whl.
File metadata
- Download URL: ezscreen-1.9.0-py3-none-any.whl
- Upload date:
- Size: 140.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5148aec7be8bc53748693af48f3b6c9f160addd05088427cbc5c49623ecabcb3
|
|
| MD5 |
ceb0d12458011db264a63c2aaa7034ad
|
|
| BLAKE2b-256 |
e3cd1b6a6ec4d547f2bfcc5de68cc45996bfccfe252e8040703c0136a41a73f9
|