MOIL-View

Version 10.0, January 2002

Written by 

Carlos Simmerling
Department of Chemistry and
Center for Structural Biology
The State University of New York
Stony Brook, NY 11794-3400
carlos.simmerling@sunysb.edu


MOIL-View[1] (MOlecules at ILlinois) is a free program for Silicon Graphics workstations (only) designed to allow the user to view and analyze molecular structures and dynamics. Many of the options have been implemented with the user of AMBER in mind. Use of AMBER is not required, however, and extensive support for CHARMM coordinate and trajectory files and PDB coordinate files is also included.

Please use reference [1] below if you include any images or data generated by MOIL-View in a publication.

Please periodically check the Moil-view web site for updates to this manual (and the program itself) as well as several utility programs for processing output from MOIL-View.


OBTAINING MOIL-View

The easiest way to obtain MOIL-View is from the web page at http://morita.chem.sunysb.edu/mlv.html .

You have two options for running MOIL-View:

1) Download and compile the source code yourself. This is the best option if you have access to a FORTRAN compiler and will allow you to modify the program and change the pre-defined size limits.  Note that this will only work for SGI systems.

2) Download the pre-compiled version. There is a version for SGI R10000 machines, such as an Octane or O2. Note that in this case you will not be able to modify the program or recompile it to increase size limits.

MOIL-View does NOT currently run under Windows 95/98/NT. Support for these machines (as well as Linux-based PCs) is planned.

For those without web access, the current anonymous ftp site for MOIL-View is morita.chem.sunysb.edu. Log in as anonymous, type 'cd pub', and 'get MOIL-View.8.5.src.tar.Z'.


Compiling the source code

Uncompress the file, and use tar to extract the source code. A 'MOIL-View.10' directory will be created to hold the program files. All source code (in FORTRAN) and the Makefile are in the 'source' subdirectory. You should edit the makefile to match your system. Uncomment the line that corresponds to your CPU type. See the Makefile for more detailed directions. Next, type 'make'. The compiler will create 'moil-view' in the MOIL-View.8.5/exe/ directory. To run the program, type moil-view from the exe directory, or move the program to a convenient place (or simply use an alias).

The program was developed and tested most recently on an SGI R10K O2 running Irix 6.5.


MINI MANUAL (for those who can't wait to read the whole manual)

Hold down the LEFT button for the tool choices and controlling the molecule's orientation
Use the MIDDLE button to select a particle that is under the mouse pointer
Hold the RIGHT button for the menus, or for stopping a movie


* HOW TO USE MOIL-VIEW *

MOIL-View is a menu-driven program. Almost all user options are obtained by making choices from the program menu. The full menu is listed at the end of this document with links to the relevant sections of the manual.

Press and hold the right mouse button at any time during the main program to bring up the menu. The options are described below. Menu options that are currently selected will have a check mark next to the menu item (for example, a check will appear next to 'Display 2nd molecule' when the 2nd molecule is being displayed). Selecting this option AGAIN will remove the check mark and also reverse the status of the function. When a menu option is unavailable (for example, 'overlap molecules' when no molecules are loaded) it will be gray, and you will be unable to select it until it becomes appropriate.

CONTROLLING THE MOLECULE'S ORIENTATION:

There are two methods of manipulating objects- using the toolbox and using the 'virtual trackball'. When the LEFT mouse button is pressed, the program looks to see if the mouse cursor is inside the toolbox, and performs the appropriate function. If not, the molecule will directly follow the cursor motion based on the status of the 'mouse mode' option. Both of these options are discussed in more detail in later sections.

THE FILE BROWSER

The file browser allows you to move through the directory structure using left mouse button clicks. Click on a directory name to show the files contained in it, click on "parent" to move up one directory. If more files are in a directory than can be shown at once, "more" will be shown at the top or bottom of the list. Click on this line to scroll through the list of filenames.

You may also type directly on the Path: and Name: lines. A white underscore bar is shown at the end of the currently active line. Use the "enter" key to move between lines. You cannot use the mouse pointer to select a line to edit, nor may you edit a character without using backspace until all character after than one are removed. Backspace to delete characters, or use the 'CLEAR' button to clear the text (name only). Press 'OK' when finished, 'Cancel' to quit without making a selection. The 'CLEAR PATH' and "CLEAR FILE' buttons function as the names imply.

Pressing the 'LIST DIRS" button will open a window showing you a list of other directories that you have recently visited. Press the left button on one of them to replace the current path with the selected on. The directory list is saved in the session file.

The program will warn you if you ask it to write over an existing file, asking for confirmation.
Be careful- there may be no way to retrieve lost data.
Don't overwrite a trajectory file that took months to generate!

ABOUT FILE FORMATS:

When the file requester opens, it will list format options for the current file type on the right side. The current format will be in red. Click on one of the other formats to load or save a file in a different format. This can be used to load a file in one format and save in another, for example. This will be the new default for that file type. The first time you attempt to load a file of a given type, the program will automatically ask about your desired default format. This format will remain in effect until you change it. The program will display an error message if you try to load a file that does not match the currently selected format.

An alternate method for setting file formats is to use the menu option. The FILE menu contains a submenu headed 'set file formats'. If you have previously selected a file format, or loaded a session file containing format information, ALL reading/writing of files of that type (eg. coordinates, trajectories, etc.) will default to the selected format, regardless of the original format of the file. This allows maximum flexibility in file format conversion. To change the current format, select the desired option from the menu. If you are unsure of the current format, check the menu. A check mark is placed next to the current format for each type. In addition, each file requester will inform you of the format it expects to load.

When two molecules are loaded, the file formats for the two do not need to match.

Be careful when writing coordinate files- the write function always uses the CURRENT format, which may be different from that of the original coordinate file (if you have changed it since loading the original file).

Currently supported file formats:

Coordinates:

CRD: CHARMm format coordinate files
PDB: format used by the Brookhaven Protein Data Bank
AMBER: AMBER restart file format. Coordinates are required while velocities and box dimensions are not. If box dimensions are present, they are used for the 'draw box outline' command. Velocities are read but not used. When coordinates are saved in AMBER format, velocities and box are not currently saved (even if they were present in the original file).

Note that since PDB and CRD formats include atom names, the distance algorithm can be used for calculating bonds. AMBER files do not contain this information, so the program will not be able to assign atom types and colors, and the calculated bonds may be incorrect. Load an AMBER topology file (under Load Connectivity described below) to make sure the program displays the correct atom and bond information.

Connectivity

see the section below for more information on connectivity formats.

Trajectory

DCD: format used by the CHARMm and MOIL programs
PATH: higher precision format used by MOIL
AMBER: only formatted AMBER files are allowed (no binary files). This option is for trajectories that do not include periodic box information.
AMBER PBC: This option should be used for AMBER trajectories which contain periodic box information.  (This usually means a solvated simulation). Files must be formatted.

THE TOOLBOX

The toolbox is a small movable window labeled 'Toolbox'. It is set to always bring itself to the front of the main window, even if you try to hide it. This is done so that it will not accidentally get 'lost'. If you wish to remove it, choose the menu option options/show toolbox. Choose the same option to turn it back on. A checkmark next to the option will be displayed when the toolbox is on.If it seems to get lost, turn it off and then back on.The toolbox is activated any time the LEFT mouse button is pressed. If the pointer is over the toolbox at the time of pressing the LEFT button, the structure will be transformed according to the description in the area that you are selecting. The rotations and translations are sensitive to the distance of the pointer from the center- the farther away from the center you press, the faster the structure will move.
The letters 'R', 'T' and 'S' above the 'Mouse Mode' label allow you to quickly change the mouse mode, as described below. A red box appears behind the currently selected mode.

Underneath the R, T and S, there is a 1 and 2. If the background to the number is read, all changes will be applied to that molecule (1 or 2, or both). Click on the number to make the background change to blue, in which case the transformations will NOT be applied to that molecule.

Underneath this section is there are where you can change the X, Y and Z rotation or translations.

Size will zoom in and out, lines changes the width of the bond lines, and reset view returns to the original settings for size, rotation, and translation. It does not affect linewidth. Note that rotations are done in the screen-fixed coordinate system, and the axes in the upper corner reflect the original axes in the first molecule.

The toolbox can be moved to wherever is most convenient by simply grabbing the window at the top title bar (using the left button) and then moving and dropping it.

Keep in mind that the toolbox is active even during a dynamics movie. It is turned off during the "modify trajectory" option so that you do not accidentally change orientations while writing a new trajectory file. The toolbox control will be returned after the modification is complete.

PICKING PARTICLES- THE 'PICK' SYNTAX

The 'pick' commmand is used for particle selection. This syntax is used in MOIL, and also here in MOIL-View for selecting colors, mixed line/spheres, ribbons, hbonds, contact maps and overlap of structure, and anything that requires selection of a group of atoms.

Do not confuse this 'pick' with the selection of particles using the mouse, which displays information on the screen! That type of picking (hereafter called selecting) is described below.

An explanation of the 'pick' syntax follows:

example: pick #prt 1 60 | chem mono ALA & chem prtc CA != #mon 2 3 done
The command line includes a series of selections interconnected by logical instructions. It is read from left to right until "done" is detected. No brackets are allowed, and hopefully this will not be too severe a restriction.

The above line stands for (in brackets we wrote the corresponding expression)
pick particles 1 to 60 (#prt 1 60), or (|) like a good chemist (chem) pick all particles of the monomer (mono) alanine (ALA) anywhere this mono name is found, but you should pick this under the .and. selection (&) of chemical (chem) particles (prtc) that are called (CA), then you should remove (!=) from the selection monomer numbers (#mono) from 2 (2) to 3 (3). and this is all (done).

The pick line is of the format
pick A lexp B lexp C lexp ... done
don't forget the 'pick' and 'done'!
where A, B and C are selection commands and lexp are logical expressions
Note that the line must begin with 'pick' and end with 'done'.

logical expressions- basic Boolean syntax.

A | B - standing for A U B (A union B). Atoms that are in group A or in group B are picked.
A & B - standing for A /\ B (common parts of A and B are kept). Atoms must be in both A and B.
A != B - pick A and then remove anything that is also in B.

selection commands

 #prt   - defines range of particles to be picked, e.g. #prt 1 6
 #mon   - defines range of monomers to be picked, e.g. #mon 1 3
 chem   - An indicator for "chemical" notation will be used.
        prtc - select by chemical name of particle 
        mono - select by chemical name of monomer
        examples: "chem prtc CH3E" "chem mono HEME"

Modifications added in MOIL-View include:
new selection commands useful for proteins:

 #sid - picks side chain atoms by mono # - 
      anything BUT: C, O, N, H, CA, NH, HN, HA 
 
 #bac - picks backbone atoms by mono # - C, O, N, H, CA, NH, HN, HA 
 
 #ba2 - picks backbone atoms by mono # - C, CA, N, NH (no H or carbonyl oxygen)
 #hvy - picks a range of residues like #mon, but only heavy atoms (non-H) are picked.

old commands with easier to remember names that perform the same function:

 #atm   - identical to #prt
 #res   - identical to #mon
 atom - select by chemical name of atom (same as 'prtc')

You may also use '*' as a name completion wildcard, eg. CH* would pick CH2, CH, and CH3. You are not allowed to have any characters after the wildcard. Note that *H will NOT select 1H and 2H (but will instead act like * and select everything), and C*N will act like C*.

New types of pick commands:

 #cop - picks atoms by LES copy number. Non-LES atoms have copy number 0.
   This is very useful for examining the behavior of individual LES copies, or can be used
   in the modify trajectory option to extract the trajectory of a single copy.
   usage: pick #mon 2 8 & #cop 1 2 done   picks copies 1 and 2 in residues 2 through 8.

 #dsp - picks residues just like #mon, but only selects atoms that are already displayed.
  This has many uses: recoloring displayed atoms, or overlapping based on atoms that
  are displayed (not background color).

 #mod - picks by model number (if such information was in the PDB file). Useful for multiple-
 model NMR structures.

 #nbb - picks residues just like #bac, but this chooses atom names suitable for nucleic acid backbone.
 Atom names are from AMBER, and include P, O3', O5', C3', C4' and C5'.

 #fil - picks hydrophilic protein residues in the given range.
 pick #fil 1 5 done will select all atoms in Ser, Thr, Cys, Cyx, Asn, Gln, Tyr, His, Asp, Glu, Lys or Arg
 for the residue range 1 to 5.

 #fob - picks hydrophobic protein residues in the given range.
 pick #fil 1 5 done will select all atoms in Gly, Ala, Val, Ile, Leu, Phe, Pro, Met, Trp
 for the residue range 1 to 5.

#fil - picks hydrophilic protein residues in the given range.
 pick #fil 1 5 done will select all atoms in Ser, Thr, Cys, Cyx, Asn, Gln, Tyr, His, Asp, Glu, Lys or Arg
 for the residue range 1 to 5.

Distance-based picking:
atoms can be chosen by proximity to a group of atoms. For example, you want to color
atoms that are within 15 angstroms from a certain residue. You can then save coordinates
of only the displayed residues, and use that as input to the LEaP module of AMBER to
set up a simulation of the reduced system. You also might want to overlap based on residues
that are close to a certain region such as an active site. There are many possible applications.

Note that you can also display atoms that are close to a target region using the
close residues command found under the Color options menu. That also allows you to select a buffer region.

How to do it: You will embed one pick command into another. One will select the target region,
and the other will specify the "close" criterion.
There are two new pick commands for this:

clrs - picks all atoms in any residue that has atoms within the cutoff distance from the target group. This
is useful for setting up a simulation, since entire residues must be input to LEaP.

clat - similar to clrs but selects only the atoms that are close to the target.

Syntax: pick clrs cutoff target done  where cutoff is a number and target is a pick command.

Example: pick clrs 8 pick #mon 4 6 done done
first we use clrs to specify a distance pick, and a cutoff of 8 angstroms. next we specifiy
the target region- in this case it is residues 4, 5 and 6. Any residue that has atoms within
8 angstroms from residues 4-6 will have al of its atoms selected. This can be used for
coloring, overlaps, RMSD calculations, etc. Note that there are 2 "done" commands at the end, one
to signal the end of the target region and another to signal the end of this pick. One could combine this
selection with antother to form complex pick statements:

pick clrs 8 pick #mon 1 3 | #mon 6 8 done & #mon 10 15 done
this will choose all residues within 8 angstroms from either residues 1-3 or 6-8, and "and"
this result with residues 10-15 (meaning thatonly atoms close to the target and also inside residues
10-15 are selected.
 

ON-SCREEN PARTICLE SELECTION

The following applies if you have chosen 'Display selection info' from the options submenu (described below).

Pressing the MIDDLE mouse button while near a particle will place a circle around it. The screen will display the monomer and particle information. Once a particle is selected, the structure can be centered with this particle at the origin (see options submenu). This centering will remain in effect EVEN DURING A MOVIE. This can be helpful for tracking a particular particle during a dynamics run.

Selecting a second particle will give the distance to the previous selection, and a dotted line will be drawn between the two. Both the line and the displayed distance will be updated each dynamics frame. This can be useful for monitoring distances during dynamics. Note that if the two particles are in different molecules, a line will NOT be drawn, since the molecules are kept in different coordinate systems. Selecting a third and fourth particle will display the current angle and torsion, along with the particle names for the particles that were selected.

SESSION FILES

When you quit the program, your current file names are saved, and used next time you run the program to restore your current session. Also saved are the current bond algorithm, color and sphere choices, centering choices and more. These 'session' files can also be loaded and saved at any time. The default session file created when you quit is 'save.current'. Remove this file before running the program again if you don't want to restore the session.


THE MENUS

Pressing and holding the RIGHT mouse button at any time will bring up the program menu. Note that the menu may not available during the execution of many of the program functions. In the following description of the features, each main menu option is underlined, with submenus in bold. Program options are described in the order in which they appear in the menu structure.

At the bottom of this document is a complete list of the menu options , with hypertext links to the appropriate section of the manual.


FILE MENU:

This has submenu options to read or write the coordinate and connectivity files. You need to load the coordinate file before loading the connectivity file. Currently, the structure can be a CHARMm CRD file, AMBER RESTART file, or a PDB file. Note that AMBER coordinate files have no particle information, and a topology file will be necessary to assign atom types and names. Without this information, dummy atom types will be assigned to all particles (possibly resulting in incorrect bonds, due to an inability to properly determine the covalent radii).

There is also a second load coordinate command, used to load a second structure for comparison. The second molecule does not have to be related to the first. Note that many program functions (dynamics, spheres, hydrogen bonds) function only on the first molecule. The second molecule is mostly useful for overlap and comparison (see below).

When a second molecule is loaded, many menu choices can be applied to either molecule. A window will open and ask you which molecule to change, (1 or 2), and some options will ask (1, 2 or both).

Connectivity (topology) files are optional and can be in one of several formats: MOIL topology, AMBER prmtop (supports both current formats: AMBER6 and earlier, AMBER7 and later) or a simple list of bonded particle pairs preceded by two lines containing the number of particles and number of bonds. For example:

4       (4 particles)
3       (3 bonds)
1 2     (bond 1 to 2)
2 3     (bond 2 to 3)
3 4     (bond 3 to 4)
 

You can also choose to write the current coordinates to a file from this menu. This will apply any rotations or centering that have been made, but not scaling or translation. The coordinates are also changed after overlap and dynamics. Read the warning below concerning writing coordinates after changing the default file format type.

There are two options for writing coordinates: save all atoms or save displayed atoms. Saving all atoms does just that- saves all atoms in the new file. You may choose to save only the displayed atoms (those that have a color different from the background). This can be used for saving only the protein and not solvent from a solvated system, for example. Another use for this option is in conjunction with the close residue option, saving just a potion of a large system. If just a part of the system is saved to a PDB file, TER lines will be added where atoms are removed. This is so programs like LEaP will not try to make bonds between these groups.

Copy first to 2nd copies all information about the first molecule, such as atoms, colors, etc into th second, overwriting any current second molecule. This can be used to avoid the trouble of saving the structure in a file and then loading it into the second molecule.

You may also load and save 'session' files (described above) in this menu. This can be useful to make sure you can quickly get back to a certain point after quitting the program.

Set file formats alows the user to set the default formats for reading and writing files. The supported formats are described above. The first time a file of a particular type (coordinate, trajectory, etc.) is loaded, the program will ask the user to choose the format. From that point on, that will be the format expected unless the user changes it using this menu option. The file browser will always state the current format that the program expects, and you can change the format at any time inside the file browser.

The current format of each file is saved in the session file so that the files can be properly read and restored.


OPTIONS MENU:

This menu contains many options that you may change. Many are on/off choices, some are choices between algorithms.

Show Toolbox toggles the display of the toolbox (for rotations, etc) on and off. The default is ON. See 'about the toolbox' above for more information. If you have trouble refreshing the toolbox contents, just close it and then reopen it by selecting this option twice.

Show status info turns on and off the on-screen display of information about the selected particles, such as molecule #, monomer and particle name. It also shows the distance to the last particle that was selected, and the name of the last particle. Selecting three particles will show the angle value, and four selections will return a torsion angle value. The center mouse button is used to actually select the particle. All information is displayed in the lower left corner, and a circle is drawn around the current selection, with a dotted line drawn to the previous selection. Particles from either molecule can be selected. You may wish to turn this off before saveing a screen snapshot.

These particles are NOT necessarily those used to plot trajectory data! This is different from the behavior of previous versions of MOIL-View. The particles selected at the time the trajectory data plot is made are used, and even if the selection is later changed, the particles used for the plot do not change. This allows the user to select different particles for distances and angles, for example. To change the particle definition for a plot, simply re-open the plot as described below in the plot sub-menu. The current atom numbers used for a particular plot are always displayed in the plot window's title bar.

The 2nd molecule submenu contains options for controlling the second structure. Display turns on and off the display of the second structure described above. Delete will actually remove the second molecule from memory. Flash will toggle the flash mode where the program alternates between the display of the first and second molecule every few seconds. This can be useful for comparison of two structures.The rate of flashing can be set under the set parameters menu described below.

Bond Algorithm creates your structure based on 1) a distance algorithm in which any two atoms closer than the sum of their covalent radii are bonded, or 2) based on connectivity information from a connectivity (or topology) file. When a coordinate file is loaded the program will ask if you want to use the distance algorithm. If the current connectivity file does not match (in number of particles) a newly loaded coordinate file, the program will also ask if you want to switch to a distance algorithm. If not, you will need to load a new connectivity file. Option 3), consecutive atoms, creates bonds between each set of consecutive atoms. This can be useful in some circumstances, such as displaying a coordinate file that contains only the alpha carbon atoms of a protein.

The bond algorithm can be chosen separately for each of the two molecules, and the information will be saved in the session file.

The bond list is assumed constant during dynamics movies, and is NOT recalculated for each frame. You may need to modify the code if you are changing bonds during the dynamics.

Center Object allows you to center the structure at an origin calculated at either the center of mass (CM) of the structure,  at a selected atom (center on atom), or on the CM of a group of picked atoms (center on group CM). For centering on a single atom, you must select the particle (see below) and THEN choose center on atom for this to work properly. For group centering, the program will ask for a "pick" command to select the group. The molecule will then be centered on the CM of the group. This is a useful way to find a portion of a complex molecule- center on the desired region and then zoom in. Centering will remain effective even during a dynamics movie. The centering can be removed using don't center. This option will work with either molecule.

Note that the modifications made for centering are applied to the coordinates when they are written to a new file. For example, AMBER users must be careful when using this option for periodic systems, which are NOT centered at the origin. It is easier to view the periodic box using centering, but make sure to remove centering and reset the rotation before saving the coordinates to a new file ( especially if you plan to use them for input to AMBER). Periodic systems should have all coordinates in the (+,+,+) octant of space.

The Solvate menu allows you to add water molecules to your solute molecule. This option requires that you already have a file (in CRD, or PDB format) containing the coordinates of the water molecules. This coordinate set will be used to add either a solvation shell (of user defined thickness) or a box (suitable for periodic boundary conditions). A box outline can be drawn to aid in determining the proper box dimension for your system. After the parameters are provided, the coordinate sets are overlapped and any water molecules that overlap the original molecule are removed. The program also removes any water molecules outside the shell or box boundaries. At this point you should save the coordinates to a new file.

Note that the 'Draw box outline' will also display a box that will be updated during dynamics, if the trajectory file contains this information (AMBER PBC). It will also draw the correct box size if the information was contained in the AMBER restart file. This is a useful way to monitor changes in box dimension during simulation using constant pressure.

Hydrogen Bonds contains selections that allow you to find and display hydrogen bonds using dashed lines. Again you will be allowed to 'pick' which section of the molecule should be searched for h-bonds. The program will also ask if you want all atoms in the hydrogen bonds to be inside the region, or if only 1 atom needs to be in the region (hbonds "to" region). This is useful if you don't want to search a large molecule for hbonds, especially if you want them updated during dynamics. Inside would show only protein-protein hbonds, for example, if protein atoms are picked. To see water-protein hbonds but NOT water-water hbonds, use the "to region" option and pick only the protein protein.

When you view a dynamics trajectory, the program will ask if you want to update hydrogen bonds. If you choose yes, the program will perform a new search for each new frame of the trajectory and find valid hydrogen bonds. This can become slow for large systems. The program will also ask if you want to save the resulting hydrogen bond populations in an external file- it will save information about the names and the % time that each hydrogen bond met the criterion. The format of this output file is as follows: First the atom #s for the three atoms are listed, then the monomer name and # and atom name for each atom.
Example:
21  47  46 (Ala 6 O) (Gly 9 HN) (Gly 9 NH) 0.69  69 frames of 100

The middle atom is always the hydrogen, and the third atom is always the one with the real bond to the H, and the first atom is the hydrogen acceptor.

A more detailed analysis of a set of hydrogen bonds of interest can also be performed. This requires the user to read in a list of atom sets for the program to track during the trajectory (option Read list of hbonds). Due to time and space limitations, it is not currently possible to carry out such analysis for all possible hydrogen bonds in a system, so you must specify those that you wish to evaluate. This is because no data is kept on a hydrogen bond until it first "forms". One possible way to choose these atom sets is to first watch the trajectory and let the program create the list of all hydrogen bonds that were observed (which is saved in the info file described above), and then to use that file to choose the ones of particular interest (most likely the ones with the largest populations). You can then watch the trajectory a second time while the program collects the full data for this set. The format for the input file is as follows: three atom numbers per line, 1 line per hydrogen bond. The second atom is the H, and the second and third atoms have a real bond. This matches the beginning of the info file described above, and means that you can directly use the info file as input for the detailed data tracking (probably after deleting those lines corresponding to very low populations).

When you view the trajectory, if you have read a valid hydrogen bond list the program will ask if you want to calculate date for those
hbonds during the trajectory. If you choose yes, the program will ask you to choose the output file. It will then save the distance and angle for each of your atom triplets every frame of the trajectory. The format of this file is:
frame#  hblist#  distance  angle  acceptorname  donorname

This data can be used as input to external analysis programs. One is available on the MOIL-View web site, and generates plots of the distance for each hydrogen bond as a function of time, with color coding to show whether the angle is good, marginal or poor for a hydrogen bond. These can make the time-dependent analysis of hydrogen bond behavior much easier.

 Sample hydrogen bond analysis plot

You are also allowed to select the color to use for the dotted lines. The criterion for valid hbonds can be adjusted: distance through the option described below, but currently the angle must be changed through the code in findhb.f. Turn Off will remove all hydrogen bonds.

Video Timing: This option is for users of NTSC monitors (genlock or videotape). Choosing this option toggles between hires and NTSC timing. In NTSC mode, only the lower left quadrant of the screen is shown on your NTSC monitor. This mode is useful for recording a dynamics movie to videotape to impress your friends, colleagues, and funding sources. If you do not have a genlock, this can be very annoying if chosen accidentally. Comment the line in source/main.f that controls this command (a call to the toggle() subroutine). 

Load distances to display: this option allows you to load a set of distances in a formatted file. These distances will be shown as lines between atoms. This can be useful for showing set of NMR derived distance restraints, for example. The lines are updated during dynamics (but the values of the distances are not shown).

The format of the distance input file is as follows: For each line to be drawn, two numbers are given. If these numbers are positive, they are used as the atom numbers for each endpoint of the line. If a number is negative, then the program will use the absolute value as the number of atoms that should be used to determine the position of the endpoint of the line. These atom numbers must then be given on the next line. While this seems complex, it allows the use of "ambiguous" data used in NMR refinement in which the actual restraint is applied to several atoms if the assignment cannot be accurately made.

Example:
4 10   (line between atoms 4 and 10)
12 16 (line between atoms 12 and 16)
14  -3 (negative means that 3 atoms are used for second endpoint, read them on next line)
24 25 26  (draw a line from atom 14 to the average position of atoms 24, 25 and 26)

Note that only lines between displayed atoms are drawn. If an atom is turned off, no lines involving that atom will be displayed. If the atom is later turned on, the lines will then be drawn.

  If you view a trajectory after loading this file, the program will ask if you want to save values for the distances during the trajectory. These distances will be saved in the format

frame#     distance#     value

and can be used for further processing by other programs.


COLOR OPTIONS MENU:

This is where you can choose what colors are used for the particles, and which particles are displayed. There are many standard choices, along with full user control.

User Defined: using a MOIL-style 'pick' command (described above), you can assign new colors to any particles. The current input line wll have an underline cursor at the end. Press the return key to move to the next line. The first three lines in the requester are for the red, green and blue values. You can mix these like paint to form millions of colors (depending on the number of bitplanes in your system). Choose a red, green and blue and then give a pick command on the fourth line. Any particles 'picked' will be given the color you chose. Choose black (0,0,0) to turn OFF display of a particle with a black background, and white (255,255,255) on a white background. Lines and spheres for background-color particles are not drawn. This can speed up sphere rendering dramatically. It is sometimes useful to turn everything OFF first (0,0,0) and then turn ON the particles you want to show.

In addition to typing in a specific red, green or blue value, you can adjust the sliding box over the color bars to choose the proper value. A preview of the current color mix is shown underneath the color bars.

Select 'HELP ON' from the color selection window if you need a reminder on the 'pick' syntax. Select 'LIST PICKS' to open a window listing previous pick commands that you have used (along with some common selections). Click on one of these with the left mouse button to transfer it to the current pick: line.

Restore Default returns you to the default colors (based on atom names). Change the file 'setparam.f' if you want to change the default values. A window will open and ask you to enter a 'pick' command to select which atoms should be restored.

While it is possible to create nearly any color combination that you want using the “user defined” option, several common types of color choices are made easier through the menu options listed below.

Color by LES will color each LES particle based on its copy number. This makes it easier to distinguish different copies.

Backbone Only: this will show only the alpha-carbon, carbonyl carbon, and nitrogen of the protein backbone. Currently, it turns off everything else, and leaves the backbone with its current colors. This may give unexpected results if the backbone is not already displayed. Not advised for non-proteins.

Currently, the atom names that define the backbone are hard-coded in the program as C, CA, N, H, and O. Modify the code in main.f to change this default behavior.

Chain + SS only is similar to backbone only except that only C, CA and N are shown (and disulfide bridges).

No hydrogens : this will remove all atoms whose names begin with H.

No hydrogens on C : this will remove all atoms whose names begin with H that are bonded to C (nonpolar hydrogens). This can take a few moments for large systems, since the bond list is searched for each atom.

No waters: this will remove all water- monomers with names WAT, TIP or HOH.

Close Waters Only: This turns off all waters not within the hbond cutoff distance from a user-picked group of atoms. A window will open asking you to choose the atoms that the water should be "close" to. The distance cutoff criterion can be adjusted in the change parameters menu. Waters are monomers that have WAT, HOH or TIP as the first three characters. Updating which waters are 'close' can be done optionally during dynamics (but may be slow). If the close water option is selected, a requester will open before a trajectory is displayed asking if the user wants to update the selection.

Close Residues Only: This turns off all residues (not just waters) that are not within a user-specified distance from a selected group of atoms. The program allows you to input a cutoff distance and a 'pick' command selecting the initial group of atoms. You may also select a buffer region if desired. Far atoms are turned off, and buffer atoms are changed to gray color. Atoms close to the target are left at the original colors. This was done so that we could choose residues that were within a certain distance from a target region and allow them to move, then a fixed buffer region, and the rest of the residues were removed (not displayed). The resulting coordinates could then be saved (using save displayed atoms) to a PDB file, and then loaded into the AMBER LEaP module for generating a toplogy file for the reduced system.

After this option is chosen, information about the selection is written to the original shell window. This includes AMBER-style group input commands for the close region, the buffer region and the far region. These can be used in AMBER for many purposes, such as to restrain atoms that are far from the targt region, or to use the belly option and only allow the close region to move. This MOIL-View option is a useful way to generate AMBER group input for groups of residues based on distances from a target region.

Transparency allows you to set the alpha values (0-255) which control particle opaqueness (on machines that support this alpha blending). Higher values are more opaque. The transparency feature does not work perfectly. If you don't have alpha support on your system, dot spheres give a similar effect (see below). It is most useful for solid objects such as spheres.

Pick HB color performs the same function as described above, and is also placed here simply for convenience.

Background Color: This allows you to choose white or black as the background color. If the background is black, any black (color 0,0,0) particles will NOT be displayed, and if white, color (255,255,255) will not be displayed. Use these color choices to keep certain portions of the molecule from being displayed, or printed in the postscript option. Switching between background colors automatically changes the color of particles that are not displayed. While the postscript DRAWING option will always be on a plain page background (white), the postscript BITMAP image WILL save the background color.

All color information (for both molecules) is saved in the session files.


OVERLAP MOLECULES MENU:

Best fit RMSD allows you to issue 'pick' commands to select particles to be used to overlap the two molecules. The structures will be overlapped (using the Kabsch[3] algorithm) to minimize the root mean square deviation (RMSD) of the picked particles. You must choose at least 3 atoms. Any errors, such as zero determinant of the transformation matrix, will be written to standard output. After overlap, both structures will be active in the toolbox (see below). If desired, a different set of particles can be chosen for the calculation of the root-mean-square deviation of the two molecules (you can fit on one set of atoms and then calculate the deviation for a different set, such as fitting two proteins on the full backbone followed by calculating the RMSD of a loop). For many purposes, simply click on 'no' when asked if a different pick is desired for the RMSD calculation.  Note that this does NOT minimize the RMSD between the atoms in the second set.

You can use the same 'pick' command for both molecules, which will apply the same pick to each molecule. Note that this does NOT mean that you will pick the same particle numbers, or even the same number of particles. For example, if you pick "all alpha carbons" and the two molecules have different sequences, you will pick different atom numbers. If both molecules correspond to the same system, using the same pick command will pick the same atoms.
You must pick the same number of atoms in each molecule in order to perform the overlap.
Picking residue #1 in different molecules may give a different # of atoms and be unsuccessful.

You may also choose DIFFERENT pick commands for each molecule. An example of this might be to overlap the final segment of two proteins that differ in initial segments (eg. overlap monomers 24-25 of one structure with monomers 28-29 of the other structure).

Select the 'HELP ON' box from the overlap window if you need a reminder of the pick syntax. Select 'LAST PICKS' for a list of previous picks, and use the left mouse button to select one of them as the current pick command.

After defining the atoms to overlap, the program will ask if you want to restore the original origin. This is done because both molecules are centered at the CM of the selected particles prior to fitting. In some cases you may want to 'uncenter' the molecules after the fit has been performed.

If you perform an overlap prior to watching a dynamics trajectory, you will be given the option to re-fit molecule 1 to molecule 2 automatically for each new frame using the same parameters that were previously defined.The program will also ask if you want to calculate residue-average RMSD values during the trajectory, in which the RMSD is averaged over all atoms in each residue for each frame, and then optionally over the entire trajectory. This data can be saved to a file of your choice.

This same basic procedure also applies to defining the overlap for the trajectory overlap plot, 2D-RMSD plot and cluster analysis.

RMSD only functions very similarly to the best fit RMSD function described above, but in this case the RMSD is calculated directly from the current coordinates with no fitting or attempt to minimize the RMSD. 

Repeat same fit/RMSD: this will carry out the same set of choices that you made for your last fit. It is useful to avoid the program asking for your choices if they are all the same. It will repeat the procedure and tell you the resulting RMSD value.


PLOTS MENU:

The Plots menu provides options for generating postscript files suitable for printing images of your molecule. In addition to these images, several other types of data can be printed, such as data plots from trajectory information and 2D-RMSD plots.

Saving Images in MOIL-View:

In MOIL-View, there are two ways to get a copy of your image.
First, you may choose the Postscript Drawing command. In this case, specific postscript drawing commands are used, and the resolution of the image will depend only on your printer. However, this option currently does not provide all of the imaging options available in MOIL-View, so another option, Postscript Bitmap is provided. In this case the postscript image is created directly from the screen image. While this provides a better reproduction of the actual screen image, the resolution of the computer monitor is usually much lower than that of typical printers, resulting in a less smooth image than provided by the Drawing option. There are two further options under Postscript Drawing, normal or ball and stick. Normal drawings are described below. Ball and stick drawings are similar except that each particle will be drawn as a circle 1/10 the size of its VDW radius. This circle is drawn in addition to the lines connecting bonded particles.

This option generates postscript output for a simple hardcopy of the display. The structure will be in the current view, using lines. Circles are used for any particles that were spheres. You will be asked whether you want to depth-cue the image. If you choose this option, the lines for particles farther from the screen will appear lighter, fading into the page. You can also choose to use the particle colors, or use black for all particles. Note that, even if particle colors are NOT used, particles that are the background color WILL NOT be printed. Color choice here means that particle colors will be taken into account, otherwise all particles are the same color. Whether you actually get color depends on your printer. Colors will show as gray scales on B&W printers, and full color if your printer supports it.

The thickness of the sticks is related to the screeen line width chosen in the toolbox. Ribbons, spheres and hydrogen bonds will be printed if they are displayed on the screen. Text labels will also be printed (see below).

After creating the postscript file, you must send it to your printer using 'lpr' or whatever command is appropriate on your system. All that MOIL-View does is create the postscript file on the disk.

The Postscript Bitmap option will take the entire displayed image, and convert it to a postscript bitmap file. These files are VERY large- 2 megabytes for B&W and up to 6mb for color. In addition, they tend to take a very long time to print. The advantage to this method is the the image will be exactly like your screen image (within printer limitations), with proper sphere shading and interpenetration. It makes little difference for line objects. Again, you are responsible for sending the postscript file to your printer (and deleting it when you are finished!).

Note that the color/gray option here determines whether full color information is saved in the postscript file, or only gray scales. This is different from the postscript drawing option, where the 'color' choice determined whether particle colors were used at all, and a single file was appropriate for color or black-and-white printers. Here, particle colors are always used. Full color bitmap files are 6+ megabytes in size, and gray scale only 2+ megabytes, so choose the type that is appropriate for your printer.

If you have trouble with this option, or if you want to save the image in a format other than postscript, you can use the SGI program "snapshot". This will allow you to draw a box on part of the screen and save it to an RGB file. This can be converted to a format such as TIF or JPG using the SGI program "imgview", or the very nice (free) program XV, for including in other documents (such as in Micro$oft Word).
Example:

TRAJECTORY 2D-RMSD: these plots compare all pairs of structures in a trajectory. A matrix of root-mean-squared deviations is constructed, and the matrix is saved in a graphical format. These plots can be very useful for analyzing conformational changes and families of structures in a trajectory.
 Example 2D-RMSD file

Trajectory 2D-RMSD plots can be generated from two sources: a data file that the program can load containing all of the RMSD values (from a previous MOIL-View run), or values calculated from a dynamics trajectory.

Choosing to calculate new RMSD values will call the standard dynamics routine described below, but data will be collected for the RMSD of each frame in the trajectory to every other frame. If you do not have a currently defined overlap from the overlap molecules option, the program will prompt you for a pick command to select the particles to overlap, as described above for simple overlaps. You may select the same or different sets of atoms for the fitting and RMSD calculation.

It is important to note that the program must save the coordinates of each of the 'picked' atoms (not ALL atoms) for each frame of the trajectory. The limits on the number of atoms and number of frames for this option are defined in the source code in LENGTH.BLOCK, and recompiling is necessary to change the default sizes. The parameters are named MAXRMSPT and MAXRMSFR.The current default is 250 frames- more than that probably is not useful anyway and will make plots that are very slow to print.

Performing the 2D-RMSD option will also result in the loss of the second molecule, if one is currently loaded.

The program will use the standard file browser to obtain the trajectory file name, and then present the user with the standard dynamics options described below. Skipping frames results in a smaller plot that covers the same time period, but with reduced resolution- a quick fix for trajectories that exceed MAXRMSFR.

After the trajectory has been read and displayed, the file browser will request a name for the new postscript file. Next, you must choose whether to print larger RMSD values as increasingly darker or lighter shades of gray. I use darker shades. Another choice involves 'smooth' shading- where the RMSD values are directly mapped to gray values, or discrete shading- where four ranges of RMSD values are used. In the case of smooth shading, you must choose a cutoff value for the high end of the scale- all values above this will be considered the same, and those below it will be smoothly shaded. For discrete shading, you must choose three cutoff values, which result in the ranges: 0-LOW, LOW-MIDDLE, MIDDLE-HIGH, and HIGH+. In either case, a legend is printed on the page for reference, along with the appropriate file names and the 'pick' commands used to generate the RMSD values.

Once again, you are responsible for sending the file to your printer/previewer. The program will ask if you want another plot (changing shading or cutoff options), and allow you to create a new plot without needing to re-calculate the RMSD matrix. It can be useful to load a postscript previewer and examine the plot, refining the parameters and re-plotting before returning to the main program function.Don't say no until you've previewed the resulting plot, or else you'll have to regenerate the RMSD matrix.

Finally, you are asked if you want to save the RMSD data directly to a file. This data may be useful as input for other programs or can be used to re-generate a plot without recalculating the data. The data is saved one value to a line, starting with frame 1 and continuing to the last frame, printing the RMSD to each frame (including itself). This provides (number of frames)^2 data points (which can turn into a very large file).

The Plot Trajectory Data menu allows you to create or remove windows in which data from a dynamics trajectory is plotted. Distances, angles and torsions (such as are already displayed in the lower left corner of the screen) can be plotted (for molecule # 1 only, however). Select the relevant atoms, then choose the menu option to open the plot. After opening a plot, the program will ask whether points or lines should be used to draw the data. Points may more useful than lines for torsion values where, for example, a line between + 180 and -180 degrees may not be drawn in the direction of the true transition due to the cyclic nature of the data.

Note that only 1 distance can be calculated at a time using this approach- for simultaneously calculating values of many distances, it is recommended that you use the "load distances" choice in the Options menu (described above).

If desired, the overlap RMSD can also be plotted as a function of the trajectory time. In this case a second coordinate set (for overlap) should be loaded, and the overlap molecules menu choice should have been used to 'pick' the particles in each molecule for overlap (see that option above). If a second coordinate or an overlap choice have not been defined, the program will allow the user to do so at this point. The user may also use the current first molecule as the reference if a second molecule is not loaded.


A Ramachandran-style plot can be made (phi and psi angles for a single protein residue). The user has the option of retaining all data points for the full trajectory (providing a plot of the cumulative conformational space sampled), or displaying only the current point, to show the instantaneous sampling. When the plot is opened, the program looks for consecutive bonds of the type C-N-CA-C (phi) and N-CA-C-N (psi) in which the CA atom is in the same monomer as the currently selected particle. If there are problems in the monomer numbering or particle names, the program may not be able to find these torsions, and attempting to create the plot will be unsuccessful.
 

It is important to note that the data in the window represents the particles that were chosen at the time the plot was created. These particles are displayed in the title bar of each plot window. In this manner, the on screen particle selection can be changed without affecting a current plot. If the user decides to plot a new set of data, the plot should be re-opened after selecting the new particles, and the trajectory should be viewed again to make the data represent the new particle selection.

In addition to data calculated from the trajectory, the user can load an external data file to plot. This can be useful to monitor the trajectory while comparing to data that can not be calculated by MOIL-View, such as to see how the energy changed during the simulation while watching the movie. The data file must have a single data value per line.

After drawing a plot of the data, data can be saved to disk using the save raw data menu option. These files can then be used for further analysis or plotting outside of MOIL-View. The data file will contain the frame number and data value for each point, with one point per line.

Simple postscript plots can also be created to print a hardcopy of the plot using the save postscript plot menu option. As with previous drawings, you need to send the postscript file to the printer by yourself. For anything fancier, save the raw data and use a dedicated plotting package.
 Example postscript data plot

Only one plot of each type (1 distance plot, 1 angle plot, etc.) can be active at a time- selecting 'create plot' when the plot is already active will simply close the old plot and re-open the new one (possibly using a new particle selection). This also allows you to change the plot options, such as points vs. lines and the particles that are used to define the plotted value.

The  Contact Map menu option will generate a postscript file for a simple residue-based contact map based on particle distances. You issue a 'pick' command for the range of monomers to use for the map, and the program calculates distances between particle pairs in this pick. A postscript file is generated which shows the pattern of MONOMER contacts. Any monomer pair with at least one particle pair 'touching' will be considered to be in contact. The distance used for contact can be changed in the 'change parameters/contact map cutoff' submenu (see below). As with the postscript files described above, you need to send the file to your printer using the command appropriate on your system.

The HH Contact Map works similarly to the Residue Contact Map described above, except that pairs of hydrogen atoms are considered. This option is currently under revision. 


DYNAMICS MENU:

The View Trajectory option allows you to use a CHARMm or MOIL DCD type, MOIL PATH, or AMBER trajectory file compatible with the current structure to view dynamics (for molecule 1 only). After selecting the file using the file browser , a window will request you to give the delay between frames, start and end frame number, number of frames to skip between each frame displayed. Skip 9 frames to show 1, 11, 21, etc. DCD files contain information such as total number of frames in the trajectory, but AMBER files do not, so you will have to fill in a final frame #. If you don't know it, justuse a large number like 99999 and it will stop at the end of the file. Only formatted AMBER trajectory files are supported, while DCD and PATH files are unformatted (binary).

You may also choose whether to 'cycle' the movie, which returns to the first frame after the last, continuing until the user interrupts.

After these choices are made, other options will be given depending on the current state. For example, you will be asked if you want to update things such as overlap, close waters, hydrogen bonds, etc. See those sections for details.

If you have a currently active overlap defined between the two molecules, the program will ask if you want to calculate residue-average RMSD values over the trajectory. The residue-average RMSD values can be saved each frame, or just as a time average over the entire trajectory. If you choose yes to either option, you may select a file for saving these values.

 

If LES is used, the program will ask if you want to save a file with the positional variance of each copy during the trajectory. This can help identify regions where the copies have/have not converged.

You will also be asked if you want to save each frame to a set of individual coordinate files. These will be saved in the same format as the original coordinate file with the frame number appended to the file name. These files can then be used with other analysis programs that cannot read AMBER trajectories, or with a ray-tracing program such as POVRAY. Caution- this can create lots of files! Be careful!

Important information for viewing trajectories:

AMBER users need to make sure that they choose the proper file format- AMBER or AMBER PBC. AMBER PBC should be used for simulations with periodic boundary conditions, as these files contain extra information on the box dimensions. Use of the wrong format will result in the structure turing into a MESS (or "pixie sticks").

To pause the movie during playback, press "P" (capital p) on the keyboard. During pause, the molecular orientation may be changed using the mouse or toolbox. Press 'Q' to quit the dynamics or 'C' to continue where you paused. In addition, pressing the RIGHT mouse button during dynamics will bring up a window asking if you want to either cancel or continue the movie.

When the movie finishes, the current structure is no longer the INITIAL coordinate file, but the LAST SHOWN from the dynamics file. Re-load the coordinate file if you want the original coordinates. During the movie, the current frame number is displayed in the bottom right corner. You can use the File menu to save the coordinates at this point if you wish.

Any centering choices will be applied to each dynamics frame.

If a distance line is shown, it (and the calculated distance shown) will be updated for each frame. Angle and Torsion values will also be updated for each frame.

Ribbon positions will be updated during dynamics, but since hydrogen bonds can be slow to calculate, the user can decide whether to update these bonds during dynamics. If hbonds are active, a requester will open before the dynamics start and allow the user to make this choice.

The user can also decide whether to update the list of close waters for each dynamics frame if color options/close waters was previously selected. This update can be slow for large systems.

If a second molecule exists and an overlap has been performed, the program will ask if the user wants to repeat the overlap procedure for each dynamics frame. This will be done automatically if the user is plotting overlap data for the trajectory (see plot trajectory data) or calculating coordinate fluctuations.

It is important to note that, during a movie, coordinates for all frames are not being saved, but the movie is shown WHILE the dynamics file is being read. This may change in the future. Some performance deterioration may be noticed for large structures, ESPECIALLY IF THE TRAJECTORY FILE IS ACCESSED OVER THE NETWORK. You may wish to copy the trajectory file to the local disk for best performance.
 

CLUSTER TRAJECTORY:

The program provides a simple cluster analysis function, based on a 2D-RMSD matrix generated exactly as described in the preceding section. A pick command(s) for the fit and RMSD atom sets must be provided, and the trajectory file is selected using the file browser. The standard dynamics options are entered next. After the dynamics are completed, the RMSD values are calculated. You may then save the entire data set to a file as described previously.

The clustering proceeds as follows: Each frame is initially placed in a cluster by itself. The program next prompts the user for a cutoff value to be used in the clustering. For each pair of clusters, the average RMSD between all pairs of structures in the two clusters is calculated from the RMSD matrix data. We then focus on the pair with the lowest average RMSD (the most similar pair). If the average RMSD of this pair is less than the specified cutoff value, the two clusters are combined. This process of calculating average RMSD and combining clusters is repeated until all cluster pairs have an average RMSD greater than the cutoff value. Then, a 'representative' structure is found for each cluster. This structure is the one that has the lowest average RMSD to all other members of the cluster to which it belongs.

The information about the number of clusters found and the number of structures in each cluster is written to the standard output in the present version. The user may then decide to try a different cutoff value to see how the clustering is affected. If another cutoff is not desired, selecting 'NO' will open another window presenting four options: PS1, PS2, TRAJ and NONE. Each will be described in detail below. While this window is displayed, waiting for the user choice, the molecule may be rotated, scaled, etc. just as it normally can be from inside the main program. This is important for re-orienting the molecule for subsequent postscript plots of cluster families, as will be described below.

The first option, 'PS1', will save a single cluster to a postscript plot, identical to that obtained using postscript drawing. The program will ask whether the user wants to plot ALL of the structures in the cluster, or only the single 'representative' structure. The program then asks which cluster number to print (get this from the clustering info written to the standard output), a name for the postscript file, and the standard postscript plot options. The program will then go back through the original trajectory file and extract the full coordinate set for each of the desired structures, and then write the plot to the file.

It is important to note that this postscript plot will use the current view of the molecule, and also the current color selections, just as the standard postscript drawing would use. It is not currently possible to change the color selection while inside the clustering routine, but the view can be changed while the option window is open.This plot can get messy if too many structures or atoms are drawn- typically you may want to turn off solvent, hydrogen atoms and maybe even protein side chains before clustering. If it is still too complex, try skipping more structures during dynamics (reducing the size of the families).

The second option after clustering is labelled 'PS6'. This will create a postscript drawing similarly to that just described, with the exception that instead of a single cluster, the 6 most populated clusters will be drawn separately on a single page. Each cluster will be labelled with cluster number and number of members in the cluster. Again the current colors and view of the molecule are used.
Example postscript file of the 6 most populated clusters in a peptide simulation.

The next option 'TRAJ', saves all of the structures in a single cluster to a new trajectory file. The program will request the cluster number and a new trajectory filename and format. This trajectory file can then be used as input to re-cluster or sub-cluster the original cluster(s).

After any of the options has been performed (except 'NONE') the program will again present the same options. In this manner the user can create multiple postscript plots from different views, plots of several clusters, and so on.

If the last option, 'NONE', is selected, the program will ask if the user wants to save  the clustering information to a file. This information includes cutoff values, RMSD values between representative structures of cluster pairs, the cluster number to which each of the structures belongs, the RMSD of each structure to the representative structure of its cluster and the RMSD value between each pair of clusters that were combined. Examination of these RMSD values can be useful in determining an 'natural' cutoff value.

At this point the program will ask if the user wants to try a different cutoff value. If so, the program will re-cluster, write the new information to the standard output (the shell window) and present the same options for saving postscript files, trajectories and cluster information. Selecting 'NO' will return the user to the main program.Make sure you are finished before selecting NO, otherwise you will need to re-cluster the entire trajectory.

Be patient- due to the large number of calculations that are necessary, clustering can be quite slow. Try clustering a smaller number of frames.

MODIFY TRAJECTORY

This option allows you to change your trajectory file in many ways. The options described below can also be combined to modify several aspects of the file in a single pass.

The program will first ask if you want to save the modified trajectory to a new file. If you select 'no', the new trajectory will be displayed but not saved.

Next, the program will ask if you want to save the trajectory to a postscript file. This will create a printable file with all of the structures of the trajectory superimposed on a single page. Output is similar to that obtained for a single structure in the postscript drawing option described above. You may also specifiy that the program should skip a certain number of frames between each saving to the postscript file. This can be useful for paring down very large trajectories that contain too many frames to reasonably view on a single page. Skipping 4 will result in printing frames 1,6,11, etc.

Next the program will ask if you want the trajectory overlapped. This functions just like the single-frame overlap trajectory function described previously. If a second coordinate set is loaded, it will be used as the reference coordinates for the overlap. If one is not present, you may load a second molecule OR you may simply use the first coordinate set as the reference (which will copy it to the second set). The program will prompt you to make a choice. As usual, pick commands are required to specify the particles to overlap. This is useful for creating a new trajectory file that can be viewed later without the rigid body motion.

Next, a cutoff value can be specified such that only structures with an RMSD less than the cutoff will be saved (in the postscript file and in the new trajectory file).

The next option is to decide which atoms should have coordinates saved in the new trajectory file. One possible use is to save only non-water atoms to reduce the size of a solvated trajectory. Keep in mind that such a trajectory will no longer match the coordinate and topology files that are used for the original trajectory, and you may need to create a new coordinate and/or topology file for the program to be able to use this new trajectory. A standard pick command is used to choose which atoms to SAVE.

The file browser now opens to allow you to choose the OLD trajectory file. Select it as you would any file.

Another option is to calculate the average coordinate set over the full trajectory interval selected. If this option is chosen, the structure after the trajectory has been displayed will be the cartesian average. This usually only makes sense if the individual frames have been overlapped. You may want to save the resulting average coordinates in a new file after the trajectory modification is complete..

The next option is whether to use a running average of frames for the new trajectory. The user may specify how many frames should be combined to produce the running average. For example, if the user chooses a value of 5, frame #1 in the new trajectory will be an average of frames 1 through 5, frame #2 will be 2 through 6, etc. This has the effect that high-frequency motions are removed, often making the large-scale motions easier to observe, and is highly recommended.

The standard dynamics option window opens next, allowing you to choose which part of the original trajectory should be used. Skipping frames will result in a smaller trajectory file that still covers the same time period as the original but with reduced resolution.

The output format of the new trajectory file can be chosen next. Note that writing an AMBER PBC format file when the original trajectory did not contain box size information will not place correct box sizes in the file. In some cases, however, you may need to have a file in this format so the option is still provided.

Finally, the filename of the new trajectory file is specified using the file browser. Be careful not to overwrite the original file, since the old file is still required during the modification process.

If you asked for a postscript file to be created, a filename will now be requested. You will also be prompted for the usual options for postscript files, such as color and depth-cue.

You are NOT able to change the molecule's orientation during modify trajectory, since changing the relative orientation mid-trajectory would adversely affect the postscript file and overlap options. The toolbox will close and then re-open when the modification is complete.

Coordinate Fluctuations

This option lets you calculate fluctuations over an entire trajectory file (or just a selected range of frames).
You are first asked to provide a pick command which will be used to fit consecutive frames to remove any rigid body motion of the molecule, and also specify the region for which fluctuations will be calculated. This pick is important, since the values of the fluctuations do depend on how the rigid body motion is removed. Next, you specify the trajectory file and frame range (just as is done for viewing the trajectory). After the trajectory is read, the program will ask if you want to save the residue-average fluctuations to a file. If you choose yes, it will ask for a file name. Next, you will be asked if you wish to save the atomic fluctuations.

The flucutations are calculated as the variance in the atomic positions- the mean square displacement form the average position. Make sure to take the square root if you want the RMSD, or the standard deviation!

These fluctuations can also be used for comparison with experimental data such as crystallographic B factors, although the validity of the comparison has been debated.

Movies has two options. They are described below. This should not be confused with the option to simply watch a dynamics trajectory. This is a special option to compress the files for later viewing. The format is not standard; however a separate utility is provided that can be used to convert the movie file to AVI or MPEG for viewing in other programs.

A movie can be made of either 1) a trajectory or 2) rotaion of the molecule through 360 degrees at 1 degree increments (360 frames).

Generate: Here you can make a movie, just like in Dynamics described above, except that each frame will be compressed and saved to your choice of disk file. This file can get VERY large.... This is mostly useful if you have a very complicated scene and not very expensive graphics hardware! The  time to render each frame will be replaced with the time to decompress and display the file, which is usually much shorter.

The current window size is used- reduce the window size to make movies that are smaller and use less disk space.
This is also important when converting the movie for later display- resize the window before choosing the movie option.

This movie file can either be viewed later inside moil-view, or else converted to AVI or MPEG format
using a separate utility program. Check the MOIL-View web site for details on this conversion program.
We have used it to make movie files that were later inserted into Microsoft Powerpoint for a presentation with nice results.

Watch: This will retrieve and uncompress frames from a disk file made with the generate option. The playback speed using this method is essentially independent of the complexity of the structure, unlike the actual sphere rendering.Due to the large size of the movie file, it is most efficient to use a local disk for playback files.


TORSIONS MENU

Under the Torsions menu, the user may choose to Load a database or Search the Molecule. Databases are in a simple readable format that is explained in the sample databases. Sample files are provided for AMBER atom name conventions for proteins and nucleic acids, as well as a set of improper torsions for amino acid chirality (alpha carbon and Thr, Ile side chains). The user may choose to use one of these or to make a customized database.
Choosing the "load" option opens the file browser   and allows the user to select the desired database. This will load all of the residue and atom names into the program. Only one database can be loaded at a time- combine the files if you need to use multiple databases.

Once the database has been loaded, the user may choose the search molecule command to look for rotatable bonds that match those in the database. The user will be asked for a "pick" command to tell the program which part of the molecule will be searched for rotatable bonds. The program will search through this selection, looking for residue names that match those found in the database. This allows the user to search only a small portion of a large system. For these residues, it will look for 3 consecutive bonds with atom names that match the database. It will then make a list of all torsions from the database in that residue, and calculate the torsion value from the current coordinates (molecule 1 only). This search may take some time for large systems.

When the search is complete, the program will ask the user if information should be saved: first, the user may choose to save all of the torsion names and values in files. Then, the user has the option to save a graphical plot (postscript) showing these values. The program will also sak if the user wants to save a "sander rst" file; the program will save a list of AMBER SANDER-style restraints that can be used during dynamics. This is particularly useful if a database containing chiral improper torsions is loaded- it will generate a list of restraints that can be used to enforce chirality during high-temperature simulations. Make sure to check the restraint target values and force constants before using the file in a simulation.

After the molecule has been searched, viewing a dynamics trajectory will present more options to the user. The program will ask whether all torsion values should be calculated. If so, it will ask whether the values should be saved in a data file (containing the frame number, residue name, torsion name and value). This file can later be used with other analysis tools such as those developed in our group. See the MOIL-View home page for details.

 Example postscript plot of multiple torsion angles and histograms during dynamics

Next, the user may choose to save a density plot (postscript) showing the torsion values sampled during the selected trajectory segment. The output of the accompanying uility program is superior, however.

Another utility program is available on the MOIL-View site to take torsions output for proteins and create a postscript file with multiple Ramachandran plots (12 per page) that show a reference value as well as all values sampled during the trajectory.


ADD TEXT MENU:

Text labels can be placed anywhere on the MOIL-View screen. There are two types of labels- those that are attached to a selected atom (and follow its movements), and those that are in a fixed at a screen location . Color can be selected for each label, but currently the text size is fixed. The size that is used in the postscript output can be chosen, but this will not affect the size of the screen label. This may be changed in a future version of the program.

Custom label for selected atom will allow the user to select a particle using the middle mouse button, and then enter a text line for the label.

Custom label for screen location will allow the user to type text and then move it around the screen until the desired position is determined.

Label groups of atoms allows the user to rapdily add a default label to groups of atoms chosen using a pick command. Currently, the default label includes the atom name and number. While the program does not allow the user to change this, it can easily be modified in addtext.f.

Remove one label allows the user to select a label using the middle mouse button, and then remove it.

Remove all labels will do exactly that.

Follow the on-screen prompts to obtain detailed instructions for creating/removing labels. Text labels are NOT saved in session files.


MOUSE MODE MENU:

This menu allows you to choose what function to perform when the left mouse button is held down and the mouse is moved. The default function is to perform a rotation on a 'virtual sphere' centered at the origin. This allows for a more intuitive and accurate rotation of the molecule than is possible using separate x, y and z rotations from the toolbox.

Other possible choice for this function are translation, scaling or no function When translation is selected, the structure will follow the mouse pointer when the left button is held down. When scaling is selected, motion toward the center of the window will reduce the size of the structure, motion toward the edges of the window increases the size.

This mode choice can also be made directly from the toolbox, by pressing the left button over the 'R' (rotation, 'T' (translation) or 'S' (scaling) letters at the top of the toolbox. A red box will appear under the current function. Pressing the button over a letter already selected will remove the red box and return the mouse mode to 'no function'.

If the left mouse button is pressed while the cursor is over the toolbox, the toolbox function will be performed regardless of the status of the mouse mode.

The final mouse mode, Rotate bond, is only valid when the entire molecule(s) that you have loaded consists of a single uninterrupted strand. For example, separate solvent is not permitted. Before selecting this option, you should use the middle mouse button to choose four consecutively bonded atoms. Choose the rotate bond menu option, and the program will attempt to determine if rotation about this bond is permitted. If the bond is part of a ring, rotation is not allowed. If successful, the mouse will now allow rotation about the selected bond when the left button is held down. The torsion value for the four selected atoms will be updated and shown as you perform the rotation. To stop rotating, simply change the mouse mode to another option. Remember to save the modified coordinates before exiting if you plan to use them.


Change Parameters Menu:

This menu allows the user to adjust several parameters, such as the sphere quality level, shading and lighting of objects, and the distance criterion for the hydrogen bond option described below. Each of these choices will be described next.

Sphere quality level can be from 3 to 30, and specifies the tesselation level of the octahedron used to approximate the sphere. Higher number give better quality but slower spheres.A good choice is usually 3 unless you plan to save the image, in which case 5 or 6 should be good.

Hbond cutoff changes the cutoff distance for calculating hydrogen bonds (default 2.5angstrom). This is the distance between the hydrogen atom and the hydrogen acceptor atom. The A-H...B angle must be between 113 and 180 degrees, and is not currently user definable. Change the numbers in findhb.f if you need to change this value, and then re-compile the program.

Contact map cutoff changes the distance used to determine what is a 'contact' between two point particles. Any monomer pair with any pair of atom centers within this distance will be considered to be in contact. This means the (avg) sum of vdW radii of the particle pairs needs to be included in this distance.

Show unbonded particles allows the user to choose whether unbonded atoms should be displayed with a '+'.

Change VDW radius allows you to give a pick command to select a group of particles, then change the VDW radius for the group. This allows you to customize the sphere size to your potential function parameters. Currently these numbers are NOT saved in the session file. If you want a permanent change, modify the numbers in the subroutine 'setparam.f' and recompile the program.

Change flash rate adjust how rapidly the two molecules are interchanged when the flash feature described above is used. This may need to be adjusted to suit your tastes and machine speed.

Use shading and Use lighting simply toggle these functions, try it and see the difference.

Use z-buffer turns on and off the use of the z-buffer. The Z-buffer is what allows the machine to determine which objects are closer to the viewer than others. This buffer is essential to the proper display of space-filling objects, but on some machines (such as the Indy) there is a significant performance penalty for its use. The default z-buffer is ON with machines that support z-buffering. While important for spheres, it is not as necessary for lines, and you may decide the performance penalty of a software Z-buffer is not worthwhile. Try this option and find out.

Use fast mode reduces the quality of spheres while you are changing the orientation of the molecule. The quality level is restored when you release the mouse button.

Use faster  mode disables spheres and cylinders  while you are manipulating the molecule's orientation with the mouse. This allows you to get reasonable response time even with complicated images. If your hardware permits, turn this off to draw spheres and cylinders at each step during reorientation.

Use depth-cue determines whether depth-cueing is used. If this is selected, the object colors will appear to merge with the background color as the distance from the viewer increases. Change the behavior here if you do not like this effect.

The spheres are menu allows you to choose how spheres are displayed. Polygons creates standard filled spheres. Lines creates open spheres and can be useful to see what is within a certain distance (changing the VDW parameter) of a particle. Points creates a dot pattern for the sphere outline. Finally, opaque and transparent control whether the particle transparency (or alpha) values are used. This option only functions on those machines that support transparency. Individual alpha values for particles can be set under the color options menu. Experiment until you are satisfied with the results.

The Ball-and-stick params menu allows you to choose how the ball-and-stick and cylinder models are displayed.

Sphere scale factor changes the fraction that is multiplied with the vdW radius to obtain the ball size.

Cylinder width sets the width of the cylinders in the units of the coordinate file (usually angstroms).

Number of cylinder division sets the number of polygons used to create the cylinders (radially about the bond) and determines the cylinder quality. The ball quality is determined by the sphere quality setting.


"Objects Are" Menu:

This menu contains options that allows display of your structure as lines (default), ribbons or spheres (or any combination). Tool control is still available, but may be slow for a large number of spheres. Try changing the sphere parameters (see above) for faster spheres if you need them. Expect a short delay when switching between object types, especially for large structures.

You may combine spheres and lines by using the 'mix lines/spheres' command. A requester will ask for a 'pick' command (see below for syntax) and any particles matching your choice will be ADDED to the sphere list. Note that you cannot turn OFF individual spheres, you must turn them all off and add new ones.

Ribbons are created through the protein ribbons-add command. First you are asked to give a pick command to specify which part of the molecule will have the ribbon. See 'pick' syntax below. Next a requester will ask for the RGB color components of this ribbon. You are allowed to make different ribbons for different parts of the molecule, and they can be different colors (see color options for information on mixing RGB values to form colors). Select the 'remove' option to remove all ribbons.

While ribbons and spheres can only be drawn for molecule 1, the Ball and cylinder or Cylinder only commands will work on either molecule. If a second molecule is loaded, the program will ask which one you want to modify. Ball and cylinder draws spheres centered on the atoms, but scales the sphere radius by a user-definable parameter. Between these smaller spheres, cylinders are drawn in place of bonds. The cylinder only mode leaves out the spheres and only draws the cylinders.


Clear ALL:

This option is useful if things gets confusing, or if you have trouble displaying a new structure after using something else previously. It resets all particle numbers to zero, and erases all display objects. It can be better than quitting and re-starting, since quitting will save your session. Quit and remove the 'save.current' file before restarting if things get really bad. E-mail me if you have to, but keep in mind how much you paid for the software when deciding if the response was fast enough!

QUIT:

When you quit, a file is made containing your session information as described above. This will be restored next time you run the program. See 'loading saved session' above. Session files currently save particle colors, sphere and ribbon information, centering, coordinate and connectivity filenames and formats, dynamics information, toolbox status and more. See savesess.f for details.



Enjoy the program (bugs and all!) and please feel free to send me any suggestions, bug reports or improvements that you have made.

Please use reference [1] below if you include any images or data generated by MOIL-View in a publication.

Carlos Simmerling
Assistant Professor
State University of New York
Department of Chemistry
Stony Brook, NY 11794-3400
carlos.simmerling@sunysb.edu

Portions of MOIL-View were written while Carlos Simmerling was in the groups of Ron Elber and Peter Kollman.Their support is gratefully acknowledged.

REFERENCES:

[1] Simmerling, C., Elber, R. and Zhang, J., MOIL-View - A Program for Visualization of Structure and Dynamics of B iomolecules and STO- A Program for Computing Stochastic Paths, in Modeling of Biomolecular Structure and Mechanisms, A. Pullman et al. (eds.) 241-265, 1995, Kluwer, Netherlands

Abstract

[2] Elber, R., Roitberg, A., Simmerling, C., Goldstein, R., Verkhivker, G., Li, H. and Ulitsky, A., MOIL: A Molecular Dynamics Program with Emphasis on Conformational Searches and Reaction Path Calculations, in Statistical Mechanics, Protein Structure, and Protein Substrate Interactions, S. Doniach (ed.), 165-191, 1994, Plenum, NY.

[3] W. Kabsch, Acta. Cryst., A34, 827 (1978).

A partial list of plots and data that can be generated with MOIL-View:

molecules:
trajectories: