Skill Tracer
Skills › Scientific Agent Skills › diffdock › confidence_and_limitations.md

confidence_and_limitations.md

77 lines · skills/diffdock/references/confidence_and_limitations.md at 5f2bc03

Open on GitHub
1# Confidence, scientific scope and validation
2
3Reviewed against DiffDock v1.1.3 source/README and the DiffDock-L paper on 2026-09-30.
4

Confidence, scientific scope and validation

Reviewed against DiffDock v1.1.3 source/README and the DiffDock-L paper on 2026-09-30.

Raw lines 1 to 4
5## Meaning of a score
6
7DiffDock's confidence model ranks candidate poses for a protein-ligand pair. It does
8not output a calibrated binding probability, dissociation constant, selectivity,
9residence time or ADMET endpoint. Even if confidence correlates with binding in a
10particular dataset, that does not establish an affinity model.
12The upstream FAQ gives rough top-pose bands `c > 0`, `-1.5 < c < 0`, `c < -1.5`;
13it does not define equality. The helper assigns zero to Moderate and -1.5 to Low.
14These conventions and thresholds are not guarantees of pose correctness. Filename
15values have only two decimal places; preserve upstream rank and original artifacts.
16Nonfinite or missing scores are Unknown, not zero or Low.
18Comparison across different ligands and receptor conformations is difficult and not
19calibrated. `analyze_results.py --best` is a convenience for inspection, not a ranking
20of compounds by potency. Low confidence does not prove a ligand cannot bind. Multiple
21similar sampled poses are not independent replicates; consensus can repeat model bias.

Meaning of a score

DiffDock's confidence model ranks candidate poses for a protein-ligand pair. It does not output a calibrated binding probability, dissociation constant, selectivity, residence time or ADMET endpoint. Even if confidence correlates with binding in a particular dataset, that does not establish an affinity model.

The upstream FAQ gives rough top-pose bands c > 0, -1.5 < c < 0, c < -1.5; it does not define equality. The helper assigns zero to Moderate and -1.5 to Low. These conventions and thresholds are not guarantees of pose correctness. Filename values have only two decimal places; preserve upstream rank and original artifacts. Nonfinite or missing scores are Unknown, not zero or Low.

Comparison across different ligands and receptor conformations is difficult and not calibrated. analyze_results.py --best is a convenience for inspection, not a ranking of compounds by potency. Low confidence does not prove a ligand cannot bind. Multiple similar sampled poses are not independent replicates; consensus can repeat model bias.

Raw lines 5 to 22
23## Applicability
25The trained/tested problem is small-molecule docking to proteins. Success at parsing a
26peptide, nucleotide, macrocycle, metal-containing compound or very large ligand does
27not demonstrate reliable modeling. There is no universal molecular-weight or residue
28count rule that makes such inputs supported. Covalent binding and accurate coordination
29chemistry require appropriate specialist methods. DiffDock does not perform a fully
30flexible receptor search; separate conformations provide separate hypotheses.
32The original DiffDock and DiffDock-L have different training/evaluation settings.
33DiffDock-L adds data and generalization strategies including Binding MOAD and van der
34Mers augmentation; record the checkpoint and assess similarity/leakage against its
35training data before describing performance on a new benchmark. Do not label all new
36proteins or membrane proteins categorically supported/unsupported without evidence.

Applicability

The trained/tested problem is small-molecule docking to proteins. Success at parsing a peptide, nucleotide, macrocycle, metal-containing compound or very large ligand does not demonstrate reliable modeling. There is no universal molecular-weight or residue count rule that makes such inputs supported. Covalent binding and accurate coordination chemistry require appropriate specialist methods. DiffDock does not perform a fully flexible receptor search; separate conformations provide separate hypotheses.

The original DiffDock and DiffDock-L have different training/evaluation settings. DiffDock-L adds data and generalization strategies including Binding MOAD and van der Mers augmentation; record the checkpoint and assess similarity/leakage against its training data before describing performance on a new benchmark. Do not label all new proteins or membrane proteins categorically supported/unsupported without evidence.

Raw lines 23 to 37
38## Validation workflow
401. Check intended ligand molecular graph, charge, tautomer and stereochemistry. The
41 upstream file-input route removes existing conformers and generates a new one.
422. Reconcile input IDs with output ranks and failed/skipped counts. Avoid reused output
43 directories. Both a silent skip and a stale output can masquerade as success.
443. Check atom/bond identity, stereochemistry, bond lengths/angles, aromatic planarity,
45 internal strain and receptor clashes using independent tools such as PoseBusters.
46 These checks establish plausibility constraints, not experimental correctness.
474. Visually review candidate pockets, biologically relevant chains, conserved waters,
48 cofactors and metal coordination. Do not remove meaningful components blindly.
495. For any refinement, keep raw and refined structures and the mapping between them.
50 Relax in the actual downstream force field with appropriate ligand parameters;
51 revalidate afterwards. Rescoring does not repair an invalid pose automatically.
526. If a reference pose is available, align receptors consistently and compare ligand
53 atoms with a chemically valid symmetry mapping. A low RMSD does not replace
54 stereochemical/clash validation. Without a reference, do not report pose accuracy.
557. Assess affinity with a separately validated model or protocol when needed. GNINA,
56 MM/GBSA and free-energy methods have different assumptions and error sources; no
57 universal accuracy ordering or mandatory rescoring workflow applies to every system.
588. Report uncertainty and validate experimentally where warranted.

Validation workflow

  1. Check intended ligand molecular graph, charge, tautomer and stereochemistry. The upstream file-input route removes existing conformers and generates a new one.
  2. Reconcile input IDs with output ranks and failed/skipped counts. Avoid reused output directories. Both a silent skip and a stale output can masquerade as success.
  3. Check atom/bond identity, stereochemistry, bond lengths/angles, aromatic planarity, internal strain and receptor clashes using independent tools such as PoseBusters. These checks establish plausibility constraints, not experimental correctness.
  4. Visually review candidate pockets, biologically relevant chains, conserved waters, cofactors and metal coordination. Do not remove meaningful components blindly.
  5. For any refinement, keep raw and refined structures and the mapping between them. Relax in the actual downstream force field with appropriate ligand parameters; revalidate afterwards. Rescoring does not repair an invalid pose automatically.
  6. If a reference pose is available, align receptors consistently and compare ligand atoms with a chemically valid symmetry mapping. A low RMSD does not replace stereochemical/clash validation. Without a reference, do not report pose accuracy.
  7. Assess affinity with a separately validated model or protocol when needed. GNINA, MM/GBSA and free-energy methods have different assumptions and error sources; no universal accuracy ordering or mandatory rescoring workflow applies to every system.
  8. Report uncertainty and validate experimentally where warranted.
Raw lines 38 to 59
60## Upstream implementation limits
62- PDB inference still generates ESM2 embeddings. Per-chain tokenization truncates at
63 1022 residues; inspect long-chain targets for mismatched embedding/graph lengths.
64- Sequence folding calls CUDA regardless of CPU fallback elsewhere and adds folding
65 uncertainty. A plausible fold need not be the ligand-bound conformation.
66- The inference loop can skip individual complexes. Exit status is insufficient.
67- The `batch_size` is for samples within each complex, not concurrent protein pairs.
68- The supported inference CLI offers neither a pocket-selection flag nor a precomputed
69 ESM-embedding flag. Changing chain selection changes the prepared input itself.

Upstream implementation limits

  • PDB inference still generates ESM2 embeddings. Per-chain tokenization truncates at 1022 residues; inspect long-chain targets for mismatched embedding/graph lengths.
  • Sequence folding calls CUDA regardless of CPU fallback elsewhere and adds folding uncertainty. A plausible fold need not be the ligand-bound conformation.
  • The inference loop can skip individual complexes. Exit status is insufficient.
  • The batch_size is for samples within each complex, not concurrent protein pairs.
  • The supported inference CLI offers neither a pocket-selection flag nor a precomputed ESM-embedding flag. Changing chain selection changes the prepared input itself.
Raw lines 60 to 70
71## Sources
73- [Upstream confidence FAQ and scope](https://github.com/gcorso/DiffDock/blob/v1.1.3/README.md)
74- [Input preparation and ESM2/ESMFold implementation](https://github.com/gcorso/DiffDock/blob/v1.1.3/utils/inference_utils.py)
75- [DiffDock-L paper](https://arxiv.org/abs/2402.18396)
76- [Original DiffDock paper](https://arxiv.org/abs/2210.01776)
77- [PoseBusters documentation](https://posebusters.readthedocs.io/en/latest/)