DiffDock-L icon

DiffDock-L

(v1.1.3)Code (opens in a new tab)Paper (opens in a new tab)Docs

Predict protein-ligand binding poses and confidence scores without a predefined binding site.

Upload file or drag and dropSDF, MOL, MOL2, PDB, PDBQT, SMILES · up to 10 MB

Output

Configure inputs to begin

Set options on the left, then click “Submit job”.

DiffDock webserver overview

The DiffDock webserver runs DiffDock-L, the MIT diffusion model for protein and small-molecule docking, without installation or a GPU. It predicts where and how a ligand binds to a protein without a predefined binding site, and returns ranked binding poses with a confidence score for each.

ProteinIQ runs the official DiffDock release v1.1.3 with the v1.1 (DiffDock-L) models, through the repository's own inference.py and its published default configuration. The receptor can be a structure, a PDB ID, or a protein sequence, which DiffDock folds with ESMFold before docking. For a step-by-step tutorial, benchmarks, and help with errors, see how to use DiffDock online.

What DiffDock-L does

DiffDock treats docking as a generative task. It starts each sample from a random ligand position, orientation, and set of torsion angles, then refines it by reverse diffusion toward a plausible bound pose. A separate confidence model scores every final pose, and the poses are returned in confidence order.

  • The protein is held rigid. Backbone and side chains do not move.
  • The ligand's 3D geometry is regenerated with RDKit from its chemistry, so uploaded coordinates do not change the result.
  • Protein residues are described with ESM-2 language model embeddings, which carry sequence information into the model.
  • Each run starts from new random poses. DiffDock has no seed, so repeated runs differ.

DiffDock vs DiffDock-L

DiffDock-L is the second DiffDock release from the same MIT group. It is the model this webserver runs.

DiffDockDiffDock-L
PublicationICLR 2023ICLR 2024
ParametersAbout 20 millionAbout 30 million
PDBBind top-1 within 2 Å, 10 samples35.0%43.0%
DockGen (unseen protein domains), 10 samples7.1%22.6%

DiffDock-L added synthetic training complexes, training balanced across protein domain clusters, and confidence bootstrapping, which improved docking to protein classes unlike the training data (Corso et al., 2024). NVIDIA's DiffDock NIM is a separately trained model with its own weights and is not the model used here.

When to use DiffDock

DiffDock fits blind docking, when the binding site is unknown, and quick pose hypotheses for drug-like ligands. Other methods fit other questions:

QuestionBetter choice
The pocket is known and you need an energy score or a reproducible seedAutoDock Vina
You need convolutional neural network scoring of prepared 3D ligandsGNINA
The protein is likely to change shape when the ligand bindsDynamicBind or FlowDock
You want protein and ligand predicted together, or an affinity estimateBoltz-2

Pricing

A DiffDock job costs 50 credits. The price does not change with the number of poses, the diffusion steps, the trajectory option, the receptor size, or whether the receptor is a structure or a sequence. The exact quote is shown before submission.

Inputs

InputAccepted formatsLimits
Protein (structure).pdb, .ent, or an RCSB PDB IDUp to 3,000 protein residues (1,000 on the Free plan). Files up to 50 MB.
Protein (sequence)Pasted sequence, .fasta, .fa, or .txtFolded with ESMFold inside DiffDock. Each FASTA record is one chain.
LigandSMILES, .smiles, .sdf, .mol, .mol2, .pdb, .pdbqt, or a PubChem fetchUp to 150 heavy (non-hydrogen) atoms per ligand. Files up to 10 MB. A multi-record SDF runs one job per record.

The receptor file is used as submitted. DiffDock regenerates the ligand's 3D geometry for every input format. Each receptor chain can contain up to 1,022 residues, with at most 3,000 residues in total. ProteinIQ checks these limits before starting the job because DiffDock truncates the ESM-2 embeddings at 1,022 residues per chain.

ProteinIQ warns for ligands above 100 heavy atoms and rejects ligands above 150 before charging. This is a hosting limit, not a maximum defined by DiffDock. Large or flexible ligands may still fail during conformer preparation below this limit. Contact support to discuss larger ligands.

Settings

Defaults match DiffDock's default_inference_args.yaml.

Docking

ParameterTypeDefaultDescription
Number of posesinteger10Poses sampled and ranked per job, from 1 to 40.
Inference stepsinteger20Length of the reverse diffusion schedule, from 10 to 30.
Actual stepsinteger19Schedule steps executed, from 8 to 30. Cannot exceed Inference steps.
No final step noisebooleantrueRemoves noise from the last executed diffusion step.
Save reverse-diffusion visualizationbooleanfalseWrites a trajectory PDB file for each ranked pose.

Advanced sampling

ParameterTypeDefaultDescription
Start at a random residuebooleanfalsePlaces each initial ligand position at a random receptor residue instead of near the protein center.
Initial noise proportionnumber1.4601642460337794Scale of the initial translation noise, from −10 to 10. Negative values scale the model's maximum translation noise instead of the receptor radius.
Sampling temperature (translation)number1.170050527854316Sampling temperature for translation, from 0 to 20.
Sampling temperature (rotation)number2.06391612594481Sampling temperature for rotation, from 0 to 20.
Sampling temperature (torsion)number7.044261621607846Sampling temperature for torsion angles, from 0 to 20.
Psi temperature (translation)number0.727287304570729Psi temperature parameter for translation, from 0 to 10.
Psi temperature (rotation)number0.9022615585677628Psi temperature parameter for rotation, from 0 to 10.
Psi temperature (torsion)number0.5946212391366862Psi temperature parameter for torsion angles, from 0 to 10.
Sigma data temperature (translation)number0.9299802531572672Sigma data temperature parameter for translation, from 0.01 to 10.
Sigma data temperature (rotation)number0.7464326999906034Sigma data temperature parameter for rotation, from 0.01 to 10.
Sigma data temperature (torsion)number0.6943254174849822Sigma data temperature parameter for torsion angles, from 0.01 to 10.

The advanced defaults are the values the DiffDock authors tuned for the DiffDock-L models.

Outputs

Results open in three views: Viewer shows the receptor with the selected pose, Data lists each pose with its Rank and Confidence, and Files lists every downloadable file.

FileDescription
pose_rank01.sdf, pose_rank02.sdf, ...Docked ligand poses in rank order, unchanged from DiffDock's rank{n}_confidence{c}.sdf files.
protein.pdbThe submitted receptor, for structure inputs.
complex_0_esmfold.pdbThe receptor ESMFold predicted, for sequence inputs.
rank{n}_reverseprocess.pdbReverse diffusion trajectory for each ranked pose, when Save reverse-diffusion visualization is on.
native/docking_arrays.npzUnrounded ligand coordinates and confidence values for every sample.
native/docking_arrays.index.jsonLinks each ranked pose file to its sample in the arrays.
native/inference_args.yamlThe configuration file passed to DiffDock.
native/inference_invocation.jsonThe resolved DiffDock arguments, source version, and model checksums.
native/environment.lock.txtThe package versions of the DiffDock environment.
native/run.logThe complete DiffDock log.

The files under native/ record everything needed to describe and reproduce the conditions of a run.

Understanding results

  • Rank orders poses by confidence, with rank 1 the most confident.
  • Confidence estimates how likely a pose is to lie within 2 Å of the true binding pose. Higher is better. As a rough guide for the top pose, the DiffDock authors treat values above 0 as high, −1.5 to 0 as moderate, and below −1.5 as low confidence, with lower bands for large ligands, multichain proteins, and apo or predicted structures.
  • Confidence is not binding affinity and does not check pose geometry. Check selected poses with PoseBusters and rescore with a method such as GNINA when affinity matters.

Limitations

  • The receptor is rigid, so induced fit is only captured if the input structure already shows it.
  • Accuracy is highest for holo structures and drug-like ligands, and lower for apo, predicted, or very large systems.
  • Poses can contain steric clashes or strained geometry even when confidence is high.
  • Some rigid polycyclic ligands cannot be embedded by RDKit, and the job then reports that DiffDock could not construct a starting 3D geometry.
  • DiffDock is designed for small molecules, not protein-protein or protein-nucleic acid docking.

Table of contents

Related tools

DynamicBind

DynamicBind

Predict protein-ligand binding poses while modeling ligand-induced conformational changes.

SigmaDock

SigmaDock

Fragment-based SE(3) equivariant diffusion docking for protein-ligand binding pose prediction

FlowDock

FlowDock

Geometric flow matching for generative protein-ligand docking and affinity prediction.

SurfDock

SurfDock

Surface-informed diffusion generative model for reliable and accurate protein-ligand complex prediction

AutoDock-GPU

AutoDock-GPU

Dock ligands with AutoDock4 scoring, CUDA acceleration, and flexible receptor sidechains.

AutoDock Vina

AutoDock Vina

Dock ligands into protein structures and estimate binding modes, poses, and affinity scores.

GNINA

GNINA

Dock small molecules into proteins using CNN scoring and physics-based pose optimization.

PandaDock

PandaDock

Physics-based molecular docking with CPU-optimized hierarchical algorithms

SMINA

SMINA

Enhanced molecular docking with custom scoring functions and fast minimization

TEMPL Pipeline

TEMPL Pipeline

Template-based protein-ligand pose prediction with MCS-guided conformer generation.