diffdock

DiffDock and DiffDock-L molecular docking. Use for protein-small-molecule pose prediction from PDB or sequence plus SMILES/SDF/MOL2, batch docking, virtual screening, and pose-confidence interpretation. Not for binding affinity prediction.

Install

Hot:23

Download and extract to your skills directory

Copy command and send to AI Agent for auto-install:

Download and install this skill https://openskills.cc/api/download?slug=k-dense-ai-skills-diffdock&locale=en&source=copy

DiffDock: A Diffusion Model–Based Deep Learning Molecular Docking Tool

Skill Overview


DiffDock is a diffusion model–based deep learning molecular docking tool used to predict the 3D binding poses of small-molecule ligands with protein targets. It supports protein structure input (PDB files) or amino acid sequence input and is suitable for both single-complex docking and batch virtual screening.

Use Cases

1. Structure-Based Drug Discovery


When you need to dock candidate compounds to a protein target to predict their binding poses, DiffDock can provide high-accuracy 3D structure predictions. It supports starting from PDB files or amino acid sequences, combining them with SMILES strings or ligand structure files (SDF, MOL2) to rapidly generate multiple candidate docking conformations and rank them by confidence.

2. Virtual Screening and Batch Docking


For screening compound libraries containing hundreds to thousands of compounds, DiffDock supports batch processing of multiple protein–ligand pairs. Batch tasks can be defined through a CSV file, protein embeddings can be precomputed to accelerate processing, and a confidence analysis report containing all results can be generated to help rapidly identify high-potential candidate molecules.

3. Computer-Aided Drug Design and Optimization


During lead compound optimization or when exploring protein–ligand interactions, DiffDock can be used to generate diverse binding poses and assess prediction confidence. The output SDF files can be directly imported into visualization tools such as PyMOL and Chimera for structural analysis, and combined with scoring functions such as GNINA and MM/GBSA for subsequent affinity evaluation.

Core Features

1. High-Accuracy Binding Pose Prediction


Using a diffusion model–based deep learning architecture, DiffDock can generate accurate 3D docking conformations and automatically assign a confidence score to each prediction. A confidence score above 0 indicates a strong prediction, scores from -1.5 to 0 indicate moderate confidence, and scores below -1.5 should be validated carefully. By default, the tool generates 10 candidate poses for each complex. The number of samples can be increased by adjusting sampling parameters such as samples_per_complex to achieve more comprehensive conformational coverage.

2. Flexible Input Format Support


DiffDock supports multiple combinations of input formats: proteins can be provided as PDB structure files or amino acid sequences, which are automatically folded using ESMFold, while ligands can be provided as SMILES strings, SDF files, or MOL2 files. For batch tasks, multiple protein–ligand pairs can be managed through a single CSV file. Mixed use of PDB files and sequence inputs is supported, making the tool suitable for screening projects involving diverse data sources.

3. Result Analysis and Workflow Integration


After docking is complete, the provided analysis scripts can be used to parse all prediction results, rank them by confidence, calculate the distribution of high-, medium-, and low-confidence predictions, and export the results to CSV for downstream analysis. Pose files generated by DiffDock can be seamlessly integrated into existing drug discovery workflows and used together with affinity calculation tools such as GNINA, MM/GBSA, and FEP, enabling a complete workflow from pose prediction to affinity evaluation.

Frequently Asked Questions

What is the difference between DiffDock and traditional docking tools such as AutoDock and Vina?


DiffDock is based on a deep learning diffusion model and does not rely on traditional scoring functions and sampling algorithms. It can generate more accurate 3D pose predictions. Traditional tools such as AutoDock and Vina use physics-based scoring functions and conformational searches, whereas DiffDock directly predicts docking conformations through end-to-end deep learning, offering advantages in both speed and accuracy. However, it is important to note that DiffDock predicts binding poses and confidence, not binding affinity (ΔG or Kd). To evaluate affinity, it is recommended to combine DiffDock-generated poses with GNINA or MM/GBSA for scoring.

What kind of runtime environment does DiffDock require?


DiffDock requires a Python 3.9 environment and depends on libraries including RDKit, PyTorch, PyTorch Geometric, and ESM. The official distribution provides a Conda environment configuration file (environment.yml) and a Docker image. Although it can run on a CPU, a GPU (CUDA) is strongly recommended and can provide a 10- to 100-fold speed improvement. For batch tasks such as virtual screening, a GPU is almost essential. During the first run, model checkpoints (approximately 500 MB) are downloaded automatically, and SO(2)/SO(3) lookup tables are precomputed, which takes approximately 2–5 minutes.

Can DiffDock predict binding affinity (Kd or IC50)?


No. This is the most common misconception about DiffDock. DiffDock predicts the binding pose (the ligand’s 3D pose) and the model’s confidence in that prediction, rather than binding affinity. High confidence means that the model is relatively certain about the structural prediction; it does not mean that the molecule has strong binding capability. To evaluate binding affinity, use DiffDock-generated poses with specialized scoring tools such as GNINA (rapid neural-network scoring), MM/GBSA (molecular mechanics scoring), or free-energy perturbation (FEP/TI).

How can protein sequences be used for docking?


DiffDock supports docking directly from amino acid sequences, without requiring a pre-prepared PDB file. For single-complex docking, provide the sequence using the --protein_sequence parameter. For batch docking, enter the sequence in the protein_sequence column of the CSV file. DiffDock uses its built-in ESMFold model to fold the sequence into a 3D structure automatically. This approach is particularly suitable for targets without experimentally determined structures or for rapidly screening multiple protein variants.

How can DiffDock be used efficiently for batch virtual screening?


For virtual screening involving more than 100 compounds, the following workflow is recommended: 1) define batch tasks using a CSV file; 2) precompute protein embeddings (datasets/esm_embedding_preparation.py) to avoid repeated folding; 3) use the --batch_size parameter to control GPU memory usage; 4) use analyze_results.py after docking to filter results by confidence; 5) rank high-confidence results using GNINA scoring; and 6) select a small number of final candidates for experimental validation. In a GPU environment, this workflow can screen hundreds of compounds within several hours.