RasMol v2.6 Release Notes
Biomolecular Structure Department,
Glaxo Wellcome Research & Development,
Stevenage, Hertforshire, U.K.
This document describes the many new features and enhancements
introduced in RasMol v2.6. A more complete description of the
functionality of the RasMol molecular graphics package is given
in the RasMol user manual. This documentation is intended for
existing users of RasMol v2.5, and describes only the changes made
since the last release in October 1994.
[2.1] Display of Protein Cartoons
The ribbons representation in RasMol has been extended to allow
the display of Richardson (MolScript) style protein cartoons.
The are currently implemented as thick (deep) ribbons. The easiest
way to obtain a cartoon representation of a protein is to use
the new 'cartoon' option on the 'display' menu. The "cartoon
" or "cartoons " command on the RasMol command
line represents the currently selected residues as a deep ribbon
with width specified by the command's argument. Using the command
"cartoons" without a parameter the ribbons width is taken from
the protein's secondary structure, as described in the ribbons
command. By default, the C-terminus of beta-sheets are displayed
as arrow heads. This may be enabled and disabled using the "set
cartoons " command. The depth of the cartoon may be
adjusted using the "set cartoons " command. The "set
cartoons" command without any parameters returns these two options
to their default values.
[2.2] Side-by-Side Stereo Display
RasMol now provides side-by-side stereo display of images. Stereo
viewing of a molecule may be turned on (and off) either by selecting
"Stereo" from the "Options" menu, or by typing the command "stereo
on". From the RasMol command line. The separation angle between
the two views may be adjusted with the "set stereo [-]"
command, where positive values result in 'relaxed' viewing and
negative values in 'crossed' viewing. Currently, stereo viewing
is not supported in vector PostScript output files.
[2.3] Display of Double and Triple Bonds
RasMol is now able to display double and triple bonds as multiple
lines or cylinders. Currently bond orders are only read from
MDL Mol files, Sybyl Mol2 format files, Tripos Alchemy format
files and suitable Brookhaven PDB files. Double (and triple)
bonds are specified in PDB files by specifying a given bond twice
(and three times) in CONNECT records. The display of bond orders
is controlled by the RasMol command "set bonds ". The
command "set bonds on" enables the display of bond order, and
the commands "set bonds off" and "set bonds off" disable them.
[2.4] Smooth alpha-carbon Trace
The semantics of the RasMol "trace" command have been changed.
In versions of RasMol prior to version 2.6, the "trace" command
was synonymous with the RasMol "backbone" command, drawing a straight
line or cylinder between consecutive alpha carbon positions.
In version 2.6, "trace" now displays a smooth spline between
consecutive alpha carbon positions. This spline does not pass
exactly through the alpha carbon position of each residue, but
follows the same path as "ribbons", "strands" and "cartoons".
Note that each residue may be displayed as either a ribbon, strands,
cartoon or trace, and enabling one of these representation disables
the others. However, a residue may be displayed simultaneously
as backbone and one of the above representations [though this may
change in future versions of RasMol].
[2.5] Distance Monitors
RasMol now allows the display of 'distance monitors'. A distance
monitor is a dashed (dotted) line between an arbitrary pair of
atoms, optionally labelled by the distance between them. The
RasMol command "monitor " adds such a distance
monitor between the two atoms specified by the atom serial numbers
given as parameters. Distance monitors are turned off with the
command "monitors off". By default, monitors display the distance
between its two end points as a label at the centre of the monitor.
These distance labels may be turned off with the command "set
monitors off", and re-enabled with the command "set monitors on".
Like most other representations the colour of a monitor is taken
from the colour of its end points unless specified by the "colour
monitors" command. Distance monitors may also be added to a molecule
using a mouse as described in section [3.5]
[2.6] Dashed Wireframe, Backbone and Strands
Wireframe, backbone and strands representations may now be displayed
with dashed (dotted) lines. This is enabled by allowing the "dash"
or "dashes" parameters to the "wireframe", "backbone" and "strands"
[2.7] Single Letter Amino Acid Labels
The format specifier "%m" has been added to strings in the RasMol
"label" command. This allows amino acid residues to be labelled
with a single letter amino acid code, rather than the three letter
amino acid code "%n". For example, try the commands "select alpha"
and "label "%m%r"".
[2.8] Axes Labels
RasMol now displays the characters X, Y and Z on the cartesian axes
displayed with the command "set axes on". These letters label the
positive direction of the respective axes.
 USER INTERACTION
[3.1] Enabling/Disabling Atom Picking.
In versions of RasMol prior to version 2.6, clicking on an atom
with the mouse resulted in it identification and the display of it
residue name, residue number, atom name, atom serial number and
chain in the command window. This behaviour may be disabled with
the command "set picking none" and restored with the command "set
picking ident". Disabling picking is useful when executing the
"pause" command in RasMol scripts as it prevents the display of
spurious message on the command line whist the script is suspended.
[3.2] Measuring Distances, Angles and Torsions.
In addition to enabling and disabling picking, RasMol version 2.6
allows the interactive measurement of distances, angles and torsions.
This functionality is achieved using the commands "set picking
distance", "set picking angle" and "set picking torsion" respectively.
In these modes, clicking on an atom results in it being identified
on the rasmol command line. In addition every atom picked increments
a modulo counter such that in distance mode, every second atom
displays the distance between this atom and the previous one.
In angle mode, every third atom displays the angle between the
previous three atoms and in torsion mode every fourth atom displays
the torsion between the last four atoms. By holding down the shift
key while picking an atom, this modulo counter is not incremented
and allows, for example, the distances of consecutive atoms from a
fixed atom to be displayed.
[3.3] Labelling Atoms with the Mouse.
The mouse may also be used to toggle the display of an atom label on
a given atom. The RasMol command "set picking label" removes a label
from a picked atom if it already has one, or displays a concise label
at that atom position otherwise.
[3.5] Adding Distance Monitors with the Mouse.
RasMol version 2.6 also allows the interactive addition of distance
monitors to an image using the "set picking monitor" command. The
behaviour of the mouse when picking in monitor mode is similar to that
in distance mode described above. The shift key may be used to form
distance monitors between a fixed atom and several consecutive positions.
A distance monitor may also be removed (toggled) by selecting the
appropriate pair of atom end points a second time (much like labelling
with the mouse acts as a toggle).
[3.4] Centering Rotation with the Mouse.
A molecule may also be centered on a specified atom position using the
RasMol command "set picking centre" or "set picking center". In this
mode, picking an atom causes all futher rotations to be about that point.
 COMMAND INTERFACE
[4.1] Refresh Command
The command "refresh" has been added to the RasMol command language
to force the display of the current image. This is performed
automatically on the command line. However, the semantics of a RasMol
script file are that all of the commands are executed sequentially
and the image on the screen is only updated after all commands have
been executed. The new "refresh" command allows a script to display
intermediate steps in the rendering process. One possible application
of this is in the production of animations, however the delay between
successive frames is dependent upon the performance of the machine
[4.2] Pause/Wait Command
Potentially one of the most useful additions to the RasMol command
language is the "pause" (synonymously "wait") command. This command
may be executed in RasMol script files to suspend the sequential
execution of commands and allow the user to examine the current image.
When RasMol executes a "pause" command in a script file, it suspends
execution of the rest of the file, refreshes the image on the screen
and allows the manipulation of the image using the mouse and scroll
bars. Once a key is pressed, control returns to the script file at
the line following the "pause" command. While a script is suspended
the molecule may be rotated, translated, scaled, slabbed and picked as
normal, but all menu commands are disabled. Currently there is no
way for the user to interrupt the execution of a script, for example
by typing control-C or pressing escape, though this may be added in
future versions of RasMol. The "pause" can probably be used most
effectively with "echo" commands in education pre-scripted
demonstrations, where a description of the current image is presented
to the user/student. Typically the command before a "pause" should
be "echo Press any key to continue".
[4.3] Controlling Save/Write in Scripts
One of the unpopular changes implemented in RasMol between versions
2.4 and 2.5 was the disabling of save and write commands from
within RasMol script files. With the increasing use of RasMol in
conjunction with the Internet, the ability to generate/overwrite
files was regarded as a security hazards. Many sites now exchange
RasMol script files that could potentially overwrite system files
and alter acess restrictions. To prevent such problems, RasMol v2.5
disallowed the use of save and write commands within scripts.
However, this has prevented the use of script files in generating
animated sequences of images. The proposed solution to this problem
is the addition of the RasMol "set write " command. This
command enables (and disables) the use of "save" and "write" in
scripts, but may only be executed from the command line. By default,
this value is "false", prohibiting the generation of files in any
scripts executed at start-up (such as those launched from a WWW
browser such as Mosaic or NetScape). However, animators may start
up RasMol interactively, type "set write on" and then execute a
script to generate each frame using the "source" command.
[4.4] Storing Atom Co-ordinates in Scripts
Another extension to RasMol to allow better integration with WWW
browsers is the "inline" parameter to the "load" command. A "load"
command executed inside a script file may now specify the keyword
"inline" instead of a conventional filename. This option specifies
that the co-ordinates of the molecule to load are stored in the same
file as the currently executing commands. Typically this is used in
the command "load pdb inline", which is followed by a number of
RasMol commands terminated by the command "exit". The "exit" command
terminates execution of the current script and returns control to the
command line (or the calling script). This means any lines following
"exit" are never interpreted by RasMol. These may be used to store
atomic co-ordinates in PDB file format. Because in Brookhaven PDB
file format, any line not recognised by the parser should be ignored,
only lines beginning ATOM, HETATM, TER, etc. are examined. Hence a
file may be both a RasMol script and a PDB file simultaneously. This
allows both co-ordinate and representation data to be transmitted as
a single file. One possible use is a standard RasMol script prefix
that may be concatenated with an appropriate PDB file on-the-fly.
[4.5] Atom Expression support for NMR Models
The syntax of RasMol atom expressions has now been extended to allow
the selection of individual molecule conformations if present in an
NMR file (as desribed in section [5.2]). The simplest form of the
atom expression is the syntax "::25", to select model 25 from the
molecule. This is equivalent to the atom expression "model = 25",
as the keyword "model" may now be used in comparison expressions.
The most general form of atom expression is now "CYS32:A:25.SG" which
denotes the gamma sulphur of residue cysteine-32 in chain A of model 25.
[4.6] Improved Atom Expression Syntax
Several simplifications have been made to the RasMol atom expression
syntax. Individual chains may be specified by the syntax ":A" for
chain A, or ":1" for chain 1 (i.e. the wildcard "*" may be dropped from
the expression "*:A"). This may also be extended to NMR models; ":A:4"
denotes chain A of model 4, and even more terse "::4" means all atoms
in all chains of NMR model 4.
[4.7] Improved Restrict Command
The RasMol "restrict" command now turns off the display of ribbons,
strands, cartoons and backbones outside of the given atom expression.
This command does not currently affect distance monitors, dot surfaces
or labels but this may change in future versions of RasMol.
 FILE FORMATS
[5.1] MOPAC File Formats
RasMol can now read MOPAC format files. The new "load mopac
" command automatically distinguishes between MOPAC input
and output file types, and can read input files in both cartesian
and internal (z-matrix) formats. RasMol will also read the charge
information in MOPAC output files, however it can not read the output
files of MOPAC jobs specifying the NOXYZ keyword.
[5.2] Multiple NMR Models in PDB Files
RasMol may now load all of the NMR models from a Brookhaven PDB file
using the new command "load nmrpdb ". The NMR file format
instructs the PDB reader to load all the models from the PDB file,
instead of just the first one as is the behaviour of the (default)
"pdb" format specifier. If the specified PDB file does not contain
an NMR structure the behaviour of "nmrpdb" is identical to that of "pdb".
Once multiple NMR conformations have been loaded they may be manipulated
with the atom expression extensions described in section [4.5].
[5.3] Alchemy File Fomat
The Alchemy file format reader has been enhanced to allow hydrogen
bonds to be explicitly represented in a file using the keyword
HYDROGEN, instead of the typical SINGLE, DOUBLE, TRIPLE or AROMATIC.
[5.4] IRIS RGB Image File Format
RasMol on all platforms now supports the generation of images in
IRIS RGB format files. This file format is often used when running
on Silicon Graphics workstations. The appropriate form of RGB file
is used by both 8bit and 32bit versions of RasMol. These files may
be created using the "write iris " command.
[5.5] MDL Mol File Output
RasMol version 2.6 may now be used to generate MDL Mol files. The
new command "save mdl " saves the currently selected set
of atoms to the specified file in MDL file format.
 MACHINE SPECIFIC
[6.1] Monochrome X Windows Support
RasMol now supports the many monochrome UNIX workstations typically
found in academic, such as low-end SUN workstations and NCD X-terminals.
The X11 version of RasMol (when compiled in 8bit mode) now detects
black & white X Windows displays and enables dithering automatically.
The use of run-time error diffusion dithering means that all display
modes of RasMol are available when in monochrome mode. For best
results, users should experiment with the "set ambient" command to
ensure the maximum contrast in resulting images.
[6.2] Tcl/Tk 3.x and 4.x IPC support
The recently announced version 4 of Tk graphics library has changed
the protocol used to communicate between Tk applications. RasMol
version 2.6 has been modified such that it can now communicate with
both this new protocol and the previos version 3 protocol supported
by RasMol v2.5. Although Tcl/Tk 3.x applications may only communicate
with other 3.x applications and Tcl/Tk 4.x applications with other
4.x applications, these changes allow RasMol v2.6 to communicate
between processes with both protocols (potentially concurrently).
[6.3] UNIX sockets based IPC
The UNIX implementation of RasMol v2.6 now supports BSD-style socket
communication. An identical socket mechanism is also being developed
for VMS, Apple Macintosh and Microsoft Windows systems. This should
allow RasMol to interactively display results of a computation on a
remote host. The current protocol acts as a TCP/IP server on port
21069 that executes command lines until either the command "exit" or
the command "quit" is typed. The command "exit" disconnects the
current session from the RasMol server, the command "quit" both
disconnects the current session and terminates RasMol. This
functionality may be tested using the UNIX command "telnet
[6.4] Compiling RasWin with Borland.
A number of changes have been made to the source code to allow the
Microsoft Windows version of RasMol to compile using the Borland C/C++
compiler. These fixes include name changes for the standard library
and special code to avoid a bug in _fmemset.