This software has been created from several sources. Much of the code is from RasMol 2.6, as created by Roger Sayle. The torsion angle code, new POVRAY3 code and other features are derived from the RasMol2.6x1 revisions by Arne Mueller. The Ramachandran printer plot code was derived from fisipl created by Frances C. Bernstein. See the Protein Data Bank program tape.
The code to display multiple molecules and to allow bond rotation is derived in large part from the UCB mods by Gary Grossman and Marco Molinaro, included with permission of Eileen Lewis of the ModularCHEM Consortium.
The CIF
modifications make use of a library based in part on CBFlib by Paul J. Ellis
and Herbert J. Bernstein. Parts of CBFlib is loosely based on the CIFPARSE
software package from the NDB at Rutgers university. Please type the RasMol
commands help copying, help general, help IUCR, help CBFlib, and
help CIFPARSE for applicable notices. Please type help copyright for copyright
notices. If you use RasMol V2.6 or an earlier version, type the RasMol command
help oldnotice.
If you are not going to make changes to RasMol, you are not only permitted to freely make copies and distribute them, you are encouraged to do so, provided you do the following:
1. Either include the complete
documentation, especially the file
NOTICE, with what you distribute or provide a clear indication where people
can get a copy of the documentation; and
2. Please give credit where
credit is due citing the version and
original authors properly; and
3. Please do not give anyone the impression
that the original
authors are providing a warranty of any kind.
If you would like to use major pieces of RasMol in some other program, make modifications to RasMol, or in some other way make what a lawyer would call a "derived work", you are not only permitted to do so, you are encouraged to do so. In addition to the things we discussed above, please do the following:
4. Please
explain in your documentation how what you did differs
from this version of RasMol; and
5. Please make your modified source
code available.
This version of RasMol is _not_ in the public domain, but it is given freely to the community in the hopes of advancing science. If you make changes, please make them in a responsible manner, and please offer us the opportunity to include those changes in future versions of RasMol.
* Creative endeavors depend on the lively exchange of ideas. There are laws and customs which establish rights and responsibilities for authors and the users of what authors create. This notice is not intended to prevent you from using the software and documents in this package, but to ensure that there are no misunderstandings about terms and conditions of such use.
* Please read the following notice carefully. If you do not understand any portion of this notice, please seek appropriate professional legal advice before making use of the software and documents included in this software package. In addition to whatever other steps you may be obliged to take to respect the intellectual property rights of the various parties involved, if you do make use of the software and documents in this package, please give credit where credit is due by citing this package, its authors and the URL or other source from which you obtained it, or equivalent primary references in the literature with the same authors.
* Some of the software and documents included within this software package are the intellectual property of various parties, and placement in this package does not in any way imply that any such rights have in any way been waived or diminished.
* With respect to any software or documents for which a copyright exists, ALL RIGHTS ARE RESERVED TO THE OWNERS OF SUCH COPYRIGHT.
* Even though the authors of the various documents and software found here have made a good faith effort to ensure that the documents are correct and that the software performs according to its documentation, and we would greatly appreciate hearing of any problems you may encounter, the programs and documents and any files created by the programs are provided **AS IS** without any warranty as to correctness, merchantability or fitness for any particular or general use.
* THE RESPONSIBILITY FOR ANY ADVERSE CONSEQUENCES FROM THE USE OF PROGRAMS OR DOCUMENTS OR ANY FILE OR FILES CREATED BY USE OF THE PROGRAMS OR DOCUMENTS LIES SOLELY WITH THE USERS OF THE PROGRAMS OR DOCUMENTS OR FILE OR FILES AND NOT WITH AUTHORS OF THE PROGRAMS OR DOCUMENTS.
Subject to your acceptance of the conditions stated above, and your respect for the terms and conditions stated in the notices below, if you are not going to make any modifications or create derived works, you are given permission to freely copy and distribute this package, provided you do the following:
1. Either include the complete documentation, especially the file NOTICE, with what you distribute or provide a clear indication where people can get a copy of the documentation; and
2. Give credit where credit is due citing the version and original authors properly;
and
3. Do not give anyone the impression that the original authors are providing a warranty of any kind.
In addition, you may also modify this package and create derived works provided you do the following:
4. Explain in your documentation how what you did differs from this version of RasMol;
and
5. Make your modified source code available.
Information in this document is subject to change without notice and does not represent a commitment on the part of the supplier. This package is sold/distributed subject to the condition that it shall not, by way of trade or otherwise, be lent, re-sold, hired out or otherwise circulated without the supplier's prior consent, in any form of packaging or cover other than that in which it was produced. No part of this manual or accompanying software may be reproduced, stored in a retrieval system on optical or magnetic disk, tape or any other medium, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise for any purpose other than the purchaser's personal use.
This product is not to be used in the planning, construction, maintenance, operation or use of any nuclear facility nor the flight, navigation or communication of aircraft or ground support equipment. The author shall not be liable, in whole or in part, for any claims or damages arising from such use, including death, bankruptcy or outbreak of war.
Overview
The Crystallographic Information File (CIF)[1] is a standard for information interchange promulgated by the International Union of Crystallography (IUCr). CIF (Hall, Allen & Brown, 1991) is the recommended method for submitting publications to Acta Crystallographica Section C and reports of crystal structure determinations to other sections of Acta Crystallographica and many other journals. The syntax of a CIF is a subset of the more general STAR File[2] format. The CIF and STAR File approaches are used increasingly in the structural sciences for data exchange and archiving, and are having a significant influence on these activities in other fields.
Statement of intent
The IUCr's interest in the STAR File is as a general data interchange standard for science, and its interest in the CIF, a conformant derivative of the STAR File, is as a concise data exchange and archival standard for crystallography and structural science.
Protection of the standards
To protect the STAR File and the CIF as standards for interchanging and archiving electronic data, the IUCr, on behalf of the scientific community,
* holds the copyrights on the standards themselves,
* owns the associated trademarks and service marks, and
* holds a patent on the STAR File.
These intellectual property rights relate solely to the interchange formats, not to the data contained therein, nor to the software used in the generation, access or manipulation of the data.
Promotion of the standards
The sole requirement that the IUCr, in its protective role, imposes on software purporting to process STAR File or CIF data is that the following conditions be met prior to sale or distribution.
* Software claiming to read files
written to either the STAR File or the
CIF standard must be able to extract the pertinent data from a file conformant
to the STAR File syntax, or the CIF syntax, respectively.
* Software
claiming to write files in either the STAR File, or the CIF,
standard must produce files that are conformant to the STAR File syntax,
or the CIF syntax, respectively.
* Software claiming to read definitions
from a specific data dictionary
approved by the IUCr must be able to extract any pertinent definition
which is conformant to the dictionary definition language (DDL)[3] associated
with that dictionary.
The IUCr, through its Committee on CIF Standards, will assist any developer to verify that software meets these conformance conditions.
Glossary of terms
[1] CIF:
is a data file conformant to the
file syntax defined at http://www.iucr.org/iucr-top/cif/spec/index.html
[2] STAR File:
is a data file conformant to the file syntax defined at http://www.iucr.org/iucr-top/cif/spec/star/index.html
[3] DDL:
is a language used in a data dictionary to define data items in terms of "attributes". Dictionaries currently approved by the IUCr, and the DDL versions used to construct these dictionaries, are listed at http://www.iucr.org/iucr-top/cif/spec/ddl/index.html
Last modified: 30 September 2000
IUCr Policy Copyright (C) 2000 International
Union of Crystallography
* The items furnished herewith were developed under the sponsorship of the U.S. Government. Neither the U.S., nor the U.S. D.O.E., nor the Leland Stanford Junior University, nor their employees, makes any warranty, express or implied, or assumes any liability or responsibility for accuracy, completeness or usefulness of any information, apparatus, product or process disclosed, or represents that its use will not infringe privately-owned rights. Mention of any product, its manufacturer, or suppliers shall not, nor is it intended to, imply approval, disapproval, or fitness for any particular use. The U.S. and the University at all times retain the right to use and disseminate the furnished items for any purpose whatsoever.
Notice 91 02 01
http://ndbserver.rutgers.edu/NDB/mmcif/software
CIFPARSE is part of the NDBQUERY application, a program component of the Nucleic Acid Database Project [ H. M. Berman, W. K. Olson, D. L. Beveridge, J. K. Westbrook, A. Gelbin, T. Demeny, S. H. Shieh, A. R. Srinivasan, and B. Schneider. (1992). The Nucleic Acid Database: A Comprehensive Relational Database of Three-Dimensional Structures of Nucleic Acids. Biophys J., 63, 751-759.], whose cooperation is gratefully acknowledged, especially in the form of design concepts created by J. Westbrook.
Please be aware of the following notice in the CIFPARSE API:
This software is provided WITHOUT WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR ANY OTHER WARRANTY, EXPRESS OR IMPLIED. RUTGERS MAKE NO REPRESENTATION OR WARRANTY THAT THE SOFTWARE WILL NOT INFRINGE ANY PATENT, COPYRIGHT OR OTHER PROPRIETARY RIGHT.
The program reads in a molecule coordinate file and interactively displays the molecule on the screen in a variety of colour schemes and molecule representations. Currently available representations include depth-cued wireframes, 'Dreiding' sticks, spacefilling (CPK) spheres, ball and stick, solid and strand biomolecular ribbons, atom labels and dot surfaces.
Up to 5 molecules may be loaded and displayed at once. Any
one or all of the molecules may be rotated and translated.
The RasMol help facility can be accessed by typing "help <topic>" or "help <topic> <subtopic>" from the command line. A complete list of RasMol commands may be displayed by typing "help commands". A single question mark may also be used to abbreviate the keyword "help". Please type "help notices" for important notices.
The commands/keywords currently recognised by RasMol are given below.
The reserved word backbone is also used as a predefined set ("help sets") and as a parameter to the set hbond and set ssbond commands. The RasMol command trace renders a smoothed backbone, in contrast to backbone which connects alpha carbons with straight lines.
The backbone may be displayed with dashed lines by use of the backbone dash command.
The background command is synonymous with the RasMol set background command.
Rotation around a previously picked bond may be specified by the rotate bond <angle> command, or may also be controlled with the mouse, using the bond rotate on/off or the equivalent rotate bond on/off commands.
Type help expression for more information on RasMol atom expressions.
Alternatively the centring may be given as a comma separated triple of [CenX, CenY, CenZ] offsets in RasMol units (1/250 of an Angstrom) from the centre of gravity. The triple must be enclosed in square brackets.
The optional forms centre ... translate and centre ... center may be used to specify use of a translated centre of rotation (not necessarily in the centre of the canvas) or a centre of rotation which is placed at the centre of the canvas. Starting with RasMol 2.7.2, the default is to center the new axis on the canvas.
When using RasMol on a UNIX or VMS system this functionality may be achieved by generating a raster image in a format that can be read by the receiving program using the RasMol write command.
Allowed objects are atoms, bonds, backbone, ribbons, labels, dots, hbonds and ssbonds. If no object is specified, the default keyword atom is assumed. Some colour schemes are defined for certain object types. The colour scheme none can be applied to all objects except atoms and dots, stating that the selected objects have no colour of their own, but use the colour of their associated atoms (i.e. the atoms they connect). Atom objects can also be coloured by alt, amino, chain, charge, cpk, group, model, shapely, structure, temperature or user. Hydrogen bonds can also be coloured by type and dot surfaces can also be coloured by electrostatic potential. For more information type help colour <colour>.
This command interacts with the slab <value> command, which clips to the front of a given z-clipping plane.
By default, the colour of each point on a dot surface is the colour of its closest atom at the time the surface is generated. The colour of the whole dot surface may be changed using the colour dots command.
By default the dotted lines are drawn between the accepting oxygen and the donating nitrogen. By using the set hbonds command the alpha carbon positions of the appropriate residues may be used instead. This is especially useful when examining proteins in backbone representation.
Atom labelling for the currently selected atoms may be turned off with the command label off. By default, if no string is given as a parameter, RasMol uses labels appropriate for the current molecule.
The colour of each label may be changed using
the colour label command. By default, each label is drawn in the same colour
as the atom to which it is attached. The size and spacing of the displayed
text may be changed using the set fontsize command. The width of the strokes
in the displayed text may be changed using the
set fontstroke command.
The load command selects all the atoms in the molecule, centres it on the screen and renders it as a CPK coloured wireframe model. If the molecule contains no bonds (i.e. contains only alpha carbons), it is drawn as an alpha carbon backbone. If the file specifies fewer bonds than atoms, RasMol determines connectivity using the connect command.
The load inline command also allows the storing of atom coordinates in scripts to allow better integration with WWW browsers. A load command executed inside a script file may specify the keyword inline instead of a conventional filename. This option specifies that the coordinates of the molecule to load are stored in the same file as the currently executing commands.
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 interactively with the mouse, using the set picking monitor command. Clicking on an atom results in its being identified on the rasmol command line. In addition every atom picked increments a modulo counter such that, in monitor mode, every second atom displays the distance between this atom and the previous one. 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.
When using RasMol on a UNIX or VMS system this functionality may be achieved by either generating a PostScript file using the RasMol write ps or write vectps commands and printing that or generating a raster image file and using a utility to dump that to the local printer.
This command should not be mistaken for the RasMol zap command which deletes the currently stored molecule, returning the program to its initial state.
Type "help expression" for more information on RasMol atom expressions.
The width of the ribbon at each position is determined by the optional parameter in the usual RasMol units. By default the width of the ribbon is taken from the secondary structure of the protein or a constant value of 720 (2.88 Angstroms) for nucleic acids. The default width of protein alpha helices and beta sheets is 380 (1.52 Angstroms) and 100 (0.4 Angstroms) for turns and random coil. The secondary structure assignment is either from the PDB file or calculated using the DSSP algorithm as used by the structure command. This command is similar to the RasMol command strands which renders the biomolecular ribbon as parallel depth-cued curves.
Alternatively, this command may be used to specify which rotations the mouse or dials will control. If rotate bond true is selected, the horizontal scroll bar will control rotation around the axis selected by the bond src dst pick command. If rotate all true is selected, and multiple molecules have been loaded, then all molecules will rotate together. In all other cases, the mouseand dials control the the rotation of the molecule selected by the molecule n command.
The most common way to generate a RasMol script file is to use the write script or write rasmol commands to output the sequence of commands that are needed to regenerate the current view, representation and colouring of the currently displayed molecule.
The RasMol command source is synonymous with the script command.
Type "help expression" for more information on RasMol atom expressions.
This command interacts with the depth <value> command, which clips to the rear of a given z-clipping plane.
The temperature option sets the radius of each sphere to the value stored in its temperature field. Zero or negative values have no effect and values greater than 2.0 are truncated to 2.0. The user option allows the radius of each sphere to be specified by additional lines in the molecule's PDB file using Raster 3D's COLOUR record extension.
The RasMol command cpk is synonymous with the spacefill command.
By default disulphide bonds are drawn between the sulphur atoms within the cysteine groups. By using the set ssbonds command the position of the cysteine's alpha carbons may be used instead.
The command star true, the default, represents each atom as a star with strokes length equal to van der Waals radius. The command star off turns off the representation of the selected atom as stars. A star stroke length may be specified as an integer in RasMol units (1/250th Angstrom) or a value containing a decimal point. A value of 500 (2.0 Angstroms) or greater results in a "Parameter value too large" error.
The temperature option sets the stroke length of each star to the value stored in its temperature field. Zero or negative values have no effect and values greater than 2.0 are truncated to 2.0. The user option allows the stroke length of each star to be specified by additional lines in the molecule's PDB file using Raster 3D's COLOUR record extension.
The RasMol spacefill command can be used for more artistic rendering of atoms as spheres.
Starting with RasMol version 2.7.2.1, the Stereo menu selection and the command stereo without arguments cycle from the initial state of stereo off to stereo on in cross-eyed mode to stereo on in wall-eyed mode and then back to stereo off.
The separation angle between the two views may be adjusted with the set stereo [-] <number> command, where positive values result in crossed eye viewing and negative values in relaxed (wall-eyed) viewing. The inclusion of [-] <number> in the stereo command, as for example in stereo 3 or stereo -5, also controls angle and direction.
The stereo
command is only partially implemented. When stereo is turned on, the image
is not properly recentred. (This can be done with a translate x -<number>
command.)
It is not supported in vector PostScript output files, is not saved by
the write script command, and in general is not yet properly interfaced
with several other features of the program.
The width of the ribbon at each position is determined by the optional parameter in the usual RasMol units. By default the width of the ribbon is taken from the secondary structure of the protein or a constant value of 720 for nucleic acids (which produces a ribbon 2.88 Angstroms wide). The default width of protein alpha helices and beta sheets is 380 (1.52 Angstroms) and 100 (0.4 Angstroms) for turns and random coil. The secondary structure assignment is either from the PDB file or calculated using the DSSP algorithm as used by the structure command. This command is similar to the RasMol command ribbons which renders the biomolecular ribbon as a smooth shaded surface.
Trace temperature displays the backbone as a wider cylinder at high temperature factors and thinner at lower. This representation is useful to X-ray crystallographers and NMR spectroscopists.
The command unbond without arguments removes a bond previously picked by the bond <number> <number> pick command.
If the selected bonds involved atoms of alternate conformers then the bonds are narrowed in the middle to a radius of .8 of the specified radius (or to the radius specifed as the optional second parameter).
Non-bonded atoms, which could become invisible in an ordinary wireframe display can be marked by a preceding set bondmode not bonded command. If nearly co-linear bonds to atoms cause them to be difficult to see in a wireframe display, the set bondmode all command will add markers for all atoms in subsequent wireframe command executions.
The distinction between this command and the RasMol save command has been dropped. The only difference is that without a format specifier the save command generates a PDB file and the write command generates a GIF image.
This parameter is commonly used to correct for monitors with different "gamma values" (brightness), to change how light or dark a hardcopy image appears when printed or to alter the feeling of depth for wireframe or ribbon representations.
The command set background is synonymous with the RasMol command background.
When using the select and restrict commands, a given bond will be selected if i) the bondmode is or and either of the connected atoms is selected, or ii) the bondmode is and and both atoms connected by the bond are selected. Hence an individual bond may be uniquely identified by using the command set bondmode and and then uniquely selecting the atoms at both ends.
The bondmode [all | none | not bonded] commands add star 75 or spacefill 75 markers for the designated atoms to wireframe displays. Stars are used when the specified wireframe radius is zero.
When wider strokes are used, a larger font size is recommend, e.g. by using the RasMol set fontsize 24 PS command, followed by set fontstroke 2
To display atom labels on the screen use the RasMol label command, and to change the colour of displayed labels use the colour labels command.
Enabling/Disabling Atom Identification Picking: Clicking on an atom with the mouse results in identification and the display of its residue name, residue number, atom name, atom serial number and chain in the command window. This behavior may be disabled with the command set picking none and restored with the command set picking ident. The command set picking coord adds the atomic coordinates of the atom to the display.
Disabling picking, by using set picking off is useful when executing the pause command in RasMol scripts as it prevents the display of spurious message on the command line while the script is suspended.
Measuring Distances, Angles and Torsions: Interactive measurement of distances, angles and torsions is achieved using the commands: set picking distance, set picking monitor, 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 (or distance monitor) 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. See the monitor command for how to control the display of distance monitor lines and labels.
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.
Centring Rotation with the Mouse: A molecule may be centred on a specified atom position using the RasMol commands set picking centre or set picking center. In this mode, picking an atom causes all futher rotations to be about that point.
Picking a Bond as a Rotation Axis: Any bond may be picked as an axis of rotation for the portion of the molecule beyond the second atom selected. This feature should be used with caution, since, naturally, it changes the conformation of the molecule. After executing set picking bond or using the equivalent "Pick Bond" in the "Settings" menu, a bond to be rotated is picked with the same sort of mouse clicks as are used for picking atoms for a distance measurement. Normally this should be done where a bond exists, but if no bond exists, it will be added. The bond cannot be used for rotation if it is part of a ring of any size. All bonds selected for rotation are remembered so that they can be properly reported when writing a script, but only the most recently selected bond may be actively rotated.
Enabling Atom/Group/Chain Selection Picking: Atoms, groups and chains may be selected (as if with the select command), with the set picking atom, set picking group, set picking chain commands. For each of these commands, the shift key may be used to have a new selection added to the old, and the control key may be used to have a new selection deleted from the old. When the set picking atom command is given, the mouse can be used to pick or to drag a box around the atoms for which selection is desired. When the set picking group command is given, picking any an atom will cause selection of all atoms which agree in residue number with the picked atom, even if in different chains. When the set picking chain command is given, picking any atom will cause selection of all atoms which agree in chain identifier with the picked atom.
This implementation of shadepower differs from the one in RasTop only in the choice of range (0 to 100 versus -20 to 20 in RasTop).
The specular highlights on the surfaces of solid objects may be altered by using the specular reflection coefficient, which is altered using the RasMol set specpower command.
Stereo viewing of a molecule may be turned on (and off) either by selecting Stereo from the Options menu, or by typing the commands stereo on or stereo off.
The separation angle between the two views may be adjusted with the set stereo [-] <number> command, where positive values result in crossed eye viewing and negative values in relaxed (wall-eyed) viewing. Currently, stereo viewing is not supported in vector PostScript output files.
The logical operators allow complex queries to be constructed out of simpler ones using the standard boolean connectives and, or and not. These may be abbreviated by the symbols "&", "|" and "!", respectively. Parentheses (brackets) may be used to alter the precedence of the operators. For convenience, a comma may also be used for boolean disjunction.
The atom expression is evaluated for each atom, hence protein and backbone selects protein backbone atoms, not the protein and [nucleic] acid backbone atoms!
The second type of primitive expression specifies a sequence of fields that must match for a given atom. The first part specifies a residue (or group of residues) and an optional second part specifies the atoms within those residues. The first part consists of a residue name, optionally followed by a residue number and/or chain identifier.
The second part consists of a period character followed by an atom name. An atom name may be up to four alphabetic or numeric characters. An optional semicolon followed by an alternate conformation identifier may be appended. An optional slash followed by a model number may also be appended.
An asterisk may be used as a wild card for a whole field and a question mark as a single character wildcard.
The atom properties that may be used in RasMol are atomno for the atom serial number, elemno for the atom's atomic number (element), resno for the residue number, radius for the spacefill radius in RasMol units (or zero if not represented as a sphere) and temperature for the PDB isotropic temperature value.
The equality operator is denoted either "=" or "==". The inequality operator as either "<>", "!=" or "/=". The ordering operators are "<" for less than, "<=" for less than or equal to, ">" for greater than, and ">" for greater than or equal to.
For example, the command select within(3.2,backbone) selects any atom within a 3.2 Angstrom radius of any atom in a protein or nucleic acid backbone. Within expressions are particularly useful for selecting the atoms around an active site.
The predefined set mainchain is synonymous with the set backbone.
This predefined set should not be confused with the predefined set alpha which contains the alpha carbon atoms of a protein.
If you frequently wish to use a colour not predefined, you can write a one-line script. For example, if you make the file grey.col containing the line, colour [180,180,180] #grey, then the command script grey.col colours the currently selected atom set grey.
The difference between the charge and temperature colour schemes is that increasing temperature values proceed from blue to red, whereas increasing charge values go from red to blue.
If the charge/temperature field stores reasonable values it is possible to use the RasMol colour dots potential command to colour code a dot surface (generated by the dots command) by electrostatic potential.
If a chain has a large number of heterogeneous molecules associated with it, the macromolecule may not be drawn in the full range of the spectrum. When RasMol performs group coloring it decides the range of colors it uses from the residue numbering given in the PDB file. Hence the lowest residue number is displayed in blue and the highest residue number is displayed as red. Unfortunately, if a PDB file contains a large number of heteroatoms, such as water molecules, that occupy the high residue numbers, the protein is displayed in the blue-green end of the spectrum and the waters in the yellow-red end of the spectrum. This is aggravated by there typically being many more water molecules than amino acid residues. The solution to this problem is to use the command set hetero off before applying the group color scheme. This can also be achieved by toggling Hetero Atoms on the Options menu before selecting Group on the Colour menu. This command instructs RasMol to only use non-hetero residues in the group color scaling.
The difference between the temperature and charge colour schemes is that increasing temperature values proceed from blue to red, whereas increasing charge values go from red to blue.
PDB file entries consist of records of 80 characters each. Using the punched card analogy, columns 1 to 6 contain a record-type identifier, the columns 7 to 70 contain data. In older entries, columns 71 to 80 are normally blank, but may contain sequence information added by library management programs. In new entries conforming to the 1996 PDB format, there is other information in those columns. The first four characters of the record identifier are sufficient to identify the type of record uniquely, and the syntax of each record is independent of the order of records within any entry for a particular macromolecule.
The only record types that are of major interest to the RasMol program are the ATOM and HETATM records which describe the position of each atom. ATOM/HETATM records contain standard atom names and residue abbreviations, along with sequence identifiers, coordinates in Angstrom units, occupancies and thermal motion factors. The exact details are given below as a FORTRAN format statement. The "fmt" column indicates use of the field in all PDB formats, in the 1992 and earlier formats or in the 1996 and later formats.
Residues occur in order starting from the N-terminal residue for proteins and 5'-terminus for nucleic acids. If the residue sequence is known, certain atom serial numbers may be omitted to allow for future insertion of any missing atoms. Within each residue, atoms are ordered in a standard manner, starting with the backbone (N-C-C-O for proteins) and proceeding in increasing remoteness from the alpha carbon, along the side chain.
HETATM records are used to define post-translational modifications and cofactors associated with the main molecule. TER records are interpreted as breaks in the main molecule's backbone.
If present, RasMol also inspects HEADER, COMPND, HELIX, SHEET, TURN, CONECT, CRYST1, SCALE, MODEL, ENDMDL, EXPDTA and END records. Information such as the name, database code, revision date and classification of the molecule are extracted from HEADER and COMPND records, initial secondary structure assignments are taken from HELIX, SHEET and TURN records, and the end of the file may be indicated by an END record.
When a data file contains an NMR structure, multiple conformations may be placed in a single PDB file delimited by pairs of MODEL and ENDMDL records. RasMol displays all the NMR models contained in the file.
Residue names "CSH", "CYH" and "CSM" are considered pseudonyms for cysteine "CYS". Residue names "WAT", "H20", "SOL" and "TIP" are considered pseudonyms for water "HOH". The residue name "D20" is consider heavy water "DOD". The residue name "SUL" is considered a sulphate ion "SO4". The residue name "CPR" is considered to be cis-proline and is translated as "PRO". The residue name "TRY" is considered a pseudonym for tryptophan "TRP".
RasMol uses the HETATM fields to define the sets hetero, water, solvent and ligand. Any group with the name "HOH", "DOD", "SO4" or "PO4" (or aliased to one of these names by the preceding rules) is considered a solvent and is considered to be defined by a HETATM field.
RasMol only respects CONECT connectivity records in PDB files containing fewer than 256 atoms. This is explained in more detail in the section on determining molecule connectivity. CONECT records that define a bond more than once are interpreted as specifying the bond order of that bond, i.e. a bond specified twice is a double bond and a bond specified three (or more) times is a triple bond. This is not a standard PDB feature.
Colours are assigned to atoms using a matching process. The Mask field is used in the matching process as follows. First RasMol reads in and remembers all the ATOM, HETATM and COLO records in input order. When the user-defined ('User') colour scheme is selected, RasMol goes through each remembered ATOM/HETATM record in turn, and searches for a COLO record that matches in all of columns 7 through 30. The first such COLO record to be found determines the colour and radius of the atom.
Note that the Red, Green and Blue components are in the same positions as the X, Y, and Z components of an ATOM or HETA record, and the van der Waals radius goes in the place of the Occupancy. The Red, Green and Blue components must all be in the range 0 to 1.
In order that one COLO record can provide colour and radius specifications for more than one atom (e.g. based on residue, atom type, or any other criterion for which labels can be given somewhere in columns 7 through 30), a 'don't-care' character, the hash mark "#" (number or sharp sign) is used. This character, when found in a COLO record, matches any character in the corresponding column in a ATOM/HETATM record. All other characters must match identically to count as a match. As an extension to the specification, any atom that fails to match a COLO record is displayed in white.
Once multiple NMR conformations have been loaded they may be manipulated with the atom expression extensions described in Primitive Expressions. In particular, the command restrict */1 will restrict the display to the first model only.
There are many useful sites on the World Wide Web where information tools and software related to CIF, mmCIF and the PDB can be found. The following are good starting points for exploration:
The International Union of Crystallography (IUCr) provides access to software, dictionaries, policy statements and documentation relating to CIF and mmCIF at: IUCr, Chester, England (www.iucr.org/iucr-top/cif/) with many mirror sites.
The Nucleic Acid Database Project provides access to its entries, software and documentation, with an mmCIF page giving access to the dictionary and mmCIF software tools at Rutgers University, New Jersey, USA (http://ndbserver.rutgers.edu/NDB/mmcif) with many mirror sites.
This version of RasMol restricts CIF or mmCIF tag values to essentially the same conventions as are used for the fixed-field PDB format. Thus chain identifiers and alternate conformation identifiers are limited to a single character, atom names are limited to 4 characters, etc. RasMol interprets the following CIF and mmCIF tags: A search is made through multiple data blocks for the desired tags, so a single dataset may be composed from multiple data blocks, but multiple data sets may not be stacked in the same file.
In the following sections, support for Monochrome X-Windows, Tcl/Tk IPC, UNIX sockets based IPC, Compiling RasWin with Borland and MetroWerks are described.
[2] Arthur M. Lesk, "Protein Architecture: A Practical Approach", IRL Press Publishers, 1991.
[4] David Bacon and Wayne F. Anderson, "A Fast Algorithm for Rendering Space-Filling Molecule Pictures", Journal of Molecular Graphics, Vol.6, No.4, pp.219-220, December 1988.
[5] David C. Richardson and Jane S. Richardson, "The Kinemage: A tool for Scientific Communication", Protein Science, Vol.1, No.1,pp.3-9, January 1992.
[6] Mike Carson, "RIBBONS 2.0", Journal of Applied Crystallography, Vol.24, pp.958-961, 1991.
[7] Conrad C. Huang, Eric F. Pettersen, Teri E. Klein, Thomas E. Ferrin and Robert Langridge, "Conic: A Fast Renderer for Space-Filling Molecules with Shadows", Journal of Molecular Graphics, Vol.9, No.4, pp.230-236, December 1991.
[9] Michael L. Connolly, "Solvent-Accessible Surfaces of Proteins and Nucleic Acids", Science, Vol.221, No.4612, pp.709-713, August 1983.
[10] Khaled Belhadj-Mostefa, Ron Poet and E. James Milner-White, "Displaying Inter-Main Chain Hydrogen Bond Patterns in Proteins", Journal of Molecular Graphics, Vol.9, No.3, pp.194-197, September 1991.
[11] Mike Carson, "Ribbon Models of Macromolecules", Journal of Molecular Graphics, Vol.5, No.2, pp.103-106, June 1987.
[12] Mike Carson and Charles E. Bugg, "Algorithm for Ribbon Models of Proteins", Journal of Molecular Graphics, Vol.4, No.2, pp.121-122, June 1986.
[13] H. Iijima, J. B. Dunbar Jr. and G. Marshall, "Calibration of Effective van der Waals Atomic Contact Radii for Proteins and Peptides", Proteins: Structure, Functions and Genetics, Vol.2, pp.330-339,1987.
[15] J. Cleary and G. Wyvill, "Analysis of an Algorithm for Fast Ray Tracing using Uniform Space Subdivision", The Visual Computer, Vol.4, pp.65-83, 1988.
[16] Thomas Porter,"Spherical Shading", Computer Graphics Vol.12, ACM SIGGRAPH, pp.282-285, 1978.
[17] Jean-Michel Cense, "Exact Visibility Calculation for Space-Filling Molecular Models", Journal of Molecular Graphics, Vol.9, No.3, pp.191-193, September 1991.
[18] Chris Schafmeister, "Fast Algorithm for Generating CPK Images on Graphics Workstations", Journal of Molecular Graphics, Vol.8, No.4, pp.201-206, December 1990.
[19] Bruce A. Johnson, "MSURF: A Rapid and General Program for the Representation of Molecular Surfaces", Journal of Molecular Graphics, Vol.5, No.3, pp.167-169, September 1987.
[21] Arthur Dalby, James G. Nourse, W. Douglas Hounshell, Ann K. I. Gushurst, David L. Grier, Burton A. Leland and John Laufer, "Description of Several Chemical File Formats Used by Computer Programs Developed at Molecular Design Limited", Journal of Chemical Information and Computer Sciences, Vol.32, No.3, pp.244-255, 1992.
[22] Adobe Systems Inc., "PostScript Language Reference Manual", Addison-Wesley Publishers, Reading, Mass., 1985.
[23] Philip E. Bourne et al., "The Macromolecular Crystallographic Information File (mmCIF)", Meth. Enzymol. (1997) 277, 571-590.
[24] Sydney R. Hall, "The STAR File: a New Format for Electronic Data Transfer and Archiving", Journal of Chemical Information and Computer Sciences, Vol. 31, 326-333, 1991.