Skip to main content

AMDockVS

AMDockVS exposes a composite runtime on top of MolSuite. The official entry point is:

from amdockvs import AMDockVSRuntime

The active public API is organised by domain:

  • runtime.loader: ligand and receptor loading
  • runtime.molecules: scopes, filters, sets and access to the general molecular inventory
  • runtime.complexes: explicit receptor-ligand relations for redocking and rescoring
  • runtime.chemistry: optional chemical preparation tools for ligands and receptors
  • runtime.qsar: descriptors, activities, datasets and QSAR models
  • runtime.pockets: P2Rank installation and cavity prediction
  • runtime.docking: Meeko preparation, grids, docking and result queries

Installation

Python >= 3.12. The MolSuite packages and PyMOL (the pymol-open-source alpha wheels, via ms_components) are installed automatically from PyPI:

python3.12 -m venv .venv
source .venv/bin/activate
pip install AMDockVS

Start the GUI:

amdockvs

Optional extras

pip install "AMDockVS[all]"   # or pick one: bblean, pockets, receptors
Extra What it adds
bblean BitBIRCH clustering (GPL, invoked through its CLI, never imported)
pockets the jlink-trimmed JDK that P2Rank runs on
receptors OpenMM/PDBFixer receptor rebuilding and minimisation, ProDy fallbacks

Non-pip dependencies (optional)

Tool What for Installation
autogrid4 ad4 scoring conda install -c conda-forge autogrid
reduce runtime.chemistry.protonate_receptors(method="reduce") conda install -c conda-forge reduce
pdb2pqr runtime.chemistry.protonate_receptors(method="pdb2pqr") pip install pdb2pqr

P2Rank 2.5.1 is installed on demand from Molecule Tools → Pocket Detection. AMDockVS first reuses ~/Downloads/p2rank_2.5.1.tar.gz if it exists, and otherwise downloads the official distribution and verifies its checksum. Java 17 is likewise installed on demand into the active Conda environment, after a dry-run check that the transaction will not replace Python, RDKit, PyMOL, PySide, NumPy, Vina or Meeko. P2Rank is not redistributed inside the application.

The same operation is available from the backend:

runtime.pockets.install_p2rank()
job_id = runtime.pockets.predict(
    receptor_ids=[receptor_id],
    profile="default",
    threads=1,
)
runtime.wait_for_job(job_id)
sites = runtime.pockets.list_predictions(receptor_id=receptor_id)

Minimal workflow

from pathlib import Path

from amdockvs import AMDockVSRuntime

runtime = AMDockVSRuntime()
try:
    runtime.create_project(name="demo", folder=Path("./demo_project"))

    load_jobs = [
        *runtime.loader.load_ligands(["./ligands.sdf"], executor_name="thread"),
        *runtime.loader.load_receptors(["./receptor.pdb"], executor_name="thread"),
    ]
    runtime.wait_for_jobs(load_jobs)

    chemistry_job = runtime.chemistry.standardize_ligands(executor_name="thread")
    runtime.wait_for_job(chemistry_job)

    ligand_scope = runtime.molecules.select(role="ligand")
    receptor_scope = runtime.molecules.select(role="receptor", limit=1)

    descriptor_job = runtime.qsar.compute_descriptors(molecule_set=ligand_scope, executor_name="thread")
    runtime.wait_for_job(descriptor_job)

    receptor = next(runtime.molecules.stream(receptor_scope))
    runtime.docking.set_grid(
        receptor_id=int(receptor.id or 0),
        center=(12.0, 13.0, 10.0),
        size=(20.0, 20.0, 20.0),
    )

    prep_jobs = [
        runtime.docking.prepare_ligands(executor_name="thread"),
        runtime.docking.prepare_receptors(executor_name="thread"),
    ]
    runtime.wait_for_jobs(prep_jobs)

    receptor_set = runtime.molecules.create_set(receptor_scope, name="default_receptor_set")
    docking_job = runtime.docking.run(
        ligand_set=ligand_scope,
        receptor_set=receptor_set,
        executor_name="thread",
    )
    runtime.wait_for_job(docking_job)

    results = runtime.docking.list_results()
finally:
    runtime.shutdown()

Async semantics

  • loader.*, qsar.compute_descriptors(), docking.prepare_*() and docking.run() submit jobs and return a job_id or a list[job_id].
  • chemistry.* also submits jobs by default; use wait=True or runtime.wait_for_job(...) to block in notebooks.
  • Waiting is explicit, through runtime.wait_for_job(...) or runtime.wait_for_jobs(...).
  • runtime.docking.screen(...) is async by default too. Use wait=True only when you want a blocking composite helper.

Design notes

  • stored_path keeps pointing at the base imported artifact.
  • chemistry.* records a current chemical path in metadata; later steps consume it when present.
  • Vina preparation is stored on amdock_molecules, without a separate per-state traceability layer.
  • Inventory reads go through molsuite.query.project_rows(...); they do not depend on the private DataAccess helper.

Examples

License

MIT — see LICENSE.

Metadata

Release files for AMDockVS 0.2.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 AMDockVS 0.2.0
File Size Uploaded
amdockvs-0.2.0.tar.gz 802.8 kB Details

Built distribution (wheel)

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

Total release size: 1.6 MB

Release files / amdockvs-0.2.0.tar.gz

Download URL amdockvs-0.2.0.tar.gz
Size 802.8 kB
Tags Source
SHA-256 checksum
How to use checksums
f779ea0874867fdcf41e0ffd3ff6b6f43eb86280ce412f1e04e28ba6a7862e52
BLAKE2b-256 checksum
How to use checksums
f5e34b38959603107a96a1b7618f9881cfcf608aca4e51a861e8e1aa3d4f36c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / amdockvs-0.2.0-py3-none-any.whl

Download URL amdockvs-0.2.0-py3-none-any.whl
Size 786.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2f821ad0dea663de75c214e05c0dd837f2158573d93370e532c7ef3ca5146473
BLAKE2b-256 checksum
How to use checksums
b03fb9af152a9bad2bf76cd36147e6b21ccc2b8237af5198c833e3d3e0091062
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

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