Skip to main content

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 r to open the Run Wizard (5-step guided docking pipeline)
  • Press s to open the Status Monitor (live run tracking)
  • Press ? for the full keybindings reference

Run Wizard walkthrough

  1. Receptor — enter a PDB ID (downloaded automatically from RCSB) or a local .pdb path. Select chains.
  2. Binding site — choose from co-crystal ligand, residue list, P2Rank prediction, or blind whole-protein.
  3. Ligand library — path to a .smi, .smiles, or .sdf file.
  4. Options — toggle ADMET pre-filter and set search depth (Fast / Balanced / Thorough).
  5. 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

Home Dashboard

Status Monitor

Results Viewer

License

Apache-2.0

Metadata

Release files for ezscreen 1.15.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ezscreen 1.15.0
File Size Uploaded
ezscreen-1.15.0.tar.gz 1.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for ezscreen 1.15.0
File Interpreter ABI Platform
ezscreen-1.15.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.7 MB

Release files / ezscreen-1.15.0.tar.gz

Download URL ezscreen-1.15.0.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
9460b41e580b509fe5034d0b260e6c9200df61c72d75bac4a02dfa16bc0c06d4
BLAKE2b-256 checksum
How to use checksums
6f6de8fffac71770b8bb39529f66b590cb8e91633cc2c0d2acd16fccb62ae6ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / ezscreen-1.15.0-py3-none-any.whl

Download URL ezscreen-1.15.0-py3-none-any.whl
Size 228.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2763ff29a52b4128008304cabcfe9c25ca72c791258b5561f6f84485968e269c
BLAKE2b-256 checksum
How to use checksums
92db0904bdeed97d95a315df4d6bea9540045fd95b923d73cde48cba0dbe7396
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

1.15.0 This release

2 release files

1.12.1

2 release files

1.12.0

2 release files

1.11.0

2 release files

1.10.1

2 release files

1.10.0

2 release files

1.9.4

2 release files

1.9.2

2 release files

1.9.1

2 release files

1.9.0

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page