Constructing and Exploring Crystal Contacts
by Eric Martz, March 2000; revised April 2001; revised August 2001.
A resource within
Disclaimer: I am not very experienced with this, and am certainly
not an authority. There may be errors in this document, or better procedures.
Send suggestions to
If you know better methods, please tell me!
Overview: Below is a detailed procedure for
- Building crystal
contacts from a PDB file, using
DeepView (formerly called Swiss PDB Viewer).
- Selecting just the asymmetric unit plus the contacting shell
from the enormous file resulting from the previous step.
- Inserting MODEL/ENDMDL records to distinguish, for
Protein Explorer, the original
asymmetric unit from the contacting portions of adjacent
- Exploring the contacts using
All software employed is freeware.
This document assumes you have some knowledge about PDB files
and 3D macromolecular structure. If you need more background
in order to understand the procedure below, start at the tutorial
for Protein Explorer, and continue with the documentation for DeepView.
Plan to spend at least an hour or two doing this procedure on
a single PDB file.
This procedure was written for Windows. Some
keyboard shortcuts will differ for Macintosh or unix.
I. Constructing crystal contacts in SwissPDBViewer
Please send suggestions for improvement of this document
I.A. Loading your molecule
Install the SwissPDBViewer version 3.6b3. At the time of this writing,
the current version is 3.7b2, but it contains bugs in the crystal
construction routines -- do not use 3.7b2!
(The symptom is that after completion of I.C., the crystal is not
Run DeepView (hereafter referred to as DV)
Preferences, loading protein, uncheck ignore solvent, OK.
- Preferences, Electron density maps, check Draw unit cell (at bottom left), OK.
File, Open PDB to load your PDB file (which should first be
to your local disk).
Press the Ins (Insert) key to center and size the molecule.
From here on, use 2nd-4th icons at upper left of main window to zoom
and rotate at will.
Optional recommended simplification of display:
Window, Layers Infos.
In the Layers Window:
In the Control Panel, shift-click the 'side' (sidechain) column
to hide sidechains.
Uncheck O, HOH.
Make sure 'Save in original orientation' is checked on the File menu.
Save your work (recommended filename: AU.PDB, for asymmetric unit).
File, Save, Layer. (DV "Project" format is a PDB file with additional info saved
for DV.) If you run into problems later, close and reopen DV, then
load this file.
I.B. Filling out a single unit cell.
Using the layers window, toggle 'axis' on and off. Zoom till you can see
it, and you can find that X=red, Y=green, Z=blue (mnemonic RGB).
Optional: Check out the space group in the PDB file header. Click the little printed page/text icon
at the upper left, third row, to right of globe symbol. Scroll down till
the atom records begin, and notice a few lines earlier the CRYST1 record
containing the space group (for example, P 21 21 2).
Tools, build crystallographic symmetry.
The window opens with the correct symmetry group at the top ready to click.
(click on red space group, for example P21212). This adds copies of the
molecule as needed to fill out the unit cell. Each copy is in a new layer.
This operation makes all copies of the molecule needed to
fill a unit cell, but they are not necessarily all positioned within the unit
cell outlined on the screen. The following operations will ensure that
the central unit cell is filled.
Caution: some PDB files don't work properly. An example
is oxyhemoglobin 1HHO. As noted in REMARK records in this file, nonstandard
coordinates are used and these confuse DV. Inspect your unit cell carefully
to be sure none of the molecules overlap in the same space (physically
impossible). It should be possible to check for such clashes using
Select, Groups close to another layer, but I'm not sure how to do it
Use Shift-Click in the Layers Infos and Control Panel to hide everything
except the backbone trace, as we did above for the original molecule.
In the Control Panel, you select each layer (to uncheck 'side')
by clicking on the very top, where a menu of all layers will open, allowing
you to select one.
- Optional, recommended: Color, Layer. This gives each
chain a different color.
Now we need to merge all the current layers into a single layer,
save it, and
reload the merged layer.
In the control panel, use the pull-down menu of layers to select each
layer in turn. For each layer, Select, All (or Shift-Click in the left-most
column of the Control Panel). After doing this, in the
Layers window, each layer should have the same number of atoms
selected (last column).
Edit, Create merged layer from selection.
A new layer will be created named _merge_.
Using the pull-down menu at the top of the Control Panel, select
the merged layer.
File, Save, Layer. A good filename would be UC.PDB (for unit cell).
I.C. Translating and copying unit cells.
Our next goal is to rubber stamp the unit cells needed to visualize
all crystallographic contacts to the asymmetric unit. These will be
additional unit cells at all faces, edges, and vertices of the
original central unit cell.
File, Close all layers.
File, Open PDB, open your UC.PDB file.
Tools, Translate layer along unit cell.
To translate along -X (along the red axis, towards the
origin), the code for this is -00 (-X, 0Y, 0Z).
Clicking -00 will translate the current layer (not what we want).
Holding down Shift while clicking will copy the current layer
into a new translated layer.
Hold down Shift and click on each and every one of the black lines in the
translation list. Wait till the hourglass goes away, and the new
chains appear, before clicking the
Important: After each click, you should see a new layer appear in the graphic
display. (In 3.7b2 for PC, I didn't; when I went back to 3.6b3, it worked.
Evidently a bug in 3.7b2 for the PC.)
If this gets very slow, you will need to save several subsets of the
translations into separate files. For all subsets after the first one,
close the first layer (the original uc.pdb) before saving. That
avoids having extra copies of the original unit cell.
This method (clicking ALL the translations) results in a very large
PDB file (or set of files), but guarantees that you've made all the contacts.
- Save the project (or subset projects) as a PDB file,
which we'll refer to below as the CRYSTAL.PDB file (it may be quite
large, between 5 and 100 megabytes!).
II. Selecting the contact shell.
Now we need to select only the residues in a shell near the original
asymmetric unit, and save the original asymmetric unit with its
nearby shell of crystal contacts. This will typically reduce the size
of the file about 200-fold!
(For 1d66, the CRYSTAL file was
about 25 megabytes; a 5 Å shell around the original asymmetric
unit was 130K. For 1pgb, the CRYSTAL file was 5.7 megabytes, and
the 7 Å shell about 200K.)
The best way to do this is in DV. RasMol can do it for small
crystal files, but with larger ones (over 10 megabytes?), bugs
become apparent -- spurious atoms get saved in regular geometric
patterns, and the edges of the crystal remain despite the exclusion
of mid-regions. Chime can't save selected subsets of atoms at all
(see PDB Tools).
- Load CRYSTAL.PDB or one of the project files that represents a subset
- Load the original AU.PDB file as an additional layer.
- Deselect everything: Select,
Select None; Select, Extend to other layers. (Confirm that the last columns
in the Layers window are all 0.)
- Select the AU layer, and Select All. (Confirm in the layers
window that all layers have 0 selected, except the AU layer.)
- Select, Neighbors of selected aa. Check "Add to
selection", set the distance to 10. Angstroms, and check "Act
on all layers". Click OK and wait. This can take a long time!
When the selection is finished, numbers of selected residues will
appear in some of the layers in the Layers window (provided
any residues in this translated subset of unit cells were within
10 A). If you can open the Windows menu, it has finished the selection,
even if there are zero residues selected in all layers except the AU.
- If you saved subsets of the crystal, and if 0 residues were selected
outside the AU layer, there is nothing to save from this subset.
If nonzero counts appear in layers other than AU, save them:
- Select, None to deselect the AU layer (leaving the selections in all
the other layers!).
- Edit, Create merged layer from selection.
- Select the merged layer in the Layers window by clicking on its
- File, Save, Layer. Use the filename SHELL10.PDB (or suitable
names for your subsets).
- If you were able to save all of the translations in to a single
crystal file, go on to Section III. If you saved subsets of the crystal,
repeat the steps above in IIA (10 Angstrom selection and saving) for each
subset, producing a shell file for each.
- If you saved subsets of the crystal,
File, Close all layers. File, Open the 10A shell for each subset.
File, Save Project (filename SHELL10.PDB). This file should contain
the original AU plus
all of its crystal contacts.
III. Inserting model records.
Separating your SHELL file into NMR-style models will greatly assist
your exploration of the crystal contacts in Protein Explorer.
- In a text editor (Word, or Wordpad on Windows, or BBEdit on Mac)
examine the contents of your AU file, noting the atom serial
number of the last
atom in the file. (This is the first number in the last
ATOM or HETATM line in the file.)
Open the final (merged if necessary) SHELL
file in your text editor. Immediately before the CRYST1
record at the top of the file,
insert a new line "MODEL 1", being sure to put the "1" in the same
column as the element, like this:
ATOM 1 N ...
Between the line with the serial number of the original last atom,
and the next line, insert ENDMDL and MODEL 2, like this:
HETATM 461 O HOH 80 12.095 14.835 35.393 0.81 48.91
ATOM 462 N MET 1 14.122 1.978 57.372 1.00 15.93
- Just before the last line, "END", in the CRYSTAL file, insert
the line ENDMDL to end the second model. Save the model-delimited CRYSTAL file.
- Optional: You may find it useful to have the contacting piece of
each separate chain in a separate model. In this case, scan forward
watching the residue
numbers. When they decrease, it is a boundary between chains --
insert ENDMDL and a new model number.
IV. Analysing the contacts in Protein Explorer.
There are undoubtedly excellent possibilities for analysis within
DV but I'm not familiar with them. Here are my suggestions.
- If you are interested in whether a particular region of the
surface has crystal contacts, this method will help to simplify the
image. Load your shell10 file, and go to Advanced Explorer, and then to the
NMR Models control panel.
- In the slot "Always show model [ ] black", enter 1, then click
outside the slot. Now click the [Model] button to click through all models,
noting which models are close to the region of interest.
- Enter 1 plus numbers of other models of interest in the "Model list" slot,
and press the [All] button. This shows only the listed models.
- You may wish to delete unwanted models from your SHELL file. If you
do, renumber the remaining models to be consecutive.
You may find this file useful in the next step below.
- A very informative overview is possible with the Contact Surfaces
mechanism in PE's QuickViews.
Load your SHELL file and go to QuickViews.
SELECT All (or, to exclude solvent, SELECT Chains).
Scroll the top control frame down to QuickViews Plus, and
check Include all models in contact surfaces. Now,
The Contact Surfaces options in the middle frame enable a wide variety
- A more detailed, bond-by-bond analysis is possible using your
SHELL file in the
Bond Finder, accessed in Advanced Explorer. Again, the trick is to
select model=1 before starting the Finder.
Alternatively, if you are interested in only a specific region
of model 1, select that before starting the Finder.