Home LZerD Multi-LZerD PI-LZerD References Contact

LZerD: Protein-Protein Docking Algorithm


  • 2014-12-12 updated "LZD32". fixed "NaN" and "inf" bugs.
  • 2016-11-02 updated "PDBGEN". fixed hydrogen bug.
    updated "GETPOINTS". fixed non-deterministic output.
    added "LB3Dclust" to cluster a list of ligand*.pdb files output by PDBGEN.


Existing docking methodologies generate anywhere from a few hundred to thousands of candidate complexes, each with a score that helps the users determine what models are considered to be better. Most of the existing methodologies deal with pairwise docking, where one protein binds to another one. LZerD (Local 3D Zerike descriptor-based Docking algorithm) is a program that uses geometric hashing to generate ligand orientations using the 3D Zernike descriptor as the shape matching criteria.

Overview of LZerD

LZerD, our pairwise docking program, can create protein complex structures from two individual structures (called receptor and ligand). It uses a combination of geometric hashing and a rotation invariant mathematical surface shape representation, the 3D Zernike Descriptors (3DZD), as the main tools to create putative docking poses. LZerD showed that the 3DZD representation is suitable to assess protein-protein interface similarity and generated good results when tested against docking benchmark cases and compared favorably against existing protein-protein methods.

Download LZerD

The current version of LZerD as used in the paper is available as a tar.gz file and can be downloaded here.


Getting Started

Download and save the tar file of the program in your preferred directory. The files can be unpacked using the commands:

  • gunzip lzerddistribution.tar.gz
  • tar -xvf lzerddistribution.tar
This generates the corresponding Directory:

What The Directory Looks Like

The generated Directory contains the files:

  • LZD32
  • mark_sur
  • points
  • runlzerd.sh
  • uniCHARMM
  • LZerD1.0
  • SASA.rc
  • example

Copy your PDBs to the right directory; that is, the directory named “lzerddistribution”.
Please note that they cannot be in a sub-directory if you want to run the program using the default scripts. If you have basic knowledge about shell scripting you should be able to modify the scripts provided to have a more flexible environment. Otherwise, we suggest to store them in this directory.

In this example we used chains “A” and “B” of the protein complex in PDBID: 1BRS.

Running the Program

To run the program you use the runlzerd.sh script providing it with two PDB files.

./runlzerd.sh A-1BRS.pdb B-1BRS.pdb

It is recommended to add the command nohup at the beginning to avoid “timeout errors” and redirect terminal output to a log file. This can be done as shown in the image bellow:

First the program generates .ms files (at this point, no output is visible in the terminal):

  • A-1BRS_01.pdb.ms
  • B-1BRS_01.pdb.ms

Calculating Surfaces

The program's first terminal output starts with the Calculation of surfaces:

The program produces the files:

• A-1BRS.gts • B-1BRS.gts
• A-1BRS_cp.txt • B-1BRS_cp.txt

Calculating Zernike Descriptors

At the culmination of this part, the program produces “ .inv” files:

  • A-1BRS_01.inv
  • B-1BRS_01.inv

Now we are Running LZerD

  • Depending on the protein structures used, the program can take a long time to complete, using the default parameters. If desired, the optimization parameters for obtaining the solution points can be changed to 1e-02 or 1e-03 instead of the default 1e-04 (as seen in the next figure).
  • It may yield less accurate results, but it can be useful for initial screening purposes, or if you just want a coarse-grain level result. Since it is considerably faster, especially using the 1e-02 option, we recommend running the program using this setting first, as an initial test.

At the termination of the program, it would output the time it took to finish
And then output the top 3 results in individual .PDBs

Copyright © 2017 KIHARA Bioinformatics LABORATORY, PURDUE University