Skip to content

akiyamalab/msmd_docking

Repository files navigation

msmd-docking

A Python pipeline for integrating MSMD (Mixed-Solvent Molecular Dynamics) simulation results with AutoDock Vina docking scores.

Overview

msmd-docking converts average probability maps (avePMAP) from MSMD simulations into scoring grids compatible with AutoDock Vina. The pipeline bridges MSMD-derived binding probability distributions with Vina's physics-based scoring through Boltzmann energy conversion and distribution matching.

              exprorer_msmd                          msmd-docking
  ┌───────────────────────────────┐    ┌───────────────────────────────┐
  │ Protein + Probe molecules     │    │ avePMAP + Vina maps           │
  │         ▼                     │    │         ▼                     │
  │ Preprocess (system setup)     │    │ Reshape + GFE conversion      │
  │         ▼                     │    │         ▼                     │
  │ GROMACS MD simulation         │    │ Merge min(GFE, Vina)          │
  │         ▼                     │    │         ▼                     │
  │ Postprocess → PMAP/avePMAP    │──▶│ Output: integrated .map files │
  └───────────────────────────────┘    └───────────────────────────────┘

The input avePMAP files are generated by exprorer_msmd, an automated MSMD simulation engine built on GROMACS.

Installation

git clone --recurse-submodules git@github.com:akiyamalab/msmd_docking.git
cd msmd_docking
pip install -e .

msmd-dock --help

A Dev Container configuration is provided in .devcontainer/ with GROMACS, AmberTools, and AutoDock Vina pre-installed.

Docker

docker build -f .devcontainer/Dockerfile -t msmd-docking .

Apptainer

spython recipe .devcontainer/Dockerfile > msmd_docking.def
apptainer build msmd_docking.sif msmd_docking.def

Both commands must be run from the project root so that COPY / %files paths resolve correctly.

For development

The container image uses non-editable install (pip install .). To develop msmd-docking with live code changes:

  • VS Code Dev Container: Handled automatically via postCreateCommand in devcontainer.json (pip install -e . runs after workspace mount).
  • Docker (without VS Code): Mount the project and install in editable mode:
    docker run --gpus all -v $(pwd):/workspace -it msmd-docking bash
    cd /workspace && pip install -e .
  • Apptainer: The filesystem is read-only (SquashFS), so editable install is not supported. Use Apptainer for production runs only.

Quick Start

# 1. Run MSMD simulation
msmd-dock msmd --config examples/configs/brd4.toml

# 2. Generate GFE-integrated maps
msmd-dock gfe --config examples/configs/brd4.toml

# 3. Run docking
msmd-dock dock --config examples/configs/brd4.toml

For a detailed walkthrough, see docs/tutorial.md.

Documentation

Document Description
Tutorial Step-by-step guide from setup to docking
Tutorial (Cluster) Cluster execution with job splitting
Reference TOML fields, CLI options, pipeline details
Tutorial (ja) チュートリアル(日本語)
Tutorial (Cluster, ja) クラスタ実行チュートリアル(日本語)
Reference (ja) リファレンス(日本語)
README (ja) このREADMEの日本語版

Supported Targets

9 DUD-E benchmark targets with pre-configured TOML files:

Target PDB ID Config
AmpC 1L2S examples/configs/ampc.toml
BRD4 4ZC9 examples/configs/brd4.toml
CDK2 1H00 examples/configs/cdk2.toml
DHFR 3NXO examples/configs/dhfr.toml
FGFr1 3C4F examples/configs/fgfr1.toml
FXa 3KL6 examples/configs/fxa.toml
Gal-3 1KJR examples/configs/gal3.toml
HIVpr 1XL2 examples/configs/hivpr.toml
PDE5A 1UDT examples/configs/pde5a.toml

Project Structure

msmd_docking/
├── src/msmd_docking/
│   ├── cli.py             # CLI entry point (msmd-dock)
│   ├── config.py          # TOML configuration (dataclasses)
│   ├── pipeline.py        # DockingPipeline orchestration
│   ├── protocol_generator.py  # exprorer_msmd YAML generation
│   ├── io/                # DX / .map file I/O
│   ├── grid/              # avePMAP reshape & axis transforms
│   ├── energy/            # GFE conversion & merge
│   ├── docking/           # AutoDock Vina integration
│   └── atoms/             # Probe detection & atom type mapping
├── examples/
│   ├── configs/           # 9-target TOML configurations
│   └── data/              # Probe molecules & protein PDB files
├── external/
│   └── exprorer_msmd/     # git submodule
├── tests/
├── docs/
├── .devcontainer/
├── pyproject.toml
└── LICENSE

Testing

pytest tests/

License

MIT License. See LICENSE for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors