ResDe is a suite of programs designed to assist crystallographers in defining user defined hydrogen bond distance restraints, which can be helpful when refining low-resolution structures. ResDe is implemented in Python and uses the PyMOL and Tk graphical interfaces.
The ResDe suite consists of four tools designed to create, edit, and manage user defined hydrogen bond restraints. Restraint Define and Restraint Checker use the PyMOL graphical interface while Restraint Compare and Modify PDB are stand-alone programs using Tk.
The ResDe Suite
Restraint Definer is a PyMOL plugin; after installation the user can access this tool by simply using the plugin menu in PyMOL. The user will first use PyMOL to open the pdb file that they would like to restrain. Upon running Restraint Definer (via the Plugin menu), the program is in ‘Single Restraint’ mode. In this mode the user can define single restraints by simply clicking on the two atoms to be restrained. This will cause a dotted line to form between the two atoms (this is simply a variation of PyMOL's measurement tool). The user can change to ‘Define Helix’ mode using the blue button in the Restraint Definer menu within PyMOL (see figure). In this mode the user can define all hydrogen bond restraints in a canonical alpha helix by clicking consecutively on the two terminal residues of the helix. The user can remove recently created restraints using several different ‘Remove’ buttons in the Restraint Definer menu (see figure).
As restraints are added, a new collapsible object menu will appear in PyMOL called 'Restraints.' This menu contains all restraints that have been defined by the user. Restraints can be removed by deleting the restraint object (the dotted line) under the Restraints menu (see figure). The objects are named using the residue numbers and atom names of the two atoms that are restrained. This restraint objects are listed in numerical order for simple navigation.
After defining restraints the user can save the restraints to a restraint definition file by clicking on the 'Save Restraint Definitions' button in the Restraint Definer menu. This restraint definition file is ready to be used in a structure refinement using Phenix or Refmac. If the user doesn’t complete defining restraints in one session the restraint definitions can be saved to a restraint definition file and then brought up later (using Restraint Checker). More restraints can be added by running Restraint Definer again.
Restraint Definer is a PyMOL plugin; after installation the user can access this tool by simply using the plugin menu in PyMOL. The user will first use PyMOL to open the pdb file that they would like to display their restraints on. Upon running Restraint Checker (via the Plugin menu), the user will be asked to open the restraint file that they want to display. The user is then asked to choose the object on which to display the restraints (this is essential for the program and is useful if there is more than one object open in PyMol). Like Restraint Definer, a dotted line will appear between each pair of atoms that have been restrained. Also like Restraint Definer, the collapsible object menu called 'Restraints' will appear where all restraint objects are listed.
This tool is useful if the user has a restraint definition file that they would like modify in some way. To make modifications the user will use Restraint Checker to bring up previously defined restraints and then use Restraint Definer to make the desired modifications. For example, the user may have a restraint definition file that they would like to add more restraints to. If the user wants to eliminate a previously defined restraint, they can remove the restraint by identifying and deleting the restraint object in the 'Restraint' object menu. After the modifications have been made the user can save the restraint definition file.
NOTE: If the user has previously defined restraints on their structure and then runs Restraint Definer, the previously defined restraints will turn red while all newly defined restraints will be yellow.
Restraint Compare is a stand-alone program that is run by simply opening the program or running it from the command line. There are special requirements depending on the platform that you are using (see installation instructions). Upon running Restraint Compare the user will be asked to open two different restraint definition files. The user is then asked to confirm that they have opened the correct files. They are given the option to change the file if needed. The two files are referred to as 'File1' and 'File2.' The user then can view the differences, which will come up in a separate window with the option to save the differences. This differences file can be brought up in any text editor.
Modify PDB is a stand-alone program that is run by simply opening the program or running it from the command line. There are special requirements depending on the platform that you are using (see installation instructions). Upon running Modify PDB the user will be asked to open the PDB file that was used to create the original restraint definition file. The user can then modify the PDB by either offsetting residue numbers or changing chain IDs.
When offsetting residue numbers the user will be asked to provide the chain ID and the region of residues numbers that they wish to modify. They will also be asked to provide the number by which to offset the region by; the number can be either positive or negative.
When changing chain IDs the user will be asked to provide the chain ID and the region of residues numbers that they wish to modify. They will also be asked to provide the new chain ID.
The user can save a new PDB with the changes that they have made by selecting 'Save PDB Changes.'
To apply these changes to an existing restraint definition file the user will click 'Apply' and be asked to open the restraint definition file. The user then is asked to save the new restraint definition file.