Skip to main content

a focused Python package for molecular preparation, docking simulation, visualization, and analysis workflows

Project description

zendock

zendock is a focused Python package for the molecular docking workflow sketched in Docking.ipynb.

This package aims to provede the entire stack needed to perform molecular docking for scientific use, sacrificing performance and flexibility for access and ease of use.

The base package keeps imports lightweight. Install extras for ligand/receptor preparation, docking, and visualization workflows.

Philosophy

  • Lightweight import by default, optional extras for full workflows
  • Notebook prototype, package implementation
  • uv for development
  • pip works for end users

Install

Users

Install from PyPI with regular pip:

pip install zendock

Install the complete workflow stack with:

pip install "zendock[all]"

Targeted extras are also available:

pip install "zendock[prep]"  # ligand/receptor preparation
pip install "zendock[dock]"  # Vina docking
pip install "zendock[viz]"   # 3D/interaction visualization

Development with uv

Create an environment and install the package in editable mode:

uv venv
source .venv/bin/activate
uv pip install -e ".[all]"

Install developer tools too:

uv pip install -e ".[dev]"

Development Workflow

Typical loop:

uv venv
source .venv/bin/activate
uv pip install -e ".[all,dev]"
pytest
python -m build

Project Layout

src/zendock/
  __init__.py
  docking.py
  exceptions.py
  fetching.py
  ligand.py
  models.py
  receptor.py
  result_store.py
  results.py
  tools.py
  utils.py
  workspace.py
tests/
Docking.ipynb
pyproject.toml

Current Public API

from zendock import DockingRunner, Ligand, OutputLayout, Receptor

DockingRunner remains the notebook-friendly facade. New code can pass an OutputLayout to centralize output directories and use the typed result objects cached on runner.last_result after docking.

Visualization Example

from zendock import DockingRunner, Ligand, Receptor

receptor = Receptor(name="egfr", pdb_id="1M17")
# Prepare the receptor, add at least one prepared ligand, and set up Vina first.
runner = DockingRunner(receptor)

runner.run_docking()
runner.export_2d_interaction_diagram("ligand_a")
runner.export_3d_interaction_diagram("ligand_a", pose_index=0)

Notes

  • The package is licensed under 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

zendock-0.1.0.tar.gz (924.2 kB view details)

Uploaded Source

Built Distribution

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

zendock-0.1.0-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: zendock-0.1.0.tar.gz
  • Upload date:
  • Size: 924.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for zendock-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4eb927b064bfae2fb9a72d48f96d0e48c3af0f5ee079d8e832039b3d8439798c
MD5 35414b342f5d8397cb4bba3627dfb867
BLAKE2b-256 3765fa04bcb85cf450941ea7cb9d78ec08d8fc0b5ba9c4f5198d0a83c8b6d642

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zendock-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 21.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for zendock-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c34e18958b3a16d40f35e46c92c88d1dda4f21dd1ebc2442b0f807e226fb76ca
MD5 f0e9a99e2fbda3c2369093f30a01a5ea
BLAKE2b-256 4dd4eebaf3e7581642dc87256eb47f3b91096c97f5a5ef2abc97ad3941b19525

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