AgentStack
SKILL verified MIT Self-run

Diffdock

skill-naity-fm4life-diffdock · by naity

Skill for protein-ligand docking with DiffDock, a diffusion model that generates 3D binding poses from protein structure and ligand SMILES. Use this skill when a user wants to dock a small molecule to a protein, predict binding poses, run blind docking (no pocket specification required), or process batches of protein-ligand complexes. Also trigger when the user mentions DiffDock, molecular dockin…

No reviews yet
0 installs
5 views
0.0% view→install

Install

$ agentstack add skill-naity-fm4life-diffdock

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Diffdock? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

DiffDock: Diffusion-Based Molecular Docking

Overview

DiffDock predicts 3D protein-ligand binding poses using a diffusion model. Given a protein structure and a ligand SMILES string, it generates multiple candidate poses ranked by a confidence score.

Key properties:

  • Blind docking — no binding site specification required; searches entire protein surface
  • Diffusion model — generates diverse poses via iterative denoising (score-based diffusion)
  • SE(3)-equivariant — architecture respects 3D symmetry (rotations, translations)
  • Confidence model — separate network ranks poses by predicted accuracy (not binding affinity)
  • Current default: DiffDock-L (ICLR 2024) — improved generalization over original (ICLR 2023)

Important distinction: The confidence score predicts pose quality (RMSD to true binding pose), not binding affinity. High confidence ≠ strong binder.

Installation

DiffDock requires a conda environment — no pip-only install available:

git clone https://github.com/gcorso/DiffDock.git
cd DiffDock
conda env create --file environment.yml
conda activate diffdock

Or with Docker (includes GPU support):

docker pull rbgcsail/diffdock
docker run -it --gpus all --entrypoint /bin/bash rbgcsail/diffdock
micromamba activate diffdock

Key dependencies: PyTorch 1.13 + CUDA 11.7, torch-geometric 2.2, e3nn 0.5.1, RDKit, fair-esm (ESM-2 for protein embeddings), pytorch-lightning.

First run: precomputes SO(2)/SO(3) distribution caches (~2 min). Not repeated.

Core Usage

Single complex

cd DiffDock
python -m inference \
  --config default_inference_args.yaml \
  --protein_path protein.pdb \
  --ligand_description "COc(cc1)ccc1C#N" \
  --out_dir results/my_docking

From protein sequence (ESMFold folds it automatically)

python -m inference \
  --config default_inference_args.yaml \
  --protein_sequence "MVHLTPEEKSAVTALWGKVNVDEVGGEALGRLLVVYPWTQRFFESFGDLSTPDAVMGNPKVKAHGKKVLGAFSDGLAHLDNLKGTFATLSELHCDKLHVDPENFRLLGNVLVCVLAHHFGKEFTPPVQAAYQKVVAGVANALAHKYH" \
  --ligand_description "CC(=O)Nc1ccc(O)cc1" \
  --out_dir results/my_docking

Batch processing (CSV input)

python -m inference \
  --config default_inference_args.yaml \
  --protein_ligand_csv complexes.csv \
  --out_dir results/batch

CSV format (complexes.csv):

complex_name,protein_path,ligand_description,protein_sequence
complex_A,proteins/target_A.pdb,CC(=O)Nc1ccc(O)cc1,
complex_B,proteins/target_B.pdb,data/ligand_B.sdf,
complex_C,,COc1ccc(C#N)cc1,MVHLTPEEKSAVTALWG...

Ligand from SDF file

python -m inference \
  --config default_inference_args.yaml \
  --protein_path protein.pdb \
  --ligand_description ligand.sdf \
  --out_dir results/my_docking

Key Parameters

| Parameter | Default | Description | |---|---|---| | --samples_per_complex | 10 | Poses to generate per complex | | --inference_steps | 20 | Denoising steps (fewer = faster, less refined) | | --batch_size | 10 | Parallel complexes (reduce if OOM) | | --no_final_step_noise | True | No noise in final step (better quality) | | --save_visualisation | False | Save reverse-diffusion trajectory PDB |

Speed vs quality:

| Mode | --inference_steps | --samples_per_complex | --batch_size | |---|---|---|---| | Fast screening | 5 | 5 | 20 | | Default | 20 | 10 | 10 | | High quality | 40 | 20 | 5 |

GPU: ~2–5 sec/pose. CPU: ~30–60 sec/pose.

Output Format

results/my_docking/
└── complex_0/
    ├── rank1_confidence0.43.sdf     ← best pose, high confidence
    ├── rank2_confidence-0.12.sdf    ← 2nd best, moderate
    ├── rank3_confidence-1.23.sdf    ← 3rd, low confidence
    └── ...                          ← up to samples_per_complex
  • Files are SDF format — open directly in PyMOL, ChimeraX, or RDKit
  • Ranked by confidence score (rank1 = highest)
  • Confidence score is in the filename: rank{N}_confidence{score}.sdf

Confidence Score Interpretation

| Score | Confidence | Meaning | |---|---|---| | > 0 | High | Model is confident the pose is accurate | | -1.5 to 0 | Moderate | Plausible but uncertain | | `1000 residues)

  • Validate setup — first run on a known PDB complex with its co-crystal ligand; check RMSD

Scripts

  • scripts/dock.py — wrapper that runs DiffDock and parses results; see scripts/dock.py --help

Resources

  • GitHub: https://github.com/gcorso/DiffDock
  • DiffDock (original): Corso et al., ICLR 2023 — https://arxiv.org/abs/2210.01776
  • DiffDock-L: Corso et al., ICLR 2024 — https://arxiv.org/abs/2402.18396

References

  • references/cli-reference.md — full CLI parameter reference, output format details, confidence model, batch CSV format, DiffDock-L vs original

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.