This program identifies all Het groups in the input PDB file and searches for them in the Het Group Dictionary, available from the PDB. Any matches are used to generate a definition of the residue type in HBPLUS format. Each residue's definition gives the atom connectivities and, for the polar atoms, defines which are hydrogen-bond donors/acceptors and how many hydrogens they can donate/accept.
The output file, containing the residue definitions, is called
hbplus.rc. The information allows the HBPLUS program to
calculate all potential H-bonds between ligand and protein correctly.
b. The algorithm
The program reads in the given PDB file and identifies all the
HET groups involved. Computes connectivities using CONECT
records and distances between atoms.
It locates each HET group in the HET Group Dictionary. Connectivities are recorded. Atoms are matched by name and then by connectivity. Where the HET group in the PDB file successfully matches the dictionary definition on both these criteria, the relevant bond angles are computed where necessary.
The rules for H-bond formation, applied to all O, N and S atoms, are as follows (John Mitchell, personal communication):-
H-bond acceptors:
N:
In the first case, the residue definition might still need to be manually prepared for HBPLUS (as described in section 2.6 of that program's documentation).
In the second case, a simple solution might be to rename the relevant atoms in the PDB file so that they correspond to the atom-naming in the HET Group Dictionary.