The program automatically generates schematic diagrams of protein-ligand interactions from the 3D coordinates in a PDB file. (Some examples are given here).
The program can also generate plots of residue interactions across a dimer
or domain-domain interface (see DIMPLOT, section
8).
a.The algorithm
The LIGPLOT algorithm is described in detail in Wallace et al. (1995). In
principle, it reads in the 3D structure of the ligand from the PDB
file, together with the protein residues it interacts with, and `unrolls'
each object about
its rotatable bonds, flattening them out onto the 2D page.
In the old version of the algorithm, the hydrogen-bonded and contacting
sidechains were unrolled and flattened along with the ligand. The new
method treats each object separately and then tries to place them on the 2D
page so as to minimise the overlap of atoms and the crossing of bonds in
the final diagram.
Hydrogen bonds
By default, LIGPLOT expects the hydrogen bonds and nonbonded
contacts to be calculated by the HBPLUS
program of McDonald & Thornton (1994) and
can read the files output by that program. It is possible to use data
computed by any other program provided they are supplied in the format
defined in Appendix B.
The major drawback of HBPLUS is that it was designed for computing hydrogen bonds between protein sidechains, and so is unable to recognize the majority of ligands in the PDB. As a result, it may miss certain hydrogen bonds between protein and ligand, and then, of course, LIGPLOT will not plot these absent interactions.
However, the HBPLUS program does allow new residue-types to be defined in an input file (see section 2.6 of the HBPLUS Operating Manual). Thus you can tell HBPLUS which atoms are hydrogen-bond donors/acceptors and how many hydrogens they can donate/accept. This allows the program to calculate all potential H-bonds correctly, and these then appear on the final LIGPLOT diagram.
With v.3.0 of LIGPLOT comes a program called HBADD (described in Appendix C) which aims to cut out the manual effort of creating the input file for HBPLUS. The HBADD program identifies all the HETATM groups in your PDB file and searches for them in the Het Group Dictionary, available from the PDB. It then creates an input file, in HBPLUS format, defining these groups.