---
title: DiffDock on the platform
description: Run blind, diffusion-based protein–ligand docking with DiffDock-L — confidence-ranked poses, not binding energies.
tags:
  - diffdock
---

DiffDock generates candidate binding poses — it predicts **how a ligand sits in a protein's pocket**. It's the middle step in the docking arc (pocket → pose → rescore): run it after you [find the pocket with P2Rank](/docs/p2rank), then hand its poses to [MM-GBSA](/docs/mmgbsa) to rescore which one is real. See [what you can achieve](/docs/capabilities#binding-and-docking) for the full arc.

## Try it

**Try this prompt** — [open in a guest chat](/chat/new?guest=true&prompt=Compare%20imatinib%20and%20nilotinib%20head-to-head%20on%20the%20ABL1%20DFG-out%20conformation%20(PDB%3A%201IEP)%20%E2%80%94%20verify%20each%20binding%20mode%20in%20the%20pocket%2C%20rescore%20the%20poses%20for%20consensus%2C%20and%20tell%20me%20how%20their%20CYP3A4%20metabolism%20and%20hERG%20cardiotoxicity%20stack%20up.%20For%20the%20cleaner%20compound%2C%20plan%20how%20I'd%20actually%20synthesize%20it%20at%20scale%20and%20check%20vendor%20availability%20for%20the%20starting%20materials.).

> Compare imatinib and nilotinib head-to-head on the ABL1 DFG-out conformation (PDB: 1IEP) — verify each binding mode in the pocket, rescore the poses for consensus, and tell me how their CYP3A4 metabolism and hERG cardiotoxicity stack up. For the cleaner compound, plan how I'd actually synthesize it at scale and check vendor availability for the starting materials.

_Docks each ligand with DiffDock, then chains MM-GBSA rescoring, ADMET-AI, AiZynthFinder, and a ZINC purchasability lookup._

## What DiffDock does

DiffDock is a state-of-the-art molecular docking method that frames docking as a generative modeling problem using diffusion models. It significantly outperforms traditional docking and previous deep learning methods on standard benchmarks.

## Citations

> Corso G, Stärk H, Jing B, Barzilay R, Jaakkola T. DiffDock: Diffusion Steps, Twists, and Turns for Molecular Docking. arXiv: [2210.01776](https://arxiv.org/abs/2210.01776)

> Corso G, Deng A, Fry B, Polizzi N, Barzilay R, Jaakkola T. Deep Confident Steps to New Pockets: Strategies for Docking Generalization. arXiv: [2402.18396](https://arxiv.org/abs/2402.18396)

## DiffDock-L (Latest)

The .bloom\* platform uses **DiffDock-L**, the latest version with major improvements:
- Improved success rate for ligand RMSD &lt;2Å
- Better cross-domain generalization on diverse benchmarks
- Improved training data and novel synthetic data generation
- Released under **MIT license**

## Webapp integration and workflow

### Input flexibility in .bloom\* platform

The DiffDock tool in .bloom\* provides multiple ways to specify proteins and
ligands:

**Protein inputs:**

- **PDB ID**: Quick entry with autocomplete suggestions for common structures
- **UniProt ID**: Direct lookup for sequences with automatic structure fetching
- **File upload**: Upload custom PDB/mmCIF files (supports compressed .gz)
- **Previous jobs**: Reuse protein structures from completed ESMFold, docking,
  or other structural biology jobs

**Ligand inputs:**

- **SMILES strings**: Direct entry or batch processing with newlines
- **SDF files**: Upload single or multi-molecule SDF files
- **SMILES/CSV files**: Import from CSV with automatic first-column detection
- **Previous jobs**: Reuse compounds from generative chemistry tools
  (AiZynthFinder, DeepPurpose, etc.)

### Advanced job management

**Job naming and tracking:**

- Custom job names for better organization
- Automatic correlation with previous jobs via provenance tracking
- Integration with project-based quota management

**Progress monitoring:**

- Real-time phase tracking through diffusion steps
- Live ETA calculations with confidence intervals
- Status updates during pose generation and ranking

### Interactive visualization

**Built-in 3D viewer:**

- Load and preview protein structures before submission
- Visualize ligand poses from previous jobs
- Real-time feedback on input validation

**Multi-file ZIP handling:**

- Automatic extraction from compressed job outputs
- File browser for selecting specific PDB/SDF files from archives
- Preview capabilities for complex multi-structure datasets

## Best-fit scenarios

### Drug discovery workflows

**Lead optimization cycles:**

- Rapid pose updates for compound series during SAR studies
- Quick validation of synthetic feasibility vs. binding mode
- Prioritization of compounds before expensive synthesis

**Virtual screening:**

- Initial pose prediction for large compound libraries
- Triage before complex minimization with MM-GBSA
- Hit identification from fragment-based design campaigns

**Target validation:**

- Early assessment of novel targets with known ligands
- Comparison of predicted poses against known crystal structures
- Validation of computational hit-to-lead optimization

### Structural biology applications

**Protein engineering:**

- Predict binding modes for designed peptide inhibitors
- Assess impact of mutations on ligand binding sites
- Model allosteric modulator interactions

**Covalent inhibitor design:**

- Predict warhead positioning in covalent ligands
- Assess reactivity and binding orientation
- Guide linker design for targeted delivery

## Scope and limitations

### Technical constraints

**Protein size limits:**

- Optimal: 50-2,000 residues per chain
- Maximum: ~3,000 residues (performance degrades significantly)
- Multi-chain complexes supported but binding site specification recommended

**Ligand complexity:**

- Small molecules: Excellent performance (&lt;50 heavy atoms)
- Macrocycles: Good performance (&lt;120 heavy atoms)
- Peptides: Limited support, may require special handling
- Metals/metalloids: Supported but validation recommended

### Output characteristics

**Pose ranking:**

- Confidence-based ranking (not explicit binding energies)
- Multiple diverse poses per ligand (configurable, default 10)
- Pose clustering available for conformational diversity

**Accuracy considerations:**

- Best performance with well-defined binding pockets
- Runs whole-protein (blind) docking only — no binding-site parameter to narrow the search, and no reference-ligand input to compute RMSD against a known pose

## Runtime and performance

### Typical execution times

- **Small proteins** (&lt;500 residues): 2-5 minutes
- **Medium proteins** (500-2,000 residues): 5-15 minutes
- **Large complexes** (>2,000 residues): 15-30 minutes
- **Batch processing**: Scales roughly linearly with input size

### Performance optimization

**GPU acceleration:**

- Automatic GPU detection and utilization
- Fallback to CPU for memory-constrained environments

**Batch efficiency:**

- Group similar-sized proteins for optimal processing
- Balance batch size vs. individual job times
- Consider splitting very large batches into smaller jobs

## Integration with .bloom\* ecosystem

### Upstream data sources

**Protein structures:**

- ESMFold predictions for novel proteins
- PDB structures with automated cleaning
- Previous docking results for refinement
- Crystal structures from literature

**Ligand libraries:**

- AiZynthFinder retrosynthetic products
- DeepPurpose generative chemistry outputs
- PubChem and ZINC database compounds
- Custom compound collections

### Downstream analysis

**Pose validation:**

- Molecular dynamics refinement (future integration)
- Complex minimization and an energy report with MM-GBSA, which returns no binding free energy
- Interaction analysis and pharmacophore modeling

**Compound optimization:**

- Feed poses to generative chemistry tools
- SAR analysis with pose-based compound design
- Multi-parameter optimization workflows

### Workflow automation

**Batch processing:**

- Automated submission of multiple protein-ligand pairs
- Parallel processing of virtual screening campaigns
- Integration with .bloom\*'s job queuing system

**Project organization:**

- Job provenance tracking for reproducible research
- Integration with .bloom\*'s project and sharing features
- Export capabilities for external analysis tools

## Chat Usage

### Example Prompts

- "Download EGFR kinase from PDB (1M17), fetch gefitinib from PubChem, dock with DiffDock"
- "Dock this SMILES against my ESMFold structure on the canvas"
- "Run blind docking of imatinib on ABL1 (PDB 1IEP)"

### Workflow Chaining

- **Feeds into**: MM-GBSA (complex minimization and energy report, not a binding affinity), Compound Passport, ADMET screening
- **Accepts from**: PDB Search (structures), ESMFold (predicted structures), PubChem/ZINC/ChEMBL (ligand SMILES), REINVENT (generated molecules)

## FAQ

### What is DiffDock?

  DiffDock is a diffusion generative model for molecular docking. It treats docking as a generative problem rather than search/scoring, achieving state-of-the-art success rates on standard benchmarks.

### Can I specify a binding site for DiffDock?

  No. This tool runs blind (whole-protein) docking only — there's no parameter to supply a box, residue list, or reference ligand. Use [P2Rank](/docs/p2rank) beforehand to judge whether the returned poses land in a druggable pocket.

## Read next
