Skip to main content

GPU-accelerated virtual screening CLI — powered by Kaggle T4 GPUs

Project description

ezscreen ??

GPU-accelerated virtual screening powered by Kaggle T4 GPUs.

ezscreen is a full-featured CLI tool that orchestrates virtual screening campaigns (molecular docking) completely inside the Kaggle environment, leveraging their free T4 GPUs. It handles everything from receptor preparation and ligand filtering to submitting Kaggle kernels, polling for completion, merging shards, and visualising the results.

Prerequisites

  • Python 3.11+
  • A Kaggle account with an API token
  • (Optional) NVIDIA NIM API key for Stage 2 validation with DiffDock-L

Installation

pip install ezscreen

Optional: Install scrubber for enhanced ligand prep

forlilab/scrubber provides tautomer enumeration and pH-driven protonation. It is not on PyPI, so install it separately:

pip install git+https://github.com/forlilab/scrubber.git

Without it, ezscreen falls back to RDKit-only preparation (still fully functional for most use cases).

Setup

First, configure your credentials:

ezscreen auth

(This will ask for your Kaggle kaggle.json credentials and optionally an NVIDIA NIM API key).

Quickstart

To run an interactive virtual screening campaign:

ezscreen run

You will be guided through a series of steps:

  1. Receptors (PDB ID or local file)
  2. Chain selection
  3. Binding site definition
  4. Ligand selection (from Enamine/ChemSpace subsets or a custom CSV/SDF/SMI file)
  5. ADMET rules filtering
  6. Submission to Kaggle.

After the run finishes, view the results interactively:

ezscreen view results/ezs-<RUN_ID>

Features

  • End-to-End Orchestration: Automatically chunks massive ligand sets, spawns parallel Kaggle notebooks, runs them on T4 GPUs, and downloads/merges the results.
  • Docking Engines: Uses UniDock-Pro by default (if available), with automatic fallback to AutoDock Vina/UniDock.
  • ADMET Filtering: Built-in interactive filters (Lipinski, Veber, PAINS, Brenk) to drop problematic compounds before wasting compute time.
  • DiffDock-L Validation: Native integration with NVIDIA NIM for high-accuracy re-docking of top hits (ezscreen validate).
  • 3D Visualisation: Self-contained py3Dmol HTML viewer (ezscreen view).
  • Resilience: Exponential backoff polling, chunking, and state database ensure your runs can survive network drops.

Other Commands

  • ezscreen status: See all recent runs and their completion percentage (use --live to auto-refresh).
  • ezscreen admet: Run standalone filtering on any SDF/CSV file.
  • ezscreen clean <run_id>: Delete artifacts from Kaggle to free up space.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ezscreen-0.1.2.tar.gz (89.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ezscreen-0.1.2-py3-none-any.whl (47.6 kB view details)

Uploaded Python 3

File details

Details for the file ezscreen-0.1.2.tar.gz.

File metadata

  • Download URL: ezscreen-0.1.2.tar.gz
  • Upload date:
  • Size: 89.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for ezscreen-0.1.2.tar.gz
Algorithm Hash digest
SHA256 e241b069d39645c86012d7c58ad0a86de8b7c959d811ae48e8b74a5b4c09a896
MD5 ab58babb8917bf40bfd5feb39237c02f
BLAKE2b-256 30d06b8189fbd174a81b0079fc3348dc0665c0d9aef4d9db68a4796742b47625

See more details on using hashes here.

File details

Details for the file ezscreen-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: ezscreen-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 47.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for ezscreen-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5f931de770ae4c478979ffed1a0deb220b0de4598d9e6891c1267f8c7770efe4
MD5 bf960c9053bfd6d49d25b9fd0fa2c820
BLAKE2b-256 f9035a81a660d58046fe434ca2eb402eab864e89a1fdabc016c2085e51bf4c0f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page