How to Interpret Docking Results: Affinity, Poses, and Pose Quality
A negative Vina score is not a discovery — it is a model output that only makes sense inside one receptor, one box, and one preparation protocol. Students lose marks when they treat −8 kcal/mol as “proof of binding,” or when they ignore pose 1 because “RMSD compares to itself.” This guide explains how to read Dock (and raw Vina) outputs the way forums like BioStars and Stack Exchange actually advise: rank analogs, inspect 3D, cite interactions, state limitations.
Prep context: receptor and ligand preparation · Structure choice: holo vs apo.
Five-step interpretation workflow
Step 1 — Redock check (pipeline sanity, not your grade)
When a co-crystal ligand exists, Dock can redock it before your analog screen. That RMSD is not the same as the “dist from best mode” column in the Vina log:
- Redock RMSD: docked pose vs experimental ligand coordinates (RDKit alignment). Pass heuristic: ≤ 2 Å heavy-atom RMSD.
- Mode RMSD (Vina log): each pose vs the best-scoring pose from the same run, inside the same search box.
If redock fails on a holo structure, fix prep or the box before interpreting analog rankings (prep guide). A passed redock does not mean your analogs bind — it means the workflow is plausible.
Step 2 — Vina affinity (kcal/mol)
AutoDock Vina reports predicted binding affinity in kcal/mol. More negative values mean stronger predicted binding under this scoring function — not measured free energy.
Where affinity is reliable
- SAR within one pocket: 20 analogs, same receptor PDBQT, same box, same pH — “compound B scored 1.2 kcal/mol better than compound A.”
- Relative pose ranking: mode 1 vs mode 2 for the same ligand when modes stay in the pocket (low mode RMSD).
- Virtual screening shortlists: prioritize compounds for visual review, not for synthesis without data.
Where affinity misleads
- Comparing scores across different proteins or box sizes.
- Comparing your Vina numbers to literature IC50 without identical setup.
- Treating −6 vs −8 kcal/mol as “200× potency” — Vina precision is often ~1 kcal/mol or worse; a hydrogen bond is ~1 kcal/mol scale (community discussion).
- Ignoring that the best score can sit in a pose with poor interactions (always open the 3D structure).
Official guidance: evaluate Vina on your target with known actives or a native ligand before trusting virtual screening hits (Vina FAQ).
Step 3 — Multiple poses: reading the mode table
Vina generates up to 9 modes internally; Dock exports the top 3 poses per ligand (within 3 kcal/mol of the best, per energy_range) as SDF + protein–ligand complex PDB files.
“Should I use mode 2 because mode 1 RMSD is zero?”
No. Mode 1 is defined as the reference pose; RMSD 0 is expected. BioStars threads on this confuse self-reference with crystal reference. Pick mode 1 as the starting point, then:
- Check if mode 2 is in the same pocket (RMSD l.b. < ~3 Å, visual overlay).
- If scores are within ~0.5 kcal/mol, inspect H-bonds and clashes — the lowest score can still be wrong (Biostars #447449).
- Ignore modes with huge RMSD (e.g. 20+ Å) unless you deliberately searched a huge box.
gap_to_second — pose confidence on Dock
Dock stores gap_to_second = affinitymode2 − affinitymode1 (in kcal/mol). Rules used in reports:
| gap_to_second | Label | Meaning for your write-up |
|---|---|---|
| ≥ 1.0 kcal/mol | Well-defined pose | Top mode is clearly favored — still verify interactions visually. |
| 0.5 – 1.0 | Moderate separation | Plausible dominant pose; mention alternate mode 2 in supplement if close in 3D. |
| < 0.5 | Ambiguous poses | Do not over-interpret mode 1 alone — show overlay figure of top 2 modes. |
| only one mode | Single mode | Vina returned one pose in export window — note limited conformational sampling. |
Step 4 — Pose quality control (PoseBusters)
Dock runs PoseBusters (docking config) on the top pose when available — steric clashes, chemistry, volume overlap with the receptor. If PoseBusters is unavailable, a lighter geometric fallback runs instead.
- QC pass + high gap_to_second: strong computational story for coursework.
- QC fail: Dock downgrades pose confidence — a good score with clashes is a red flag; fix prep or discard the pose in discussion.
- In Methods: “Pose quality assessed with PoseBusters (dock configuration) on the top-ranked pose.”
Visual checks you should still do in PyMOL/ChimeraX:
- Ligand strained bonds or atoms outside the pocket
- Polar atoms buried with no H-bond partner
- Wrong protomer/tautomer vs what you drew in ChemDraw
Step 5 — Interactions (PLIP) and 2D figures
Affinity tells you the scoring function’s preference; interactions tell you why a pose might make sense. Dock runs PLIP on protein–ligand complexes, with distance-heuristic fallback if PLIP fails.
Typical table columns for your report:
| Interaction type | What to say in Discussion |
|---|---|
| H-bond (backbone/side chain) | Name residue numbers; compare across analogs (“lost H-bond to Ser214 when methylated”). |
| Hydrophobic / π-stacking | Tie to SAR (“extra phenyl fills Phe pocket”). |
| Salt bridge | Note charge state at pH 7.4 — protonation matters. |
| No key polar contact | Explain weak affinity despite negative score. |
Use the auto-generated 2D interaction diagram and binding-site overview PNG in the ZIP (figures/{ligand}/). Optional PyMOL ray-traced figure (+0.5 credit/job) is for publication-style reports — cite it as a render, not new science.
Dock also drafts a short binding_description paragraph per ligand — edit it; do not paste verbatim without checking residue numbers.
ADMET columns — drug-likeness, not toxicity data
Each ligand includes RDKit descriptors: MW, logP, TPSA, H-bond donors/acceptors, rotatable bonds, QED, Lipinski and Veber pass/fail. These are computational filters useful for med-chem narrative:
- “Analog 4 failed Veber (TPSA > 140) but still docked well — membrane permeability may be poor.”
- Do not equate Lipinski pass with safe drug or toxicology clearance.
For toxicology courses, pair docking with literature on the target — see docking in toxicology coursework.
Batch screening: build the table your TA expects
For 20–50 analogs, export result.json and sort by affinity_best. Suggested columns:
| Column | Source field / file |
|---|---|
| Ligand name | name (ligand_1, … or your SDF title) |
| Affinity (kcal/mol) | affinity_best |
| Pose confidence | pose_confidence_label |
| Key interaction | PLIP summary or binding_description |
| Lipinski / Veber | admet JSON |
| Status | failed ligands with error_code — do not silently drop |
Figure: overlay top 2–3 hits (not all 30). Mention failures (“ligand_17: embedding failed”) — honesty scores points.
Failed ligands — report them, do not hide them
Batch jobs often return a mix of success and failed ligands in result.json. Common failure reasons:
- Invalid SMILES — typo or unsupported chemistry in the line you pasted.
- 3D embedding failure — ETKDG cannot build a reasonable conformer (macrocycles, highly strained structures).
- Meeko PDBQT write failure — unusual atom types or excessive flexibility (check TORSDOF warnings at validate).
- Vina returned no poses — ligand does not fit the box, or numerically unstable pose (retry with larger box only if justified).
In your table, include a footnote: “7/25 ligands failed preparation; see supplementary error codes.” Instructors prefer transparency over a cherry-picked top-10.
Fixed Vina settings on Dock (for Methods)
When you cite reproducibility, name the parameters actually used:
exhaustiveness = 8(default in literature; lower values can distort poses)num_modes = 9generated; top 3 exported per ligandenergy_range = 3kcal/mol — poses within 3 kcal/mol of the best are eligible for exportmin_rmsd = 1.0Å between output modes (Vina internal diversity filter)- Pipeline version in
run_manifest.json(currently aligned with backend v1.9.x)
What is in results.zip (reproducibility)
run_manifest.json— pipeline version, exhaustiveness 8, num_modes 9, box center/size, pH, chain (paste into Methods).poses/{ligand}.sdf— three poses;complexes/{ligand}_complex.pdbfor 3D.interactions/{ligand}.json— PLIP tables.redock_report.json— when redock ran.
Full file list: home page Features → “What’s in the results ZIP?”
Discussion paragraphs (templates)
Among the analog series docked to [target] (PDB [ID], rigid receptor, pH 7.4), compound X showed the most favorable Vina affinity (−8.1 kcal/mol) with a 1.1 kcal/mol gap to the second mode, consistent with a well-separated pose. The top pose forms hydrogen bonds to [residues] and hydrophobic contacts with [residues], aligning with the SAR trend (bulk at R1 reduces affinity). PoseBusters quality checks passed. These results are computational hypotheses only; experimental binding was not measured.
Redock of the co-crystal ligand yielded RMSD 1.6 Å (≤2 Å threshold), supporting receptor preparation. Compound Y ranked second (−7.4 kcal/mol) despite a favorable score because the top pose showed steric overlap with [residue] and PoseBusters flagged clashes; mode 2 was therefore discussed as an alternate binding orientation.
Limitations paragraph (required)
- Rigid receptor — no induced fit; apo structures especially risky.
- Implicit solvent; no membrane, no explicit water competition.
- Vina scoring approximate; rank analogs, do not claim experimental ΔG.
- Protonation/tautomers from dimorphite_dl at chosen pH — alternate states not explored unless you model them.
- Failed ligands and ambiguous poses should be reported, not hidden.
Quick troubleshooting
| Observation | Likely meaning |
|---|---|
| Best score but absurd pose | Wrong box or strained ligand — trust 3D over score |
| All analogs within 0.3 kcal/mol | Series may be too similar or pocket not discriminative — discuss flat SAR |
| gap_to_second < 0.5 for winner | Ambiguous — show two poses |
| Redock fail, analogs “great” | Prep/box broken — do not interpret screen |
| PLIP empty, heuristic used | Note method in caption; verify distances manually |
Next: present a class screening · full docking tutorial · what is molecular docking.