Skip to main content
    Drug Discovery

    8 min read

    DiffDock vs GNINA vs AutoDock Vina: Choosing a Docking Method

    Blind vs pocket-known docking, pose accuracy vs physical validity, and what each score does and does not mean

    Ivy Biosciences

    · updated

    how this was written

    an AI agent, from a research brief and primary literature. reviewed and edited by the ivy biosciences team before publishing.

    Use DiffDock when you don't know where the ligand binds, and a pocket-based method like GNINA or AutoDock Vina when you do. DiffDock searches the whole protein and is strong at finding the binding site. Classical and CNN-rescored docking are stronger at placing a ligand inside a pocket you have already defined, and their poses pass physical-validity checks more often. None of the three scores is a binding affinity: each one ranks poses or compounds within a run. If you are still choosing a structure to dock into, start with our ESMFold vs AlphaFold2 comparison; for a wider survey of open tools, see open-source computational drug discovery tools.

    The three methods, side by side#

    DiffDockGNINAAutoDock Vina
    ApproachDiffusion generative model over ligand poseVina-style search, with a CNN scoring the posesIterated local search with an empirical scoring function
    Needs a defined pocket?No: docks against the whole proteinOptional (works best with one)Yes: a search box
    Main outputRanked poses with a confidence scorePoses with CNNscore (pose probability) and CNNaffinity (predicted pK)Poses with a Vina score
    What the score is forRanking poses within a runRanking poses; rough affinity estimateRanking poses and compounds
    Physical validity of posesOften fails steric and geometry checks (see below)Not tested in PoseBustersUsually passes
    On .bloom*Runs (DiffDock-L)Not currently offeredNot offered

    Blind docking vs pocket-known docking#

    The most useful split is not "AI vs classical" but whether you know the pocket. When Yu et al. separated docking into two steps, pocket search and docking into a given pocket, they found that deep learning models are good at pocket searching, but traditional methods are better at docking into given pockets (Yu et al., 2023).

    The original papers line up with that split:

    • DiffDock reported a 38% top-1 success rate (RMSD < 2 Å) on PDBBind against the whole protein, compared with 23% for the best traditional method and 20% for the best earlier deep-learning method. On computationally folded structures it reached 21.7%, where earlier methods managed at most 10.4% (Corso et al., 2022).
    • GNINA gains most when the pocket is defined. CNN scoring raised top-1 redocking success from 58% to 73% and cross-docking from 27% to 37%. With the whole protein as the search space, the gains were smaller: 31% to 38% for redocking and 12% to 16% for cross-docking (McNutt et al., J Cheminform 2021).

    These numbers come from different benchmarks and setups, so they don't rank the tools against each other directly. What they show is where each method's strength lies.

    Pose accuracy is not physical validity#

    RMSD to the crystal pose is only half the question. A pose can be close in RMSD and still have clashing atoms, impossible bond geometry or the wrong stereochemistry. The PoseBusters study checked for exactly that (Buttenschoen, Morris & Deane, Chem Sci 2024):

    BenchmarkDiffDockGoldAutoDock Vina
    Astex Diverse set, RMSD ≤ 2 Å only72%67%58%
    Astex Diverse set, RMSD ≤ 2 Å and physically valid47%64%56%
    PoseBusters Benchmark set (308 complexes released from 2021)12%55%58%

    Read the caveats before quoting these:

    • The setups were not the same. Gold and Vina searched a 25 Å region centred on the crystal ligand, so they were told where the pocket was. DiffDock docked blind against the whole protein.
    • It tested the original DiffDock, not the later DiffDock-L that .bloom* runs (Corso et al., 2024).
    • GNINA was not in the study.

    The practical lesson holds anyway. Run a physical-validity check on any deep-learning pose before you trust it, and treat a drop on newer complexes as a sign that a method may not generalise beyond its training data.

    What each score means (and why none is an affinity)#

    Rescoring with MM/GBSA adds physics, but its authors describe the method's approximations as crude, and its performance varies strongly from system to system (Genheden & Ryde, Expert Opin Drug Discov 2015). Use it to re-rank a shortlist, then confirm with an assay.

    When to use each#

    • You don't know the binding site, or you're docking into a predicted structure: start with DiffDock, or a pocket predictor followed by docking.
    • You know the pocket from a co-crystal or mutagenesis: a pocket-based method (Vina, or GNINA with CNN rescoring) usually gives more physically sound poses.
    • You're screening many ligands against one site: a pocket-based method is the conventional choice, with rescoring on the shortlist.
    • Whichever you use: check physical validity, look at the top few poses rather than only the first, and don't read any score as a Kd.

    How to run it on .bloom*#

    On .bloom*, Ivy plans a docking run as pocket, then pose, then rescore:

    1. Find the pocket: P2Rank ranks likely ligand-binding sites from the structure alone, with no ligand needed (Krivák & Hoksza, J Cheminform 2018). See P2Rank.
    2. Dock: DiffDock docks blind against the receptor. It returns 10 poses by default (1–40) using 20 inference steps by default (1–40). You can restrict it to chosen receptor_chains, and results become unreliable above about 1,000 residues. Runs take roughly 2–30 minutes depending on protein size. Inputs and outputs are listed in DiffDock inputs and DiffDock results.
    3. Rescore: MM-GBSA re-ranks the top poses.

    The fold → dock triage recipe chains these steps after a structure prediction, and the hit-to-lead recipe carries the ranked poses into property filtering. Every result names the tool, parameters and run that produced it. For how docking fits the rest of the catalog, see docking on .bloom*.

    GNINA is not currently offered on .bloom*, and there is no AutoDock Vina tool. If you already have poses from either, you can bring them in for rescoring and analysis.

    Key takeaways#

    • Know your pocket? Pocket-based docking (Vina, GNINA) usually places the ligand better and produces more physically valid poses.
    • Don't know it? DiffDock, or a pocket predictor followed by docking, is better at finding where the ligand binds.
    • Pose accuracy is not physical validity. Check deep-learning poses before you trust them.
    • No docking score is a binding affinity. Rank within a run, rescore a shortlist, and confirm with an assay.

    Dock your own target with P2Rank, DiffDock and MM-GBSA on the .bloom* platform.

    References#

    1. Corso, G., Stärk, H., Jing, B., Barzilay, R. & Jaakkola, T. "DiffDock: Diffusion Steps, Twists, and Turns for Molecular Docking." ICLR (2023). arXiv:2210.01776
    2. Corso, G. et al. "Deep Confident Steps to New Pockets: Strategies for Docking Generalization." ICLR (2024). arXiv:2402.18396
    3. McNutt, A. T. et al. "GNINA 1.0: molecular docking with deep learning." Journal of Cheminformatics 13, 43 (2021). doi:10.1186/s13321-021-00522-2
    4. Ragoza, M. et al. "Protein–Ligand Scoring with Convolutional Neural Networks." Journal of Chemical Information and Modeling 57, 942–957 (2017). doi:10.1021/acs.jcim.6b00740
    5. Trott, O. & Olson, A. J. "AutoDock Vina: Improving the speed and accuracy of docking with a new scoring function, efficient optimization, and multithreading." Journal of Computational Chemistry 31, 455–461 (2010). doi:10.1002/jcc.21334
    6. Eberhardt, J., Santos-Martins, D., Tillack, A. F. & Forli, S. "AutoDock Vina 1.2.0: New Docking Methods, Expanded Force Field, and Python Bindings." Journal of Chemical Information and Modeling 61, 3891–3898 (2021). doi:10.1021/acs.jcim.1c00203
    7. Buttenschoen, M., Morris, G. M. & Deane, C. M. "PoseBusters: AI-based docking methods fail to generate physically valid poses or generalise to novel sequences." Chemical Science 15, 3130–3139 (2024). doi:10.1039/D3SC04185A
    8. Yu, Y. et al. "Do Deep Learning Models Really Outperform Traditional Approaches in Molecular Docking?" (2023). arXiv:2302.07134
    9. Krivák, R. & Hoksza, D. "P2Rank: machine learning based tool for rapid and accurate prediction of ligand binding sites from protein structure." Journal of Cheminformatics 10, 39 (2018). doi:10.1186/s13321-018-0285-8
    10. Genheden, S. & Ryde, U. "The MM/PBSA and MM/GBSA methods to estimate ligand-binding affinities." Expert Opinion on Drug Discovery 10, 449–461 (2015). doi:10.1517/17460441.2015.1032936

    Frequently asked

    Can I run GNINA or AutoDock Vina on .bloom*?

    No. GNINA is not currently offered on .bloom*, and there is no AutoDock Vina tool; DiffDock-L is the docking tool that runs there. If you already have poses from GNINA or Vina, you can bring them in for rescoring and analysis. The docking arc on the platform is P2Rank to rank likely ligand-binding sites from the structure alone, DiffDock to produce poses, then MM-GBSA to re-rank the top ones.

    Should I use DiffDock or a pocket-based docking method?

    Use DiffDock when you don't know where the ligand binds, and a pocket-based method such as GNINA or AutoDock Vina when you do. When docking was separated into pocket search and docking into a given pocket, deep learning models were found to be good at pocket searching while traditional methods were better at docking into given pockets. DiffDock searches the whole protein; pocket-based methods place a ligand better inside a pocket you have already defined, and their poses pass physical-validity checks more often.

    What was DiffDock's success rate in the PoseBusters study?

    On the Astex Diverse set, 72% of DiffDock poses were within 2 Å RMSD but only 47% were both within 2 Å and physically valid, against 64% for Gold and 56% for AutoDock Vina. On the PoseBusters Benchmark set of 308 complexes released from 2021, DiffDock scored 12% against 55% for Gold and 58% for Vina. Two caveats: Gold and Vina searched a 25 Å region centred on the crystal ligand while DiffDock docked blind, and the study tested the original DiffDock rather than DiffDock-L. GNINA was not included.

    Is a docking score a binding affinity?

    No. DiffDock's confidence ranks the poses it generated for one protein-ligand pair, so compare it within a run rather than across targets or ligands. GNINA's CNNscore is the network's probability that a pose is correct, and CNNaffinity is a predicted pK, which is a model output rather than a measurement. The Vina score comes from an empirical scoring function fitted for speed and pose ranking. Rank within a run, rescore a shortlist, and confirm with an assay.

    How long does a DiffDock run take, and what are its limits?

    Runs take roughly 2 to 30 minutes depending on protein size. DiffDock docks blind against the receptor and returns 10 poses by default, settable from 1 to 40, using 20 inference steps by default, also 1 to 40. You can restrict it to chosen receptor chains, and results become unreliable above about 1,000 residues. MM-GBSA re-ranks the top poses afterwards, though its authors describe the method's approximations as crude and its performance varies strongly from system to system.


    tags

    • molecular docking
    • DiffDock
    • GNINA
    • AutoDock Vina
    • structure-based drug design

    about the author

    Ivy Biosciences

    The Ivy Biosciences team builds AI tools for computational drug discovery.

    Loading...