Skip to main content

Package for Docking.

Project description

spock — Standardize, Prepare, Dock

spock is a Python toolkit for structure-based drug design. It bundles a unified molecule/protein storage layer, ligand standardization and preparation pipelines, several docking engines, interaction-fingerprint descriptors, a graph/GNN stack, and an interactive PyMOL GUI — so a target can go from a raw sequence to docked, scored and visualised poses in one place.

Status: active development / beta.


Features

Area What's included
Storage Unified SpockStorage for ligands, proteins and docked poses, built on the QSPRpred storage interfaces. Per-target stores, compressed pose serialization.
Docking engines AutoDock Vina (CPU) — multi-core parallel; Vina (CPU, local) — lightweight single-process; Vina-GPU — via the andriusbern/vina-gpu Docker image (NVIDIA runtime). Vina scoring function.
Standardization Papyrus standardizer and a permissive NaiveStandardizer, with InChI-based identifiers.
Ligand preparation Dimorphite-DL protonation/tautomer enumeration; Schrödinger LigPrep wrapper.
Descriptors PLIP protein–ligand interaction fingerprints (PLIPIFP) as a QSPRpred DescriptorSet.
Graphs / GNN Molecular & complex graph featurizers; PyTorch-Geometric dataset bridge and models ([gnn] extra).
De novo generation Target-conditioned ligand generation via PCMol from inside the GUI.
Data sources One-click download of bioactivity data and targets from Papyrus; PDB structure fetching.
GUI PyMOL-embedded interface for browsing targets, fetching structures, managing ligands, docking, and inspecting poses & interactions (see below).
Parallelism pebble-based parallel docking, preparation and dataframe pipelines.

Installation

Requires Python ≥ 3.10. PyMOL (open-source or incentive build) and AutoDock Vina are expected from the environment — the recommended route is conda/micromamba:

# 1. create an environment with the native deps that don't ship cleanly on PyPI
micromamba create -y -n spock -c conda-forge \
    python=3.11 pymol-open-source pyqt pyqtgraph rdkit openbabel plip

# 2. install spock (editable)
git clone https://github.com/CDDLeiden/spock.git
cd spock
micromamba run -n spock pip install -e .

Optional extras:

pip install -e ".[vina]"    # AutoDock Vina Python bindings (CPU docking)
pip install -e ".[gnn]"     # torch, torch_geometric, wandb, ...
pip install -e ".[pymol]"   # GUI helper stack (pypdb, meeko, docker, plip, ...)
pip install -e ".[dev]"     # linting / tests (pre-commit, ruff, pytest)

For Vina-GPU, an NVIDIA Docker runtime is required; see setup_nvidia_docker.sh.


The GUI

Launch the GUI (it runs on PyMOL's own Qt thread) with the installed console script:

spock

or load it as a PyMOL plugin:

pymol spock/gui/addon.py

The interface is organised around a selected target:

Panel Capabilities
Targets Browse and fuzzy-search protein targets; download bioactivity data from Papyrus.
Structures Fetch and load PDB structures for the active target.
Ligands Add / delete / save / load ligands, download from Papyrus, hover cards with computed properties (incl. SA score).
Docking Pick a binding-site box ("Get coordinates") and run docking; live progress.
Poses Per-pose bar with scores, crosshair score plots, load stored poses into the viewer.
Interactions PLIP protein–ligand contacts rendered directly in PyMOL with a contacts table.
Generator Load a PCMol model and generate target-conditioned ligands.

All results (structures, ligands, poses, scores) are persisted to the per-target SpockStorage, so closing and reopening a target restores its state.


Tutorials

The tutorial/ folder contains notebooks covering storage creation, standardization, ligand preparation and docking benchmarks.

License & citation

See pyproject.toml for authors and project metadata. Part of the CDD Leiden software stack alongside QSPRpred.

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

dock-0.1.0.tar.gz (5.9 MB view details)

Uploaded Source

Built Distribution

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

dock-0.1.0-py3-none-any.whl (384.4 kB view details)

Uploaded Python 3

File details

Details for the file dock-0.1.0.tar.gz.

File metadata

  • Download URL: dock-0.1.0.tar.gz
  • Upload date:
  • Size: 5.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for dock-0.1.0.tar.gz
Algorithm Hash digest
SHA256 11a24d4d4998e57a07a460f50f25509f2a8e08c1df2b99f021e6695577844f7f
MD5 84ed85d3350c4a42dc93ddee2d8e4210
BLAKE2b-256 e56594cff8e3e18bb3ee4deb6bac4353c8050f1b00b13f90c4869f18f45ee990

See more details on using hashes here.

File details

Details for the file dock-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: dock-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 384.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for dock-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0fcd2fb113baecdfd6b12658e1a3ad9a5820f69b7783808d7c5a3486c0dbb2df
MD5 caa55962951ab2bbb612050c6a16fdb1
BLAKE2b-256 a003179e49aa36c5e0ed85da435f585df1f0a4fb8a2142888fb1f1df36459b52

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