This menu provides an interface to spock's modeling features. There will
be more features added in the future, but the currently implemented
features are described below.
This command resorts atoms in each residue to the standard order required
by the PDB. This should be unnecessary for files downloaded from
Brookhaven. However, many software packages produce non-standard PDB
files with the atoms not in the proper order. This makes it difficult to
compare two structures from different programs on an atom-by-atom basis,
and causes other problems. Re-sorting pdb files with this command should
fix these problems. This sorting depends on the file
$SP_AALIB/atom.lib, so changing $SP_AALIB can be used to use a
different sorting order.
Implements a superimposition algorithm based on Mackay's quaternion method
 (as described for helices in §6.4.8). When
superimpose is chosen, spock displays a dialog box with four input fields.
The first two are prompts for two selection strings (§5.3)
that describe the atoms to be superimposed. There should be the same
number of atoms in each selection. The third selection string specifies
to which atoms the superposition should be applied. This selection string
may be different from either the first or second selections above. Most
commonly, the original sets will be alpha carbon atoms, and new sets
would be all atoms in one molecule or another. The final option for this
dialog specifies the direction for the superposition matrix to be
applied. This may be either ``First -> second'' or ``Second -> first''
depending on the direction you wish the final set of atoms to move. After
you press Ok in this dialog, spock will calculate the optimal
superposition matrix, and then transform the atoms selected in the third
set according to that matrix.
Obviously, this command reverses the last superposition. Re-application
application of this undo will redo the superposition again.
This sub-menu has several options for deleting atoms from spock's memory,
``Molecule'', ``Selection'', or ``All''. ``All'' deletes all atoms (after
prompting for conformation). This option clears all internal variables as
well, returning spock as nearly as possible to the initial state, this is
the same as the ``FileDelete All'' menu option (§
6.1.3. ``Selection'' prompts for a selection string (§
5.3) of atoms to delete. (This is the same as the
delete command.) ``Molecule'' constructs a pop-menu from the currently
defined molecules from which the molecule to be deleted may be selected.
To delete a molecule from a History or Command file (§7),
choosing ``Selection'' and then entering the molecule number is probably a
better option, because of the fact that the ``Molecule'' option's pop-up
menu includes structure-specific information that may vary from one file
to the next.
This submenu has the same options as the Delete Atoms menu, but instead of
deleting the atoms, they are copied into a new molecule. All atom
properties are copied as well, except that if there are any surfaces
defined, the new atoms do not ``own'' any surface vertices. The new
molecule number is printed out, and can be checked later via the
mlist command. This option is most useful when used with the subset menu
options which allow you to move defined subsets independently, see §
This option pops up the secondary structure editing dialog, inspired by a
similar facility in SETOR . Users can use this dialog as a
more convenient interface to setting the secondary structure than the
command-line set structure command, but both have the same effect.
A linear cartoon representation of the secondary structure of a single
molecule is displayed. The cartoon of secondary structure uses red
``squiggles'' for -helices, large blue boxes with arrow heads for
sheets (this in mnemonic Blue and Beta), magenta boxes
for turns, and yellow lines for coils. Moving the mouse over a symbol
will update the status line with the identity of the residue under the
cursor. Pressing the mouse button over an a symbol will change the
structure for that residue to the current structure type (helix, sheet,
coil, or turn) as indicated by the ``Mode'' section of the status line.
The current mode may be changed via the Options menu of the dialog. The
Options menu also allows users to set which molecule to display.
There are three buttons in the dialog, ``Apply'', ``Revert'' and
``Dismiss''. The secondary structure dialog edits a copy of the secondary
structure information, not the information itself. Therefore, changes are
not active in the main window until ``Apply'' is pressed, which updates
the main display with the newly-defined secondary structure information.
This can be seen visually if the current molecule is displayed with a
secondary structure ribbon (§6.4.3). It's important to note
that changes are made for all molecules, not just the one currently
displayed in the editor, so you don't have to apply the changes before
changing displayed molecules. The ``Revert'' undoes any changes you've
made since the last apply (again, to all molecules, not just the currently
visible one). Finally ``Dismiss'' hides the editor, and cancels any
changes you've made.
The secondary structure also interacts with the command-line set
structure command. Using this command while the secondary structure
editor is visible will overwrite any changes you've made in the editor,
but not yet applied. Similarly, altering the secondary structure
information in any other manner (e.g. running or reading a DSSP file §
6.1.1 and 6.7.8, or a new PDB file) will also
overwrite the information in the editor.
Altering the secondary structure definitions also causes spock to
recalculate the table of defined helices and sheets used for the Display
Helices and Display Sheets menu items or as
printed out by the hlist and slist commands.
The secondary structure editor may also be used to assign helical
structure to nucleic acids. Helical regions defined in this manner will
have an axis cylinder displayed if the Display Helices menu
option is on. These helices will also show up in the helix list via the
hlist or show helices commands. For visualization purposes,
probably only one strand of a double-stranded helix should be assigned to
helical structure, as the two strands will have a slightly different
axis. Note that it is possible to assign other structure types (sheet or
turn) to nucleic acids, but those assignments are meaningless.
Calculates the secondary structure from hydrogen bonding parameters via an
internal implementation of a DSSP-type algorithm . For each
residue, this routine prints the summary structure assignment (helix,
sheet, turn or coil) as well as any n-turns, n-helices (n=3,4,5) or
sheets the residue participates in. This routine sets the ``structure''
Runs an external DSSP program on all currently defined atoms and extracts
secondary structure information from it. For more information see §
6.1.1. This routine sets the ``structure'' property (§
Sorry, this feature is not yet documented.
Spock can perform calculations to determine the probable location of
hydrogen bonds. Although not perfect, these calculations may prove
useful. Once calculated, the position of the bonds may be displayed with
the ``Display->H-Bonds'' menu option. There are several options
controling spock's H-Bond calculations.
Deletes all currently-defined hydrogen bonds.
- Simple, DSSP, HBPLUS: These three items select the
rules which spock uses to calculate H-Bond positions. The
``Simple'' rules use a set of empirical distance and angle
constraints which are fairly accurate, and capable of finding most
H-Bonds. The ``DSSP'' rules use an energy function but will only
find backbone hydrogen bonds. Finally, the HBPLUS rules use a
more complex set of distance and angle constraints than the Simple
rules, but require the position of the Hydrogen atoms to be
modeled, which is currently only done for the backbone. The only
option which currently finds side-chain atoms is the ``Simple''
- Find H-Bonds: This option actually runs the
calculation and creates the H-Bonds.
- Fixup H-Bonds: The H-Bond calculation above finds
bonds to and from heavy atoms, ignoring any explicit hydrogens.
If there are explicit hydrogens in your structure, this option
will ``move'' any defined H-Bonds to the closest explicit
- Delete all H-bonds: This option deletes all the
H-Bonds from memory. You may wish to do this before changing the
rule set (Simple,DSSP,HBPLUS) and re-calculating the bonds.
- Edit simple H-bond constraints: This option allows
users to change the criteria used by the Simple rule set. You are
prompted for the maximum distance between the two heavy atoms, and
then for three angles (DAX, and the XDA Maximum and XDA Minumum).
DAX is the angle between the donor and acceptor heavy atoms, and
another heavy atom bonded to the donor. Only regions with angles
greater than this threshold will be considered bonded. XDA is the
angle between some heavy atom connected to the donor heavy atom,
the donor heavy atom, and the acceptor heavy atom. This angle
must be between the max and min values specified to be considered
for a H-Bond.
- Print H-Bonding definitions: In addition to meeting the
distance and angle criteria above, atoms must be recognized as a
donor or acceptor before a H-Bond will be found. This option
prints out spock's table of donors and acceptors for your inspection.
- Edit H-Bonding definitions: This option allows you to edit
the list of donors and acceptors for a residue type. Users are
first prompted for the residue name. If the residue is in the
internal table, all atoms in the residue are listed and then the
donor and acceptor lists are available for editing. Remember that
atom names have exactly 4 characters, so be sure to use exactly 4
spaces for each atom name with no extra spaces. If the residue is
not in the internal table, you may define a ``custom'' residue;
users may enter the donor and acceptor atoms for these residues as
well. NOTE: If a residue is not found in spock's internal list or
the custom list, any N is considered a donor and any O is
considered an acceptor.
This submenu provides several symmetry options, including the ability to
apply symmetry operations, and display all symmetry-related molecules.
If the crystal parameters are set (via the PDB file or the Edit crystal
parameters option of this menu) this option prompt for a selection string
and apply the crystal scaling matrix to the selected atoms. The atoms
coordinates will then be in fractional coordinates. The results of
displaying objects while in fractional coordinates are undefined, but
things will probably look really funky. Certain symmetry transformations
operate on fractional coordinates, so a common sequence would be 1)
Fractionalize coordinates 2) Apply 4x4 matrix 3) Unfractionalize
If the crystal parameters are
set this option prompt for a selection string and apply the inverse
of the crystal scaling matrix to the selected atoms, returning
fractionalized atoms back to orthogonal Ångstrom coordinates. Use
this option with caution, as it is possible to apply the
unfractionalization matrix to atoms which are not in fractional
coordinates. If this happens, applying the Fractionalize coordinates
option to the affected atoms should restore things to normal.
This option puts up a dialog box that prompts for the current crystal
parameters: a, b, c, alpha, beta, gamma and the current space
group. To eliminate ambiguity, the full international Hermann-Mauguin
symbol should be used, e.g., P 1 21 1 instead of P 21. However spock will
recognize most of the common abbreviated space group symbols. Entering
the crystal parameters causes spock to re-calculate the scaling matrix
necessary for fractionalizing coordinates, and updates the unit cell
Spock has a symmetry library file $SP_SYMMETRY_LIB, which it
reads to determine which operations to perform for each space group. For
structures with non-standard space groups you may need to edit this file
and add your space group. The default symmetry library file is in
This submenu has the same options as the Copy and Delete Atoms options.
After specifying an atom selection, the user is prompted for a 4x4
transformation matrix to apply to the selected atoms. See Appendix
E for details on how to specify a transformation matrix.
These options control the display of symmetry-related molecules.
``Unique'' indicates that only a single unit cell's worth of molecules
should be shown. ``Full'' indicates that any molecule having any atom in
the cell should be shown, and ``None'', of course, turns off the symmetry
display. Note that symmetry-related molecules displayed in this manner
are simply ``ghosts'' created by applying the appropriate symmetry
operators to the displayed image. They are not ``real'' in the sense that
they are not copied into memory, and as such have all the same properties
as the parent molecule. You can make ``real'' molecules out of the
symmetry replicates by choosing the ``Realize symmetry molecules'' option
of this menu.
The color by number toggle of this menu is an aid to visualizing the
replicate molecules. Choosing this option will cause the replicates to be
displayed in a color according to their replicate number (i.e. the parent
molecule gets its normal colors, the first replicate gets color 2, the
second replicate gets color 3, and so on). This color scheme only applies
to objects that are lit by the graphics commands (solid bonds, worms,
solid CA traces, surfaces, etc.). Line-based graphics (such as line
bonds, hbonds, line interactions) retain the same coloring as the parent
molecule. It is not possible to specify different line-drawing colors for
the different replicates without actually creating copies of the molecules
via the Make symmetry molecules option, at which time they become ``real''
molecules and as such all operations are available for them.
As described above, molecules
displayed with the ``Display symmetry'' options are not real molecules,
but simply replicates of the original image. If you wish to create a
symmetry related molecule, you must use the this ``Realize'' option.
This will allocate space for a new molecule, prompt for an atom selection,
and copy the selected atoms into the new molecule. At this point the new
molecule may be treated like any other molecule in spock, including such
things as coloring it independently.
This menu is a control panel for rotamer mode which is entered by picking
an atom when the Structure editing mode (§
6.7.13) is set to ``Rotamer''. The entries are:
- Next Display the next rotamer from the list.
- Previous Display the previous rotamer from the list.
- Apply Accept the current rotamer and leave rotamer mode.
- Cancel Revert to the previous coordinates (the coordinates
which were current before entering rotamer mode). This is also
available the Undo option of the Edit menu.
Note that like TOR and FBRT (§6.7.13), the
coordinates are updated immediately when a rotamer is displayed, so that
if write out a PDB file before you ``Apply'' a rotamer the coordinates of
the rotamer will be in the output file. If you wish to revert the the
previous coordinates, you should use the cancel option.
Spock's rotamer library lives in the text file
$SPOCK/lib/rotamer.lib. Currently this file is created by running the
script dunbrack.sh on Roland Dunbrack's rotamer library from
http://www.cmpharm.ucsf.edu/ dunbrack, which is also included in the
spock distribution for reference. Users may substitute their own favorite
rotamer library for spock's provided they follow the spock format: six space
or tab delimited text columns. Column 1 is the three-letter amino acid
code. Column 2 is the frequency of the rotamer, and the remaining 4
columns are for for the chi1-chi4 angles, with 0.0 for undefined angles.
The data should be sorted such that the most common rotamer is listed
first, and all rotamers for a given amino acid should be together.
(This text is intentionally repeated in the appendix on file formats).
These options allow for the creation and deletion of bonds, a simple
mutation procedure, altering torsion angles, and a one-step ability to
rotate all atoms bonded to a given atom independently. To use these,
select the desired option, and then pick atoms by clicking on them with
the left mouse button (button 1). These options will not be active unless
the picking mode is set to ``Modeling'' via the Picking menu. Selecting
one of these options will set the Picking menu to ``Modeling'', but
choosing any other Picking mode will inactivate the modeling functions
until the pick mode is again set to modeling.
This sub-menu allows
the user specify a residue type for spock's rudimentary mutation scheme.
When in mutate mode, picking (clicking on an atom or bond §6.9)
any atom will cause that residue to be replaced by the currently defined
residue. Currently, this is an extremely simple procedure that only
effects the side chain of the residue, and does not perform any sort of
energy minimization or steric collision checking. This will be addressed
in a future version.
- Make Bond Creates a bond between two successively picked
- Break Bond Deletes the bond between two successively picked
atoms if it exists.
- Make H-Bond Creates a hydrogen bond between two
successively picked atoms.
- Break H-Bond Deletes the hydrogen bond between two
successively picked atoms if it exists.
- Mutate Sets picking to mutate mode. See §
- TOR This option (named after the FRODO command) allows
rotation about a single bond. Selecting this option and then
picking two bonded atoms will initiate the TOR movement mode,
where mouse movements when button 1 (the left button) are held
down are tied to rotation around the indicated bond, instead of
global rotations. To end this movement mode, either 1) turn
modeling off in this menu, or 2) change the ``Attach motion''
setting of the Subsets menu §6.8. If you have a dial
box, the dials will still control the world rotations, unless
you've reassigned the bindings (§6.11.5). As
described above, there is an undo for this motion, which will
revert to the initial state of rotation, or the last lock point.
Note that the coordinates of the atoms are updated immediately, so
that if a PDB file is written out, the coordinates will reflect
the current rotation. It is not necessary to lock a rotation for
this to take effect. Also, for efficiency, not all objects are
re-built updated with every redraw. Bonds and circle mode atoms
will always reflect the current coordinates, but other objects may
need to be updated. To update the other objects, toggle them off
and on again in the display menu.
- Rotamer This option enables the use of a rotamer library
for finding favored conformations of side chains. Picking an atom
when in this mode rotates the side chain for the residue
containing the picked atom to the most common rotamer for that
residue as specified in $SPOCK/lib/rotamer.lib. You may
then use the rotamer control menu §6.7.12 to
choose other rotamers, accept a given rotamer, or revert to the
- TEXTAL This item is currently for internal use. It may
safely be ignored.
- FBRT This option is also named after a FRODO command. FBRT
stands for ``Foreground Background Rotate Translate'', or
``Fragment Break Rotate Translate'' depending on to whom you talk.
In any case, FBRT allows for the independent manipulation of a
group of bonded atoms. The next atom you pick after entering FBRT
mode becomes the center of rotation, and all atoms bonded to that
atom are rotated/translated about the picked atom. The comments
from TOR above about attachment of the mouse apply equally to the
FBRT atoms. You may wish to break bonds first to isolate the
section you wish to FBRT using the ``Break Bond'' menu option
above. Note that FBRT is very similar to the independent subset
rotations described in §6.8, but the rotated atoms do
not have to belong to a pre-defined names subset. One other
difference is that in the FBRT rotations, the origin of rotation
is the atom that was picked, whereas in subset rotations, the
origin is (by default) the same as the world center of rotation.
- Modeling off Turns off modeling mutate mode and sets the
pick mode to ``Identify'' (See §6.9.)
NOTE: Non-standard PDB files may not have their atoms in the order
specified by the PDB. For example, XPLOR produces PDB files with the C
and O atoms after the side chain, and may produce nucleic structures which
do not have all the sugar and phosphate atoms listed in a residue before
the base atoms. These non-standard PDB files should be fixed before
attempting to perform mutation on them.
Mutation is performed by reading the new amino acid type from the amino
acid library, (in the $SP_AALIB directory), and superimposing the
CA-CB bond between the current and new residue. For mutations to glycine,
the side chain is simply dropped. For mutations from glycine, the
position that the CB should occupy is calculated from the rest of the
backbone geometry. Note that when mutating to a proline residue, the name
of the new residue MUST be PRO. The mutation algorithm has to handle
proline residues slightly differently from the other residues and needs
this clue to tell it what to do. The proline in the default library has
this name, so this should not be a problem, unless you've modified the
Mutate also expects the atom names to be in accordance with PDB
specifications, particularly with respect to DNA and RNA.
The atom names mutate expects are: (4 characters each, _ for blank)
amino acids: _CA_, _CB_, _N__
pyrimidines: _C1*, _N1_, _C6_
purines: _C1*, _N9_, _C8_
This option will restore the last residue to be mutated
to its previous state.
This option ``undoes'' the current TOR operation described above.
This option locks the
current TOR operation, so that any future undo operation will return to
this state, instead of the initial state.
This option ``undoes'' the current FBRT operation described above.
This option locks the
current FBRT operation, so that any future undo operation will return to
this state, instead of the initial state.
Tue Sep 14 16:44:48 CDT 1999