top of page


BioCodeKb - Bioinformatics Knowledgebase

PatchDock is an algorithm for molecular docking. The input is two molecules of any type: proteins, DNA, peptides, drugs. The output is a list of potential complexes sorted by shape complementarity criteria.

PatchDock algorithm is inspired by object recognition and image segmentation techniques used in Computer Vision. It concentrates on the patterns that are unique for the puzzle element and look for the matching patterns in the rest of the pieces. Given two molecules, their surfaces are divided into patches according to the surface shape. These patches correspond to patterns that visually distinguish between puzzle pieces. Once the patches are identified, they can be superimposed using shape matching algorithms. The algorithm has three major stages:

  • Molecular Shape Representation - in this step we compute the molecular surface of the molecule. Next, we apply a segmentation algorithm for detection of geometric patches (concave, convex and flat surface pieces). The patches are filtered, so that only patches with 'hot spot' residues are retained.

  • Surface Patch Matching - we apply a hybrid of the Geometric Hashing and Pose-Clustering matching techniques to match the patches detected in the previous step. Concave patches are matched with convex and flat patches with any type of patches.

  • Filtering and Scoring - the candidate complexes from the previous step are examined. We discard all complexes with unacceptable penetrations of the atoms of the receptor to the atoms of the ligand. Finally, the remaining candidates are ranked according to a geometric shape complementarity score.

PatchDock is a geometry-based molecular docking algorithm. It is aimed at finding docking transformations that yield good molecular shape complementarity. Such transformations, when applied, induce both wide interface areas and small amounts of steric clashes. A wide interface is ensured to include several matched local features of the docked molecules that have complementary characteristics.


The input is two molecules in PDB format. The molecules are either uploaded to the server or retrieved from the Protein Data Bank. In the second case the user has only to enter the PDB code. In order to dock a certain chain or chains, the user should specify the desired chain ID or IDs. The only other non-optional field in the docking request form is the user email for result notification.

In addition, there are four optional fields in the docking request form.

  1. Clustering RMSD: a positive number that specifies the radius of the RMSD clustering in angstroms. This value is used in the final clustering stage of the algorithm. It ensures that the distance between any two output solutions will be at least the specified clustering RMSD value. The default value for this parameter is 4 Å.

  2. Complex Type: PatchDock has different sets of parameters, optimized for different types of complexes. If this field is not specified, the program will use a default configuration. In the case of the enzyme–inhibitor complex type, the algorithm restricts the search space to the cavities of the enzyme molecule. In the case of the antibody–antigen complex type, the algorithm automatically detects the complementarity-determining regions (CDRs) of the antibody and restricts the search to these regions. In the case of protein–small ligand docking, the algorithm uses a parameter set optimized for small-size molecules.

  3. When biological data that point to specific residues belonging to a potential binding site is available, the user can incorporate such information in the algorithm. This information is supplied as an uploaded file that lists the residues of the potential binding site or sites. The file should be in the following format: in each line the residue index and its chain ID as in the PDB file of the receptor or the ligand, separated by a space.


A web page that presents the top 20 solutions is automatically generated. The user receives an email message with the URL of this page (a web link). The solutions are presented in a table, a row for each solution. The geometric score, the desolvation energy, the interface area size and the actual rigid transformation of the solution are shown. A link to a PDB file that presents the docking solution is also available in each line. The user may view or download it.


Need to learn more about PatchDock and much more?

To learn Bioinformatics, analysis, tools, biological databases, Computational Biology, Bioinformatics Programming in Python & R through interactive video courses and tutorials, Join BioCode.

bottom of page