The ``Alter'' menu contains sub-menus for altering the display
characteristics of many of spock's objects.
Sets the display characteristics for displayed bonds. For the purposes of
coloring, each atom ``owns'' half of the bond, so the bond color will
change halfway between the connected atoms to the new atom's bond color
(settable via the bc command, §5.2.1, §
5.2.1). Both the primary and secondary bond drawing
mode are controlled by this menu. (Bonds with a negative color are
rendered in the secondary bond mode see §5.2.1).
This menu controls the display characteristics of atoms. For speed, the
default mode for atoms is a flat representation. This can be changed to a
more traditional representation. The resolution can be changed via the
``Sphere Resolution Entry'' option. However, when the molecule is
actively being rotated or translated, the resolution for most modes
temporarily drops down to a level consistent with fast drawing. In all
cases, the radius of the atomic representation is taken from the atomic
radius and may be changed via the set radius= command (§
- Lines: simple lines connecting the bonded atoms.
- Cylinders: cylinders connecting the bonded atoms.
This displays faster than the capped cylinders.
- Capped Cylinders: cylinders connecting the bonded
atoms, with rounded caps on the ends.
- Sticks: A four-sided representation of the bond. This
helps to give a sense of perspective, and is faster than the
- Ball and Stick: cylinders connecting atoms, with
spheres at the atom positions. The spheres are twice the bond
- Ball to stick ratio: When displaying bonds in
ball-and-stick mode, this parameter determines the ratio of the
ball size to the stick size.
- Radius Entry: Requests the radius of the cylinders
(and width of the sticks) to be used. Be warned: unlike the
Control Panel (§6.1.8), there is no maximum
radius here. Caveat ussor.
- Thick line bonds: By default line bonds are one pixel
wide. Toggling this option makes them two pixels wide.
- No hydrogen: This option toggles inclusion of hydrogen
atoms in bonds. If it is turned on, bonds to or from hydrogen
atoms are not drawn. This makes it easier for many people to look
at structures which have hydrogen atoms. The difference between
this command and a bc=0,element=1 command is that that
command would only hide bonds from hydrogens. There would
still be a half-bond to the hydrogen with that command.
- No half bonds: Turning on this option disables
half-bond representations entirely. Recall a colored atom is
bonded to an atom with bc=0, by default there is a half-bond
to the non-colored atom. This option turns off half bonds.
- Edit Bond Material: A short cut to the bond material
editor. See §6.11.4.
This menu controls the display of the ``worm'' backbone representations.
By default, worms are built for all molecules, through the CA's of
proteins and the phosphorus atoms of nucleic acids. If you wish to add
additional worms, however, you may do so. Note that worm types other than
Tubular and Variable Radius expect all backbone atoms. Attempting to use
other worm types with CA-only structures will result on a Tubular worm.
- Solid Spheres: A solid spherical representation.
- Line Spheres: A wire-frame spherical representation.
This is very slow to draw on most hardware, and should probably
not be during active manipulation of the view.
- Point Spheres: A ``dot'' representation of the sphere.
The dot density may be changed via the ``Sphere Resolution''.
- Circles: The default ``flat'' representation.
Obviously, this one's for speed, not for looks.
- Texture-mapped: This representation looks
3-dimensional, but is actually not. A single image of a sphere is
read in and used as a texture map which is applied to all atoms.
The appearance is much better than the flat circles, and the
performance is much better than solid spheres on hardware with
accelerated texture-mapping. This is a nice compromise between
the solid and flat representations. For presentation graphics you
should still use the solid spheres.
- T-Mesh Spheres: This is a toggle for the rendering
style of spheres. Using this representation may take slightly
longer than the to calculate initially, but later redraws are much
faster, so this on by default.
- Sphere Resolution Entry: Sets the resolution of the
sphere. The maximum value is hardware-dependent. The higher the
resolution, smoother the appearance of the sphere, and
consequently the more time it takes to draw. This parameter is
also accessible via the Control Panel (§6.1.8).
- Edit Atom Material: A short cut to the atom material
editor. See §6.11.4.
For nucleic acids, the worm type defaults to rectangular, and the
``rectangular helix'' properties defined below are used. Also note that
if your nucleic acid structure has non-standard bases in it
(e.g. inosine), that the default definition will skip those bases. You
may change the definition under the ``Build worm'' menu option to
a=_P__, which should ignore the residue type.
This menu controls the display of CA trace backbone representation. CA
traces all have the same color, unless the cac=n command has been
issued, which colors CA traces sequentially or the cac=b[ond] or
cac=a[tom] commands have been issued, which colors the CA trace
according to the bond or atom color properties, respectively. The menu
options are as follows:
- Build Worm: This allows the user to provide a
selection string which will be used to build a new worm. The user
is first asked if they wish to keep the old worms. Answering
``yes'' will cause the new definition to be appended to the
previous list of worms. A ``no'' response will overwrite all
previously defined worms. For details on how to provide a
selection string, see §5.3. The initial selection
string is ``
- Tubular: This type of worm is has a circular cross
section, which is perpendicular to the direction of travel of the
- Oval: This type of worm is has a oval cross section,
which is perpendicular to the direction of travel of the chain,
oriented so that the long axis of the ellipse is in the plane of
the peptide bonds.
- Rectangular: This type of worm has a rectangular cross
section, oriented so that the plane of the rectangles matches the
plane of the peptide bonds. For DNA and RNA, the results are
undefined. Note that there is a shadow color for the narrow edges
of the rectangles, this color can be changed as described in §
- Stranded: This produces a ribbon of five simple lines.
Again the orientation of this ribbon is through the plane of the
- Secondary structure: This is the most informative of
the representations. Helical residues are represented by wide
regions with an elliptical cross section, and sheets are
represented by rectangular regions with arrow heads at the C
terminal end. Coils and turns are both represented by thin
tubular regions. The determination of what residues belong to
what secondary structural type is taken from the ``
structure'' atomic property, and may be changed via the ``
set structure'' command described in §
5.2.4, or may be automatically assigned from
DSSP output as described in §6.1.1 and
NOTE: if the structure ends in a -strand ordinarily the
arrowhead would look truncated, because the two terminal sections
of a worm are only half as long as the rest. As this looks odd, I
have decided that in this special case, the arrow head will
actually be made up of parts of two amino acids. A
necessary side effect of this is that if the arrowhead residue and
the residue immediately N-terminal to it are not the same color,
the arrow head will be two different colors. If you don't like
the way this looks, you must color both terminal residues the same
- Variable Radius: This worm also has a circular cross
section. However, the width of the worm is taken from one of the
atomic property arrays (ap2 or the atomic B-factor by default).
The widths are normalized so that the segment with the highest
value is twice the normal worm radius, and the segment with the
lowest value is one tenth the normal radius.
- Thin ribbon: This representation is much like the
stranded representation above, except that it consists of filled
polygons. This ribbon is a good compromise between appearance and
speed, as it has the speed of the stranded ribbon, and a good
appearance. This ribbon is also ideal for exporting to VRML (§
6.1.2), as it consumes the fewest resources of all
the representations. This representation turns on the ``Tie
Faces'' option for worms (§6.11.5).
- Edit worm parameters: This option pops up a dialog box
where you can edit the parameters used in the construction of the
worms. These parameters give the user a large degree of control
over the appearance of worms, particularly the secondary structure
- Lengthwise resolution: the number of worm
segments per residue. By default, it is 4 for all worms
except rectangular (20), and secondary structure (10).
For the rectangular and secondary structure worms, the
defaults are minimum values.
- Crosswise Resolution: the number of vertices
in a cross section of the worm, 10 by default.
- Strand smoothing steps: the number of times to
smooth the CA coordinates when drawing strands in the
secondary structure drawing mode. If you want the stands
to follow the oscillations of the CA's, set this to 0.
- Gap Distance: the maximum allowable gap before
a break will be inserted in the worm. The default (around
8 Ångstroms) is appropriate for normal proteins and
most DNA. Some RNA structures may require a higher
- Base width/radius: This is the width of the
worm in Ångstroms. Actually it's the half-width, but
who's counting? For variable width worms, this serves as
the radius of a worm segment that's halfway between the
maximum and minimum values.
- Standard height factor: For ``oriented'' worms
which are wider in the plane of the peptide bond, this
factor is multiplied by the base width to get the height
of the cross section. Only the round and variable radius
worm styles are not ``oriented''.
- Standard width factor: As above, this factor
is multiplied by the base width to get the width of the
- Helix height/width factors: These are height
and width factors (like the standard ones above) that are
applied only to helices in the secondary structure
representation, and to DNA/RNA worms.
- Coil radius factor: The multiplication factor
for the coil/turn regions of a secondary structure worm.
- Arrow base width: This is multiplied by the
base radius to form the bottom of arrowheads on strands in
the secondary structure worms.
- Arrow tip width: This is multiplied by the
base radius to form the top of arrowheads on strands in
the secondary structure worms.
- Cardinal spline tightness: This parameter is
used in the calculation of the cardinal spline. It should
range from 0.0 to 1.0 with 1.0 producing more rounded
splines and 0.0 producing very angular splines. The
default is 0.5. For more rounded looking helices, try
0.75. If you adjust this parameter, you may also wish to
increase the lengthwise resolution to at least 6. Note
that this parameter does not affect beta splines.
- Set Width to Property: This option is used with the
``Variable Width'' type of worm. Spock displays a pop-up menu to
ask which property the user wishes to be represented as the worm's
width. The maximum value of this property is set to twice the
worm width parameter, and the minimum value is set to 10% of the
width parameter. All other values are linearly interpolated
between the two extrema.
- Use Worm Shadows: This option toggles the use of a
different color for the narrow edges of rectangular and secondary
structure worms. The details of the worm shadow color are
explained in §5.2.1.
- Rectangular helices: This toggle controls the cross
section of helices in a secondary structure worm. If it's off
(default) the cross section is an oval. Turn this on to get
rectangular helix cross sections.
- Rectangluar DNA/RNA: This toggle controls the
appearance of nucleic acid backbone representations. When on, all
nucleic acids are drawn with a rectangular backbone. When off,
the style for these backbone representations is the same as the
primary worm style.
- Beta spline: This option uses a beta spline for the
basis of the worm. Beta splines are smooth, but do not
necessarily pass through all the CA coordinates.
- Cardinal spline: This option will use a cardinal
spline instead for the worm basis. Cardinal splines may not look
as smooth as a beta spline, but the spline will pass through all
the CA positions. The appearance of the cardinal splines may also
be affected by the tightness factor found in the ``Edit worm
parameters'' menu option above. Note that in secondary structure
drawing mode, strands may not pass through the CA positions
because of strand smoothing. If you wish, you may set the strand
smoothing steps to 0 in the ``Edit worm parameters'' dialog. A
cardinal spline with strand smoothing set to 0 will insure that
the worm passes through all CA's.
- Solid: This option is the default which is a worm
consisting of filled polygons.
- Mesh: This option causes spock to draw the worm as a
wire frame model. Note that worm segments with a ``negative''
color are always displayed as wire-frame meshes §
- Edit Worm Material: A short cut to the worm material
editor. See §6.11.4.
This menu is the main interface to the surfacing routines. Spock can
create and display both molecular and accessible surfaces for molecules.
Note that unlike worms, there is no default definition for surfaces, so
surfaces must be defined before they can be displayed.
- Cylinder: Display as cylinders.
Display as lines.
- Line width: Set the width for the
line display mode. The cylinder display mode uses the bond width
parameter as the width.
- Edit CA Trace Material: A
short cut to the CA trace material editor. See §
Spock now has a simple constructive solid geometry (CSG) feature. CSG is
the process by which complex shapes can be made by the union, intersection
and subtraction of simpler primitives. This is implemented in spock
primarily to facilitate molecular modeling/docking/drug design, etc. with
molecular surfaces. The most heavily used mode is expected to be the
intersection mode, where only the parts of surfaces that overlap with
another surface are drawn. Other modes (difference and union) are also
available, but are less useful for molecular modeling. To give a brief
example of how CSG could be useful, consider looking at a dimer interface,
or the interaction between an enzyme and a postulated substrate analog.
Traditional ways to tell if and/or where these surfaces overlap would be
looking at distance calculations, or by eyeballing the surfaces. Since
the surfaces may be quite complicated, detecting overlap this way is
sometimes difficult, and distance calculation results are also complicated
to interpret. With constructive solid geometry, you simply build one
surface for the enzyme and one for the substrate (or one for each monomer
in the dimer). Enter into CSG mode, select surface 1 (s=1) for set
A and surface 2 (s=2) for set B, and then select ``A u B'' (A union
B) from the CSG menu. The only part of the surface that would then be
rendered is the region where the two surfaces overlap. If no surface is
drawn, there is no overlap.
- Build Molecular Surface: This option will prompt for a
selection string (See §5.3) specifying which atoms
are to be included in the surface calculation, and a grid
resolution which determines how accurate the surface is. There is
no upper limit on the grid resolution, but be prepared to wait if
you choose higher than the default 65. The molecular surface is
defined as the boundary of the surface you would get if you rolled
a water molecule along the atomic surface. The probe water radius
may be changed via the ``Probe radius'' option of this menu.
- Build Accessible Surface: This option also prompts for
a selection string, and grid resolution but the accessible surface
is built instead. The accessible surface is defined the path
traced out by the center of the water molecules described above
for the molecular surface, or alternately the outer surface of the
included atoms, where each atom's radius is expanded by the radius
of a water molecule (1.4 Ångstroms by default). The probe
water radius may be changed via the ``Probe radius'' option of
- Find connectivity: This option can only be used after
a surface has been built. It will generate subsets for each
independent (non-connected) surface. These subsets will be called
either mainN or cavN (where N is an integer) depending
on if it's an convex outer surface or a concave inner cavity,
respectively. The name, volume, and surface area of each cavity
will be written to the textport for each subset. The system macro
Color_surface_subsets may be used to color each of the
subsets generated from this routine with a different color.
- Probe Radius: This option prompts
for the value to use for the probe water radius for the surfacing
routines. There is only one probe radius in spock, although as a
convenience, it may be set from several locations, including the
Surface Area menu §6.6.3.
- Solid: This option indicates that surfaces are to be
drawn with filled polygons, creating a solid appearance.
- Mesh: This option indicates that surfaces should be
drawn with a hollow wire-frame representation.
- Transparent: Draw the surface transparently. The
degree of opacity may be changed via the material editor (§
6.11.4). In my (subjective) opinion, transparent
surfaces look better if you turn off the fog material property by
setting the Fog start and Fog end parameters to the same value in
the material editor.
- Mixed solid/transparent: This mode allows solid and
transparent surfaces to be drawn together. Vertices with colors
greater than 50 are drawn transparently, while colors 50 and below
are opaque. This only applies if ``Nice transparency'' is turned
on in the graphics menu §6.11.
- Show top surface only: This option only affects the
transparent surfaces when ``Nice transparency'' is turned on in
the graphics menu. It toggles between showing only the top
surface of a transparent object and showing all layers.
- Reduce when building: This toggles a routine which
will eliminate small triangles when building a surface. This is
generally not needed for molecular and accessible surfaces, but it
improves the appearance of isopotential contours.
- Cap clipped surfaces: This option determines if
surfaces that are clipped via an auxiliary clipping plane (§
6.11.4) should be capped or not. Having a cap makes the
surface appear to be solid instead of hollow, and may help to
eliminate unnecessary clutter from an image. The color of this
cap may be set via the cc=n command, where n is a
- Resmooth surface: This option will re-run the surface
smoothing algorithm on all currently defined surfaces, which may
improve the appearance, but will result in some loss of detail.
This loss of detail can actually be quite helpful, as molecular
and accessible surfaces are often complicated constructs, and
multiple smoothing passes will filter out unnecessary details,
leaving the key features intact. This may be used to locate
binding pockets in some cases, as demonstrated in the tutorial in
- Swap front/back faces: Normally, surfaces are
displayed with the outside colored normally, and the inside
colored with the back face color (§6.11.4,
6.11.5). Using this option, you can invert this, so that
the inside face is colored. Alternately, you may color both
faces with the same color, see §6.11.5.
- Edit Surface Material: A short cut to the surface
material editor. See §6.11.4.
The menu options are:
- New sets: Enter new surface subset selections. In the
simplest cases the sets are simply s=1 and s=2, for
the entire first and second surface, but other surface selections are
- CSG mode: This must be toggled on for the CSG mode to
be active. If off, the surfaces are rendered normally.
- A only/B only: Show only the A surface set or the B
set, where A and B are the sets defined in the ``New sets'' option.
- A u B: A union B. Show both set A and set B.
- A n B: A intersection B. Show only the parts of A
that are also in B.
- A - B: Show the parts of A that are not in B.
- A - B: Show the parts of B that are not in A.
Caveats for using CSG:
Spock can calculate and display two-and three dimensional contour lines
and surfaces of electrostatic potential. The menu options are as follows:
- This is a simple-minded implementation of CSG, which doesn't
handle surfaces which have multiple concavities along the line of sight
very well. There are more robust CSG algorithms available. If you're a
programmer and are interested in implementing a more robust algorithm,
please get in touch with us.
- The CSG algorithm corrupts the depth buffer. You should only have
surfaces turned on in the display menu when using CSG. Otherwise, the
surfaces may appear to be on top of objects which they should actually be
behind. Again, a more robust CSG algorithm could potentially fix this
- CSG uses the stencil planes, and so do transparent surfaces.
Therefore CSG should not be used with transparent surfaces or mesh
surfaces. Only solid surfaces are supported in CSG mode.
- Since they both use stencil planes, CSG mode overrides the ``Cap
clipped surface'' setting, and disables it.
Spock can read and write XPLOR-format electron density map files, and
display the electron density in several formats. Spock may also be used
to perform user-defined calculations on density maps via the command line
calculator, or the Properties math menu (§5.5,
6.6.2). Spock has eight slots for electron density
maps, called rather imaginatively, Map 1 through Map 8. Spock can also
display up to eight contours of any of the 8 maps (more, actually with the
3D contour object option discussed below). The maps need not come from
the same file or have the same dimensions, or even be for the same
protein--they are totally independent. For each of the eight contours
you must specify which of the eight maps is to be contoured--contour 1
can be any map, not just map 1. Spock also supports the notion of a
current map. Read and write operations apply to the current map only, and
the current map is the default when an new contour is created. To read in
a second map into the Map 2 slot, the current map needs to be set to Map 2
with this menu, and then the file may be read via the read= command
or via the menus.
- Add 3D Contour: This will prompt for a contour level,
which is the threshold value to use for the contouring. It will
also prompt for a color number to use for the surface. A 3D
surface will be calculated.
- Change 3D Contour Color: This option will pop up a
menu of currently defined contours, and allow the user to select
one. If a valid contour is selected, the user will also be
prompted for a new color to use for the contour. Like all objects
in spock, contours given a color of zero will not be displayed.
- Delete 3D Contour(s): This option will pop-up a menu
of the currently defined contours, and allow the user to select
one to delete. There's also a ``Delete all'' option. These
contours will then be deleted, and their memory reclaimed.
- Add 2D Contour, Change 2D Contour Color, Delete 2D
Contour(s): These options are identical in function to their 3D
counterparts. Spock displays 2D contours on a movable plane
parallel to the screen. The position of this plane along the
screen Z axis (into and out of the screen) may be changed via the
Clipping Tool §6.11.4. Unlike their 3D counterparts, 2D
contours are calculated interactively, and change as the molecule
rotates. Since they're recalculated each time the scene is drawn,
they slow performance slightly, but they do not take appreciable
- Display modes, Solid, Transparent, Mesh: The display
modes control the visual appearance of the 3D contours. Solid
contours are rendered with filled polygons, transparent contours
are stippled, and mesh contours are draw with a wire-frame. The
degree of opacity for transparent surfaces may be changed using
the material editor, §6.11.4.
Unlike molecular and accessible surfaces, the solid and
transparent modes are not global, but are applied only to an
individual contour 1) when a new contour is created, 2) the color
of an existing contour is changed or 3) when a contour is
smoothed. The mesh mode, however, is applied globally and
- Edit Contour Material: This option is a shortcut to
the material editor §6.11.4.
- Build Consensus Surface Contour: This item is useful
for determining the area two accessible surfaces have in common.
This option will prompt for two selection strings (set 1 and set
2) and then construct an accessible surface for each selection.
Finally, a contour will be constructed around the area the two
surfaces have in common. This option does not affect any of the
user-defined surfaces, but it does overwrite the charge map, if
- Build Difference Surface Contour: This item is similar
to the Consensus Contour option, except in this case the final
contour shows the areas where two surfaces differ. This is quite
useful for homing in on those areas where two similar structures
- Show top surface only: This option only affects the
transparent contours when ``Nice transparency'' is turned on in
the graphics menu. It toggles between showing only the top
surface of a transparent object and showing all layers.
- Reduce when building: This toggles a reduction
algorithm that saves memory and improves the appearance of 3D
contours. It should normally be left on, but there's a slight
speed improvement from toggling it off.
- Smooth contour: This option will apply a
nearest-neighbor smoothing algorithm to the contour. Users are
prompted for the number of times to apply the smoothing, and then
presented with a menu of currently defined contours, from which
the desired contour may be chosen. No smoothing of contours is
done when they are created. As with molecular and accessible
surfaces, a few rounds of smoothing will result in a decrease in
the complexity of the contour.
These menu options toggle the display of
the contours. When turning on a contour the user is asked to set or
verify the contour's parameters. The parameters are:
This option will cause the displayed contours to
re-created. If the contents of the underlying maps have changed (by reading
a new map, doing a calculation), this can redraw the contours based on the
- Which map: This should be 1 or 2, depending on which
map you wish to contour. The default is the current map, or the
previous map for the contour.
- Contour level: Where the map should be contoured,
usually 1.0 for XPLOR maps.
- Color: The color to use for this contour, blue (4) is
- Center on atoms / X, Y, Z: If the default of
none is overridden, the contour will be build centered on the
atoms specified for this option. You may wish to enter all
for this filed to center on the entire structure. If the center
on atoms field is left as none, the contour will be centered
on the XYZ vector provided (in orthogonal Ångstrom
coordinates). The default XYZ coordinates are the coordinates of
the last picked atom, unless the last picked object wasn't an
atom, in which case the XYZ coordinates of the center of rotation
are used instead. This is designed to make it easy to manipulate
density contours if you've torn off the Alter density
menu. Simply pick an atom, and toggle the density contour on and
off, and the new contour will be centered over the atom you picked.
Finally, you may wish to enter picked here, and the map will
be centered on the last picked atom. See the Tutorial
8.8 for a great use for this.
- Length: The length of a side of the contour, in
This will create a 3D contour of the electron density map with the
specified options, using the same algorithm (marching cubes) used for the
``3D contours'' menu options, which is generally applied to the
electrostatic potential maps. After this contour is created, it is under
the control of the Alter contours menu, §6.4.6. Users may
want to create this type of contour if (heaven forbid!) they want to show
more than eight maps at a time. A much cooler use of this is to create
the contour and then make it transparent with the Alter contours menu. Be
the envy of other crystallographers! Show your density maps as
translucent solids! For an even cooler look, go back and contour with the
same parameters as a normal electron density map overlaid on the
This sets the current map for read/write
operations to the specified slot.
Density maps may take large amounts of memory. In order to free this
memory for other uses, you may wish to explicitly delete the map. You do
not need to retain a copy of the map after it has been contoured, unless
you wish to re-contour it at a different time.
This option will delete all 8 maps.
This option will copy the current map into the specified slot number.
Spock can create density mask maps from atomic data. These maps are
binary in nature, in that they have density values of 1 or 0. A positive
mask has a density of 1 within the Van der Waal's radius of an atom (plus
an offset), and 0 elsewhere. Negative masks are the reverse--0 within
atoms, and 1 elsewhere. Density masks may be used for a variety of
purposes. Some simple examples are to use masks to clean up a real
electron density map for presentation purposes, to show where atoms may be
missing in a model, and to create/manipulate masks for solvent flattening
when attempting to solve a crystal structure.
If a real electron density map has already been read in, the created mask
has the same dimensions and parameters as the real map, otherwise, a new
map is allocated with dimensions that will just cover the currently
defined atoms. Newly allocated maps are created in orthogonal
Ångstrom coordinates. In either case, spock prompts for the radius
expansion factor, which is the value to be added to the Van der Waal's
radius of each atom. For instance, if you want a mask of the space that's
within 5 Ångstroms of an atom, enter 5.0 here. The mask is created
and stored in the next slot number (1-8) after the current map. If this
would overwrite an existing map, you're asked to verify the operation.
This option converts the current map
containing continuous density values to a discrete binary representation,
where density greater than the specified threshold is mapped to 1, and
density less than the threshold is mapped to 0. The new map is created in
the next slot number. For example, if the current map is map 1, the new
map will be created in slot two.
This option converts a map containing
continuous density values to a discrete binary representation, where
density greater than the specified threshold is mapped to 0, and density
less than the threshold is mapped to 1. The new map is created in
the next slot number. For example, if the current map is map 1, the new
map will be created in slot two.
Spock can also create a pseudo-density map. These maps are generated from
atomic data and have electron density centered in a Gaussian distribution
about atomic centers, such that the density at a distance of 1 atomic
radius is 1.0. In many respects, these pseudo-density maps work like the
masks just described, in that if there's an existing density map defined,
the new map will have the same dimensions, otherwise a new one that covers
the atoms is created in orthogonal Ångstrom space.
This option will orthogonalize the current
map, creating a new map with 90 degree angles and 1 Å grid spacing in
the next slot.
This toggles between single and double width lines
in density maps.
Spock can calculate the axis of any helices in the protein or DNA molecule
loaded, and display the axis in the graphics window as a cylinder. The
helix definitions are taken from 1) the PDB file's HELIX records, if
present 2) from a DSSP file, see §6.1.1 or 3) secondary
structure assignments made via the set structure command or the
secondary structure editor (§6.7.6). (Helix definitions for
nucleic acids must be via the third method, as they are not included in
HELIX records of PDB files, and DSSP will not assign nucleic acids.)
Spock uses any of 5 different methods to find the helical axis. These
methods are all explained in detail in reference . After the
axes are calculated, summary information for each helix is written to the
textport, including: the axis vector, the initial point, and the final
point of the displayed axis.
Spock can also calculate the axis of individual strands of Beta sheets, by
the same methods as for helices (§6.4.8). Since strands
are highly non-linear, these results are often not as good as those
produced for helices. Often, ``Parlsq'' or ``Eigenfit'' produce better
results for sheets. All of the menu options are the same as described
above for helices.
This menu controls the options for the DNA ``spokes'' representation of
base pairs. The ``Edit color assignment'' option puts up a menu where you
may choose which colors are used for each type of base representation.
The ``Edit DNA material'' option is a shortcut to the Material properties
editor, see §6.11.4.
This menu controls the appearance of atom labels and annotations. A
``label'' refers to a string of characters attached to an atom that rotate
with the molecule. An ``annotation'' is a text string that is
independently positioned on the screen and does not rotate when the
molecule is rotated. Annotations are positioned via the mouse in the
``Move Annotation'' mode (§6.9.3). There are two types of
labels for atoms, ``Standard'' and ``Custom''. Each atom can have either
a standard or a custom label. A standard label is derived from the atom's
name and residue in some pre-determined way. A custom label is entered by
the user, and may or may not contain the same information as a standard
label would. All custom labels will be in a single font and all standard
labels will be in a single font, which need not be the same as the font
for the custom labels. However, each annotation may be in a
different font. See §6.9.3 for information on editing
labels to create custom labels.
- Build: This option tells spock
to calculate the helical axis for the currently defined set of
helices. This option must be selected before any helices will be
- Kahn method: This option tells spock to fit helices
with the Kahn algorithm . Briefly, in this method,
points which lie on the axis are found by vector algebra. The
angle between three consecutive (evenly-spaced) atoms is bisected,
resulting in a vector , that points towards and is
perpendicular to the helix axis. Repetition of this process with
a different set of atoms gives a second perpendicular to the helix
axis (). As and are both
perpendicular to the helix axis, the cross product gives the direction vector of the axis, this process is
repeated for all sets of three CA's in the helix and the results
- Åqvist method: Åqvist's method 
fits the atom coordinates to a cylinder by minimizing the root
mean square deviation of the distance from each atom to the axis,
where the distance to the axis is a function of 6 variables, 3 for
the position vector and 3 for the direction vector. This method
requires a minimum of 5 residues for protein helices and 12
residues for DNA helices.
- Rotfit method: This method  maps the
helix (H) to an identical copy of itself (H'), but one atom
out of register, so that atom i+1 of the first helix is
mapped to atom i of the second helix. These two helices are
then superimposed by the method of quaternions . The
axis of rotation necessary to superimpose H and H' is the
- Parlsq method: This is the ``Parametric Least
Squares'' method . If the atoms in a helix are
numbered sequentially (call the sequence number t), starting
with zero for the first atom, three-dimensional linear
least-squares fitting can be accomplished by taking advantage of
t in order to parameterize the line containing the axis vector,
if the atoms are evenly-spaced along the helix direction
vector. In general, any line in three-dimensional Cartesian
space may be represented by the equation: where is the vector representing the
line, and are the position and direction
vectors, respectively, and t is the parameter. The vectors in
this form of the equation may be decomposed into their component
vectors, essentially projecting the line onto the tx, ty, and
tz planes. The equations are:
Each equation is now in the standard form for a line in two
dimensions (r = p + td), and the three lines can be fit
individually by a standard least-squares procedure. The helix
axis is then .
- Eigenfit method: This method finds the helical axis by the
Eigenvector method. After the data set is translated so that the
center-of-mass is at the origin (O), a least-squares matrix M
is constructed such that:
where ) are the coordinates of atom i. The
eigenvector of this matrix with the highest eigenvalue is an
approximation of the helical direction vector . Note that
unlike the parlsq method, eigenfit does not require the data to be
evenly spaced along the direction vector. Both the parlsq and
eigenfit methods simply find the best-fit line through the data,
as opposed to finding the true helix axis. This line better
approximates the helix axis as the length of the helix increases.
At shorter helix lengths, the accuracy of the approximation
depends on the number of turns; helices with non-integral numbers
of turns may skew the results. This effect is attenuated with
- Circular positioning: Each of the methods spock uses
to determine the helical axis also determines the position vectors
used to display the axis on screen. However, for some methods the
axis may not lie in the center of the helix. The circular
positioning implements an additional fit, where the atoms in the
helix are projected onto a plane perpendicular to the axis. The
center of the best-fit circle through these points is then used to
re-calculate the position vectors.
- Rounded cylinder ends: This option toggles round vs.
flat ends for the helix cylinders.
- Alter radius: This option prompts for the radius to
use for the cylinder representations of the axis. Unlike the
Control Panel (§6.1.8), there is no maximum
radius here. Caveat ussor.
- Secondary structure editor:
This option, described in §6.7.6, allows interactive
re-definition of the helices.
- Edit Helix Material: A short cut to the Helix material
editor. See §6.11.4.
An ``interaction'' is simply a relationship between two atoms with an
associated strength or magnitude. Spock has two types of interactions,
``distance'' and ``intensity'' interactions. A distance interaction, as
the name implies, is simply the distance between two atoms. Distance
interactions are usually displayed by a dotted line, or a series or
spheres between the atoms in question with a label indicating the
distance. Intensity interactions, on the other hand, require some
external value for the strength of the interaction. Intensity
interactions are generally displayed as cylinders, where the radius of the
cylinder is proportional to the strength of the interaction, and they
usually do not have labels. Salt bridges specified by CONECT records in
PDB files are treated as interactions with an intensity of 1.0.
Interactions may also be created interactively via the Picking menu §
6.9, or they may be read from an external file §
6.1.1. The menu options are as follows:
- Custom: Pops up a font selection box for the custom
labels. The font selection box consists of a scrollable list of
the available fonts (which will be system-dependent), a slider to
set the size, a sample window, and two buttons ``Apply'' and
``Dismiss''. Fonts are selected from the list and may be sized
via the slider. The sample window will display a label in the
current font and size. The font information is not passed back to
the main window until and unless ``Apply'' is selected. Pressing
``Dismiss'' removes the font selection box.
- Standard: Selects the font for the Standard labels as
- Annotation:Selects the font for the current annotation
as above. This font will apply to any newly created annotations.
If there is a current annotation highlighted (via the ``Edit
label/annotation'' or ``Move annotation'' options of the Picking
menu §6.9), the font will also apply to the highlighted
annotation. In this manner it's possible for different
annotations to be in different fonts. Note, however, that it's
fairly expensive to change fonts, (or even sizes) and that it's
best to keep the total number of fonts low. If possible order
your annotations so that those that are in the same font are
together, to keep from having to switch back to a font that you've
- Scale labels: If checked, this option causes spock to
scale the labels with the rest of the molecule. Otherwise, labels
remain a constant size when the molecule is scaled.
- Add annotation: This option prompts for an annotation
string to be added to the image. Initially, annotations are
placed near the top center of the view, but annotations can be
moved via the ``Move Annotation'' feature of the Mouse menu (§
- Chain Name, Residue Name, Residue Number and Atom
Name: These options are toggles for what components of an atoms
identity are part of the standard label string.
- Standard Label Format: These options indicate in what
order the standard label components are displayed. Of course,
items not selected for the standard label are skipped. At
present, these are the only standard formats available.
- Standard label offset: This option prompts for an
integer to use as the label offset, which is simply the number of
spaces that should come before standard labels. This will have the
effect of moving the standard labels to the right. There is no
way to move standard labels to the left. If you need to do this,
you'll have to use an annotation instead.
Interactions have a few properties that are not set by the menu options.
The first property is the concept of an ``interaction type'' which is
simply an integer from 1-255 that users may use to categorize different
interactions. The primary purpose of the interaction type is to support
MORASS files, which specify this quantity, but the type may also be used
do divide interactions into groups, say hydrogen bonds and salt bridges,
etc. The interaction type is set by the command set it=n, where
n is the type number. This command may be limited by a selection
string, (e.g. set it=4,rn=32 or set it=2,in=5).
- Distance Interaction, Intensity Interaction: These two
items are alternate choices for the current interaction type.
Newly created interactions will be drawn in the indicated type.
Also, if the picking mode is set to ``Set interaction style'',
the selected interactions will be changed to this type.
- Dotted Line, Solid Line, Cylinder, Rounded cylinder
Spheres: These options set the current display style for
interactions. The current interaction style is applied as above
for the interaction type.
- Show Label: This toggle sets the label flag for the
current interaction style. Only if the toggle is set will a label
be drawn. Setting the interaction type to ``Distance'' turns this
on, and ``Intensity'' interactions turn it back off. After the
interaction type has been set, users can override the label
setting by using this toggle. The font for this label is the same
as the standard label font (§6.4.11).
- Delete all interactions: This option will clear the
internal interaction table, deleting all interactions.
- Set style for all interactions: This entry will set all
currently defined interactions to the current interaction style
(cylinders, lines, etc.).
- Set maximum interaction radius: This option sets the
radius to be used for the interaction with the highest intensity.
This parameter may also be controlled by a the control panel (§
- Copy HBonds into interactions: This option will create a
distance interaction for each H-Bond in the selected set of
atoms. The intended use of this is for these interactions to then
be saved as AMBER constraints (§6.7.9).
- Edit Interaction Material: This is a shortcut to the
Material Editor §6.11.4.
The interaction strength or intensity value may be set via the command
set iv=X where X is any real number. This command may also be
limited by a selection string, of course. Like all other objects, the
interaction color may by set by the command ic=N, where N is a
A list of the current interactions is given by the ilist command,
which, again, may be limited by a selection string.
Finally, there is a unique selection string for interactions, the ``rank''
interaction. It's possible to limit selections so that they apply only to
the strongest (most positive) or weakest (most negative) interaction
for a particular atom. Since an atom may contain several interactions
which may clutter the display, this selection is provided to make it
easier to select only the most extreme interactions. The syntax for the
selection is ip=1 for the strongest interactions and ip=-1 for
the weakest interactions. For example, ic=$blue,ip=1 will color
the strongest interaction from each atom blue. Note that this syntax,
although borrowed from GRASP  does not have exactly the same
effect as the GRASP command, as other possibilities allowed in GRASP such
as ip=2 are not implemented. The incremental advantage of such
commands is small, and not worth the effort it would take to code them
given the data structures spock currently uses.
To recap, the available interaction commands are ic, set iv, set it,
and ilist to set the interaction color, value, and type and to list
interactions, respectively. The selection strings applicable to
interactions are ic, iv, it, and ip to limit based on color,
value, type, and rank, respectively. Atom selections may also be applied
Spectra are described in §6.3.19. These menu items control
the format and properties of the spectra. Since the options are identical
for worms and surfaces, they will be described in general terms below.
- Set spectrum property: This option displays a submenu with
which you can select which atom or vertex property is represented
by the spectrum. For instance, you can choose to have worms
colored by atom property 2 (b-factor), or surfaces colored by
- Color with spectrum: Surfaces or worms are not colored
according to the spectrum parameters unless this option is on.
When off, surfaces and worms are colored according to their
- Show spectrum scale: This option determines if the text
part of the spectrum object is displayed.
- Vertical spectrum: This controls the orientation of the
spectrum object, if vertical is off, the spectrum is oriented
- Edit spectrum: This option displays a dialog box allowing
users to edit all the spectrum properties, many of which may also
be set with the mouse as described in §6.3.19. The
- Minimum, Median, and Maximum value: these values
are the extrema and the internal value that are used to
control the color interpolation. They need not correspond
to the true extrema (or midpoint) of the property under
consideration. By default these are assigned to as the
mean value of the current property, and the mean plus or
minus one standard deviation.
- Minimum, Median, and Maximum color: These are the
colors that are used for the interpolation. Values at or
below the minimum value as defined above will be displayed
with the minimum color, similarly, values at or above the
maximum value will be displayed with the maximum color.
Intermediate values will have their colors linearly
interpolated. The color numbers correspond to the colors
in the color palette, accessible via the ``Graphics
Color tool'' menu.
- Scale color: The color number used to draw the
- Scale divisions: The number of divisions on the
scale. This affects only the display of the spectrum
object, not the color interpolation.
- Scale pointsize: The size of the text for the
- Scale precision: The number of decimal points in
the displayed scale. Does not affect color interpolation.
- Magnification: The size of the spectrum on the
screen. The units are the same as for the global zoom
factor. The default is 0.5.
- X, Y: The fractional screen coordinates of the
center of the spectrum object. Fractional screen
coordinates range from 0 to 1 with the origin at the lower
Tue Sep 14 16:44:48 CDT 1999