I'm interested in doing molecular docking. What are some free programs for it and what are their pros and cons?


8 Answers 8



CDOCKER is docking program developed by the Brooks Lab and it works with CHARMM. CHARMM does have a free version named charmm. The difference is no DOMDEC or GPU high performance modules.

Pros: Rigid and flexible receptors, highly customizable

Cons: Need to get free charmm, creating scripts can sometimes be laborious, no high performance GPU modules


Wu, G.; et al. J. Comput. Chem. 2003, 24, 1549-1562.

Gagnon, J. K.; et al. J. Comput. Chem. 2016, 753-762.



Autodock Vina (associated paper) is quite old and hasn't been updated since 2011 but is still commonly used.

Autodock Vina has flexible ligands by default, although selected (or all) dihedrals (a.k.a. torsions) can be made rigid by the user. The receptor is rigid by default, but flexible regions can be selected by the user.

Vina is the program used under-the-hood by some free servers such as CB-Dock (associated paper).

  • 1
    $\begingroup$ Welcome to the community. It's better to have a single detailed answer than having multiple answers. It will be nice if you elaborate this answer and delete others $\endgroup$
    – Thomas
    Jul 28, 2020 at 17:44
  • $\begingroup$ +1. It's nice to see you here WaterMolecule. I agree with Thomas on this one. See my answer here: mattermodeling.stackexchange.com/a/1055/5 In line 1 you can see that I'm aware of PyQuante and PySCF but I decided to focus on one answer and doing it well rather than trying to give 3 answers with 1/3 the effort for each. I also didn't answer about PyQuante and PySCF because I wanted to give others a chance. $\endgroup$ Jul 28, 2020 at 18:29
  • 1
    $\begingroup$ Maybe I'm confused about what the "one-topic-per-answer" tag means. $\endgroup$ Jul 28, 2020 at 20:04
  • 1
    $\begingroup$ The one-topic-per-answer tag description says: "Special tag for certain big-list questions." I took this to mean that each answer should be a list item as I've sometimes seen on other SE sites. I looked for other examples of this tag on Matter Modeling, but none have enough answers for the expected format to be inferred. $\endgroup$ Jul 29, 2020 at 14:43


Megadock (associated paper) is a free GPU-enabled docking program for rigid protein–protein docking.

Pros: Very fast. Can screen thousands of structures in a few hours. Cons: Both ligand and receptor are rigid. For proteins only.



PLANTS uses a class of stochastic optimization algorithms called ant colony optimization (ACO).

Feature list:

ACO-based search engine
two scoring functions (PLANTS_CHEMPLP and PLANTS_PLP)
flexible protein side-chains
rigid-body docking of multiconformer libraries into rigid and flexible receptors
constraint system
docking with selected explicit, displaceable water molecules
fully automatic ligand setup (rotatable bond identification, atom typing ...)
virtual screening
rescoring capability

Note: the docking software GOLD uses and recommend the PLANTS score function.


1. Ab-initio protein--protein docking:

GRAMM (=Global Range Molecular Modeling)

  • Performs rigid-body docking based on the shape complementarity and Miyazawa-Jernigan contact potentials;
  • Exhaustively samples the search space (i.e., identifies the Global Energy Minimum solution, in the given formulation);
  • Very fast (employs Fast Fourier Transform) and is suitable for high-throughput docking;
  • Allows clustering of docking poses as a postprocessing;


  • currently no account for flexibility of molecules;
  • most likely will fail in application to antibodies;


  • is effectively a set of protocols/pipelines that cover a wide range of docking problems. There is no single universally applicable protocol to all cases.
  • Efficient application requires analysis of the target and choosing the most suitable pipeline.


  • An inherently flexible docking protocol that employs Normal Modes Analysis at both the global docking stage (ATTRACT) and the refinement stage (iATTRACT).


  • quite good benchmarking results for protein--protein complexes (in terms of the CAPRI criteria)


  • The package is written in a mixture of C, Python, bash and FORTRAN and is difficult to navigate/modify;
  • virtually impossible to prepare input to the pipeline. For this purpose the developers created a web-server specifically for the preparation of input and configuration files that must be downloaded and run on a locally compiled code.

2. Template-based protein--protein docking:


There is a class of cases when one has an experimentally-solved structure of a protein--protein complex with monomers very similar in structure to those that must be docked: i.e.

A-B is an experimentally-solved structure of a dimer complex (monomers A and B)

one has monomers A' and B' (the target complex A'-B') such, that TM-score(A,A') > 0.5 and TM-score(B, B') > 0.5. Then, A' might be structurally aligned onto A and B' might be structurally aligned onto B. Thus, one gets the structure of complex A'-B'.


  • robust and easy.


  • templates (i.e., A-B) must be known.

Discussion of these issues and the latest benchmarking results can be found here:

  • 1
    $\begingroup$ +1. Welcome to the site and we hope to see much more of you in the future !!! Thank you for your contribution here!! $\endgroup$ Sep 14, 2020 at 21:27


FlexPepDock (associated paper) is part of the Rosetta toolkit and useful for peptide–protein docking.

Pros: Peptides are fully flexible. Makes use of Rosetta's excellent protein modeling facilities.

Cons: Requires a Rosetta installation (free). Doesn't yet support disulfide bridges or cyclization.



Patchdock is a Molecular Docking Algorithm Based on Shape Complementarity Principles.


  • Web Based
  • Over 100 possible docked structures with the first one being the best structure.
  • Free


  • Takes over 2.5 to 3 hours for the results to be sent to you via mail

Open Drug Discovery Toolkit

Open Drug Discovery Toolkit provides nice features of rescoring with different scoring function your docked poses. This is important due to the limitations of scoring functions.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .