Docking & Binding · MIT / Barzilay Lab
DiffDock
Diffusion-based generative model predicting 3D poses of small-molecule ligands bound to proteins.
What DiffDock is
DiffDock is a molecular docking system developed by researchers at the Massachusetts Institute of Technology, including the Barzilay and Jaakkola groups. Rather than using conventional search-and-score methods such as those found in AutoDock Vina, the model treats molecular docking as a generative diffusion process over the positional and conformational space of ligand poses.
The tool accepts receptor proteins as experimental structures or amino acid sequences alongside small-molecule ligand representations. It predicts all-atom 3D coordinates for the bound ligand, providing candidate poses alongside model confidence metrics and root-mean-square deviation (RMSD) spread values across sampled structures.
DiffDock maintains performance on computationally predicted protein conformations, making it relevant for drug discovery pipelines where experimental apo or holo structures may not be available. A subsequent variant, DiffDock-L, addresses generalisation capacity across unfamiliar binding pockets.
How it works
DiffDock formulates molecular docking by sampling translations, rotations, and torsional angles of a ligand using a generative diffusion process. The system uses precomputed lookup tables for SO(2) and SO(3) distributions and incorporates ESM2 language model embeddings (specifically from the 650M-parameter esm2_t33_650M_UR50D model) to represent protein targets. When structural coordinates are absent, protein sequences are folded directly using ESMFold.
The model produces candidate binding poses and assigns each an internal confidence score indicating prediction quality. Training and evaluation benchmarks draw upon datasets including PDBBind, BindingMOAD, DockGen, PoseBusters, and protein structures from van der Mers data augmentations.
Key facts
- Domain
- Docking
- Tasks
- Molecular docking
- Input modalities
- Protein structure (PDB or amino acid sequence), small molecule (SMILES, SDF, or MOL2)
- Output modalities
- All-atom PDB structures, pose tables with confidence scores and RMSD spread
- Primary benchmark performance
- 38% top-1 success (<2Å RMSD) on PDBBind (versus 23% for AutoDock Vina)
- Recommended GPU memory
- 16 GB
- Supported protein representation model
- ESM2 (esm2_t33_650M_UR50D) and ESMFold
What you can use it for
- Blind small-molecule docking
- Predict bound 3D conformations and all-atom coordinates of drug-like small molecules interacting with target proteins without requiring a predefined binding pocket.
- Docking against computationally folded proteins
- Perform docking directly from raw amino acid sequences by integrating ESMFold to predict the receptor structure before pose generation.
- Batch virtual screening preparation
- Generate ranked conformational poses with associated confidence scores across multi-complex CSV inputs for downstream structural analysis.
Run it here
No installation and no GPU of your own: fill in the inputs and it runs on our servers. Results stay in your browser unless you sign in.
Runs on Managed GPU endpoint
Runs on managed compute. Availability and startup time depend on current capacity.Run this model
DiffDock
Strengths and limits
Good at
- Nearly doubles top-1 pose prediction accuracy (<2Å) compared to AutoDock Vina on the PDBBind benchmark.
- Maintains predictive accuracy when docking into computationally predicted protein models rather than exclusively experimental crystal structures.
- Provides an internal confidence metric that helps researchers assess the reliability of generated poses.
- Accommodates flexible input formats, taking either established structural files (PDB, SDF, MOL2) or simple sequence and SMILES strings.
Watch out for
- Does not calculate or predict absolute ligand binding affinity.
- Not suitable for large biomolecular interactions such as general protein-protein or protein-nucleic acid complexes.
- Confidence score thresholds must be adjusted downwards and become harder to interpret when dealing with large ligands, large complexes, or unbound apo protein conformations.
- Running inference on CPU is significantly slower than on GPU hardware.
Inputs and outputs
You provide
Receptor (PDB)
Chain the output of ESMFold or AlphaFold DB straight in here.
Ligand SMILES
Canonical SMILES for the small molecule.
Posesoptional
You get back
All-atom coordinates in PDB format, viewable and downloadable.
Poses with confidence score and RMSD spread.
Licence
Commercial use permitted · MIT
The MIT licence allows use in commercial research and products.
Questions
Can I use DiffDock commercially?
Commercial use permitted. The MIT licence allows use in commercial research and products.
How do I run DiffDock without installing anything?
Use the form under “Run it here” on this page: fill in the inputs and press Run model. It runs on our servers on 1× A100 40GB, typically in 40s, and a run costs about 168 credits. Visitors without an account get 1,000 credits a month.
Does DiffDock predict binding affinity?
No, DiffDock does not predict binding affinity. It generates 3D complex structures and outputs a confidence score reflecting pose quality. For binding free energy calculations, the developers recommend relaxing the predicted poses with external scoring tools such as GNINA, MM/GBSA, or absolute binding free energy pipelines.
How are the output confidence scores interpreted?
For drug-like molecules bound to medium-sized proteins near their bound conformations, a confidence score above 0 denotes high confidence, between -1.5 and 0 indicates moderate confidence, and below -1.5 signifies low confidence. These baseline thresholds shift downwards for large ligands, multi-chain assemblies, or unbound apo states.
Can DiffDock be used for protein-protein or nucleic acid docking?
DiffDock is designed, trained, and tested specifically for small-molecule ligands and may only extend to small peptides or short nucleic acid fragments. It is not recommended for larger biomolecular assemblies, for which dedicated tools such as DiffDock-PP, AlphaFold-Multimer, or RoseTTAFold2NA should be used.
Can the model run if only a protein sequence is available?
Yes. When a PDB file is not supplied, DiffDock can accept an amino acid sequence and fold it into a structure using ESMFold prior to docking.
How to cite it
Corso, Gabriele and Stärk, Hannes and Jing, Bowen and Barzilay, Regina and Jaakkola, Tommi. DiffDock: Diffusion Steps, Twists, and Turns for Molecular Docking. International Conference on Learning Representations (ICLR), 2023.
Written from DiffDock's own documentation (code). Statements citing a figure that does not appear there are removed before publication. Licence and running details come from our registry.