HOLLOW

HOLLOW facilitates the production of images of the interior surfaces of protein structures. A "cast" is made by filling voids and channels with dummy atoms where the surface of these dummy atoms provides a convenient representation of the interior surface.



HOLLOW is a command-line utility written in Python 2.4. It does not have any other dependencies. The input is a PDB file and the output is a PDB file of dummy water atoms. Download includes examples.

why?

Ever have trouble generating clean surfaces of voids or pockets or channels in a protein viewer? Although molecular graphics viewers can produce sophisticated renderings of protein surfaces, it is exceedingly difficult to control the display of interior surfaces.

The problem is that in most graphic viewers, surfaces are generated on a per atom basis. However, many atoms are involved in more that one piece of surface where for instance an atom might line a channel surface but also forms part of a void. The consequence is that it is virtually impossible to remove extraneous surfaces.

How to avoid this problem? The approach taken with HOLLOW is to generate the surface from a "cast" of the protein surface. HOLLOW fills the interior spaces of a protein structure with dummy atoms defined on an overlapping grid. The surface generated by these dummy atoms can be shown to reproduce the surface of the protein at the ideal limit.

The use of the surface of the dummy atoms allows us to focus on a specific piece of the interior surface. Simply by deleting dummy atoms, the interior surface can be trimmed to produce a custom portion of the interior space.

The custom portion of the space can be used to generate interior surfaces such as this channel surface of the ammonia channel. For advanced coloring of the surface, the B-factor of the dummy atoms can be calculated as the average of the B-factor of the protein atoms surrounding the dummy atoms. This allows various colorings of the surface to be conveyed through the B-factor field of the PDB files.

The program is written in a very portable format, as a python script. Every parameter is easily adjustable as they are stored in text-based configuration files. These include the grid-spacing, probe sizes and atomic radii. The default atomic radii are take from the PYMOL package.

works with others

The volume filling representation facilitated by HOLLOW is meant to complement other programs that identify voids, pockets and channels.

For instance, SPHGEN and CASTp identify binding sites but cannot produce output that can be rendered in standard molecular graphics software. HOLLOW can be used to help render these binding pockets.

Programs such as MOLE, CAVER and HOLE, generates low-resolution surfaces of channels in a protein. SURFNET generates low-resolution surfaces of binding pockets. Given these surfaces as a starting point, HOLLOW can be used to display hi-resolution equivalents of these surfaces.

authors


Franz Gruswitz
Centre for Structures of Membrane Proteins, UCSF

Bosco Ho
Agard LAB, UCSF

examples

The interconnected pathways of myoglobin show the intricate spaces that connect the many binding sites inside the structure of this protein.

The channel surface of the ammonia channel shows the detailed features of the spaces that ammonia must pass through.