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 a single interactive command.
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
ezscreen run
Interactive wizard guides you through:
- Receptor — PDB ID (auto-downloaded) or local
.pdbfile - Chain selection
- Binding site — co-crystal ligand, residue list, P2Rank prediction, or blind
- Ligand file —
.smi,.smiles, or.sdf - ADMET filtering (Lipinski, Veber, PAINS, Brenk)
- Search depth — Fast / Balanced / Thorough
- Submit to Kaggle
When the run completes, results are downloaded automatically and displayed:
ezscreen view ezs-<run_id>
Commands
| Command | Description |
|---|---|
ezscreen run |
Interactive screening wizard |
ezscreen auth |
Configure Kaggle and NIM credentials |
ezscreen view <run_id> |
Show results table + open 3D viewer |
ezscreen download <run_id> |
Re-download results for a completed run |
ezscreen status |
List all runs with status (--live to auto-refresh) |
ezscreen resume <run_id> |
Resume an interrupted run |
ezscreen admet <file> |
Standalone ADMET filtering on any SDF/SMI 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
- UniDock GPU docking — builds UniDock from source on Kaggle to match the installed CUDA toolkit, avoiding pre-built binary ABI mismatches
- Compound identity — results include the original name and SMILES from your input file alongside docking scores
- Artifact filtering — unphysical scores (< −15 kcal/mol) from GPU batching edge cases are automatically removed
- Resilient download — retries with exponential backoff; recovers scores locally from docked PDBQTs if the Kaggle download fails mid-transfer
- ADMET filtering — Lipinski, Veber, PAINS, Brenk rules applied locally before submitting to reduce wasted compute
- 3D viewer — self-contained py3Dmol HTML viewer for top poses
- DiffDock-L validation — native NVIDIA NIM integration for high-accuracy re-docking of top hits
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-0.1.3.tar.gz.
File metadata
- Download URL: ezscreen-0.1.3.tar.gz
- Upload date:
- Size: 175.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1ec229b4239679924dd3cf6dcfa6fd2a1cf01564827b56bb892d43b8635b085
|
|
| MD5 |
575b81c3e7652c3527ef09f2ccb552c0
|
|
| BLAKE2b-256 |
5a9e11b22dc950e8f7485939276c0b5aa942911d3c8b6600873eed96baed4587
|
File details
Details for the file ezscreen-0.1.3-py3-none-any.whl.
File metadata
- Download URL: ezscreen-0.1.3-py3-none-any.whl
- Upload date:
- Size: 58.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e085dd8608031b9ce5de1a5a3dfc34dcf1bf46535d47365567570ebe7944645
|
|
| MD5 |
70d681da0ddf0426ca23083cde45a9ce
|
|
| BLAKE2b-256 |
09c81e60a521d6f09a41fe8f42bb00646ce87af8067aed6ea5c785c387c569eb
|