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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11a24d4d4998e57a07a460f50f25509f2a8e08c1df2b99f021e6695577844f7f
|
|
| MD5 |
84ed85d3350c4a42dc93ddee2d8e4210
|
|
| BLAKE2b-256 |
e56594cff8e3e18bb3ee4deb6bac4353c8050f1b00b13f90c4869f18f45ee990
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0fcd2fb113baecdfd6b12658e1a3ad9a5820f69b7783808d7c5a3486c0dbb2df
|
|
| MD5 |
caa55962951ab2bbb612050c6a16fdb1
|
|
| BLAKE2b-256 |
a003179e49aa36c5e0ed85da435f585df1f0a4fb8a2142888fb1f1df36459b52
|