Donald Lab Graphic
Other software:

Software previously released by the Donald Lab:

Software Developed by the Donald Lab

Protein Interaction Viewer

Download PIV v1.0 | License | Contact

Welcome to the website for the Protein Interaction Viewer software.

About PIV (Protein Interaction Viewer)

The Richardson Lab has developed a suite of tools for validating protein structure that is made available through the MolProbity server. Of particular interest for visualizing protein interactions is the Probe program, which generates contact dots between protein residues that are close enough to interact with one another. The contact dots visually represent favorable van der Waals interactions, steric clashes, and hydrogen bonding. These visual aids are useful to rapidly identify both favorable interactions and problems with the protein structure, but are only natively available in a limited number of molecular visualization programs. Protein Interaction Viewer is a PyMOL plugin that allows Probe contact dots to be visualized within PyMOL, a widely-used molecular viewer.

The Protein Interaction Viewer (PIV) PyMOL plugin can carry out three main functions. First, to properly calculate molecular interactions within a protein structure the protein must be fully protonated. PIV provides easy access to the program Reduce that can either add or remove hydrogens from a PDB structure that has been loaded into PyMOL (Figure 1). Second, PIV allows the user to create and visualize contact dots for a single PyMOL selection or between two PyMOL selections (Figure 2). The dots are created as PyMOL CGO objects, one object for each type of contact (i.e. small overlap, H-bond, bad overlap, and vdW interaction). The four objects are all added to the same PyMOL group for convenience. Finally, PIV allows the user to easily rotate any side chain within the protein (Figure 3). While the user is rotating a side-chain, they can enable contact dots between that side-chain and the rest of the protein.

Fig 1. Adding and Removing Hydrogens. A) PIV user interface for adding and removing hydrogens from a protein structure. The user can select a PyMOL object from the selection box to remove or add hydrogens to that object. When adding hydrogens, by default a new PyMOL object is created containing the protonated protein structure. Instead of creating a new object, the current object can be replaced if the user checks the Replace checkbox. B) An antibody structure before and after hydrogens have been added using the PIV plugin.
Fig 2. Display Contact Dots. A) PIV user interface for creating and visualizing contact dots. Two PyMOL selections can be chosen to create the contact dots between the two selections. If the user desires to view dots within one selection, the Self checkbox can be enabled. The new contact dot object can be named using the Dots Name textbox and additional parameters can be passed to the Probe program with the Additional Parameters textbox. For visual clarity, the size of the contacts can be changed using the Dot Size and Line Size text boxes (see panel D). B) Probe dots generated by the PIV plugin for an antibody-antigen interface. C) The contacts are created in PyMOL as four separate CGO objects that are grouped for convenience. D) For visual clarity and making figures with contacts, the contact size can be changed using the PIV plugin. The dots size on the left and right is 0 and 5 respectively.
Fig 3. Rotate Side Chains. A) PIV user interface for rotating protein side chains. PIV displays the side-chain that is currently selected and the dihedral angles of the side-chain. Standard rotamers can be selected on the left and individual dihedral angles can be adjusted using the sliders on the right. By checking the Show Dots checkbox, contact dots are shown between the current side-chain and the rest of the protein. B) The arginine selected by the PIV plugin with contact dots enabled.


PIV is a PyMOL plugin and can be installed like any standard PyMOL plugin. Important: In order to use this plugin the programs Probe and Reduce must be in the user's path and be named probe and reduce respectively.

  1. From the PyMOL toolbar select Plugin-->Manage Plugins-->Install. Or for newer versions of PyMOL go to Plugin-->Plugin Manager and then select the Install New Plugin tab.
  2. Choose the PIV plugin file
  3. The plugin will show up in PyMOL menu Plugin-->ProteinInteractionViewer




Add and Remove Hydrogens

To add or remove hydrogens select the Edit H tab in PIV. Select the PyMOL object under the Selection box and use the Clear H or Add H buttons to remove or add hydrogens respectively. If no new object name is given, the new object will have the original object's appended by an "_H". If you would like to replace the current object, then check the Replace checkbox.

Load Contact Dots

To load contact dots select the Load Dots tab in PIV. Select the two PyMOL selections/objects you want to calculate dots between in the Sel1 and Sel2 combo boxes. Name the dots object, and put any additional parameters you want to send to the probe program. Click the Load Dots button to load the dots. In PyMOL the dots are grouped so that you can individually turn on and off different contacts. If you want to calculate dots between one object select that object in the Sel1 box and then mark the Self checkbox.

Rotate Side Chains

Select the Side-chain Rotator tab to rotate side-chains. To select a sidechain to rotate, ctrl+right clk on any atom in the amino acid you would like to rotate (Note PIV doesn't update until you reselect the plugin window). Listed rotamers can be selected to change the side chain to that conformation. The scrollbars on the right allow for custom changes to each chi angle (Note after adjusting a chi angle with the scroll bar, smaller changes can be done using the left and right arrow keys).

General Comments


See License