[IUCr Home Page] [CIF Home Page] [RasMol]
| OpenRasMol | Copying and Distribution | Contents | Installation Instructions |
| Changes | Things To Do | Introduction | Source Code and Binaries |
| RasMol Manual | Spanish Translation of RasMol Manual | Italian Translation of RasMol Help File |
| Donate to Support RasMol | Release README | Register your RasMol |

Manual
RasMol 2.7.4.2

       RasMol       

Molecular Graphics Visualisation Tool
19 November 2007 (rev. 17 March 2008)

Based on RasMol 2.6 by Roger Sayle
Biomolecular Structures Group
Glaxo Wellcome Research & Development
Stevenage, Hertfordshire, UK
Version 2.6, August 1995, Version 2.6.4, December 1998
Copyright © Roger Sayle 1992-1999

and Based on Mods by
AuthorVersion, DateCopyright
Arne MuellerRasMol 2.6x1 May 1998© Arne Mueller 1998
Gary Grossman and
Marco Molinaro
RasMol 2.5-ucb November 1995
RasMol 2.6-ucb November 1996
© UC Regents/ModularCHEM
Consortium 1995, 1996
Philippe ValadonRasTop 1.3 August 2000© Philippe Valadon 2000
Herbert J. BernsteinRasMol 2.7.0 March 1999
RasMol 2.7.1 June 1999
RasMol 2.7.1.1 January 2001
RasMol 2.7.2 August 2000
RasMol 2.7.2.1 April 2001
RasMol 2.7.2.1.1 January 2004
RasMol 2.7.3 February 2005
RasMol 2.7.3.1 Apr 06
RasMol 2.7.4 November 2007
RasMol 2.7.4.1 January 2008
RasMol 2.7.4.2 March 2008
© Herbert J. Bernstein 1998-2008

RasMol 2.7.3 incorporates changes by Clarice Chigbo, Ricky Chachra, and Mamoru Yamanishi. Work on RasMol 2.7.3 supported in part by grants DBI-0203064, DBI-0315281 and EF-0312612 from the U.S. National Science Foundation and grant DE-FG02-03ER63601 from the U.S. Department of Energy. RasMol 2.7.4 incorporates changes by G. Todorov, Nan Jia, N. Darakev, P. Kamburov, G. McQuillan, J. Jemilawon. Work on RasMol 2.7.4 supported in part by grant 1R15GM078077-01 from the National Institute of General Medical Sciences (NIGMS). The content is solely the responsibility of the authors and does not necessarily represent the official views of the funding organizations.

The code for use of RasMol under GTK in RasMol 2.7.4.2 was written by Teemu Ikonen.

and Incorporating Translations by
AuthorItemLanguage
Isabel Serván Martínez,
José Miguel Fernández Fernández
2.6 ManualSpanish
José Miguel Fernández Fernández2.7.1 ManualSpanish
Fernando Gabriel Ranea2.7.1 menus and messagesSpanish
Jean-Pierre Demailly2.7.1 menus and messagesFrench
Giuseppe Martini, Giovanni Paolella,
A. Davassi, M. Masullo, C. Liotto
2.7.1 menus and messages
2.7.1 help file
Italian
G. Pozhvanov2.7.3 menus and messagesRussian
G. Todorov2.7.3 menus and messagesBulgarian
Nan Jia, G. Todorov2.7.3 menus and messagesChinese
Mamoru Yamanishi, Katajima Hajime2.7.3 menus and messagesJapanese

This Release by
Herbert J. Bernstein, Bernstein + Sons, P.O. Box 177, Bellport, NY, USA

Copyright © Herbert J. Bernstein 1998-2008

The original RasMol manual was created by Roger Sayle. In July 1996, Dr. Margaret Wong of the Chemistry Department, Swinburne University of Technology, Australia, made extensive revisions to the RasMol 2.5 manual to accurately reflect the operation of RasMol 2.6. Eric Martz of the University of Massachusetts made further revisions. In May 1997, William McClure of Carnegie Mellon University reorganized the HTML version of the manual into multiple sections which could be downloaded quickly and added use of frames. Portions of the 2.7.1 version of the RasMol manual were derived with permission from William McClure's version using Roger Sayle's rasmol.doc for version 2.6.4 as the primary source. Changes have been made in August 2000 for RasMol version 2.7.2, January 2001 for RasMol version 2.7.1.1, April 2001 for RasMol version 2.7.2.1 and February 2005 for RasMol version 2.7.3 and November 2007, January 2008 and March 2008 for RasMol version 2.7.4.

Documentation Last Updated 12 November 2007
Edited by Herbert J. Bernstein and Frances C. Bernstein

Translations

Thanks to the efforts of José Miguel Fernández Fernández (Departamento de Bioquímica y Biología Molecular. Universidad de Granada. España (jmfernan@ugr.es)) a translation of the Manual for Rasmol version 2.7.1 into Spanish is now available. La traducción española del manual de la versión de la Dra. Wong revisada por Eric Martz fue realizada por Isabel Serván Martínez y José Miguel Fernández Fernández. La actual traducción del Manual de RasMol 2.7.1 ha sido realizada usando como base la anterior de RasMol 2.6 por  José Miguel Fernández Fernández.

Thanks to translations by Fernando Gabriel Ranea in late 2000 and early 2001, RasMol is now capable of rendering most menu items and messages in Spanish. Jean-Pierre Demailly provided French translations of menus and messages in January 2001. Giuseppe Martini and Giovanni Paolella with contributions by A. Davassi, M. Masullo and C. Liotto provided Italian translations of menus and messages in March 2001.


THIS IS A PRELIMINARY RELEASE INVOLVING EXTENSIVE MODIFICATIONS
***** USE WITH CAUTION ******


IMPORTANT

This version is based directly on RasMol version 2.7.4, on RasMol version 2.7.3.1, on RasMol vesion 2.7.3, on RasMol version 2.7.2.1.1, on RasMol version 2.7.2, on RasMol version 2.7.1, on RasMol version 2.6_CIF.2, on RasMol version 2.6x1, on RasMol version 2.6.4, and RasMol 2.5-ucb and 2.6-ucb.

Please read the file NOTICE for important notices which apply to this package and for license terms (GPL or RASLIC).


Table of Contents

  1. Notices
  2. Copying
  3. Introduction
  4. General Operation
  5. Command Reference
    Backbone Background Bond Bulgarian Cartoon Centre Chinese Clipboard
    Colour ColourMode Connect CPK CPKnew Define Depth Dots
    Echo English Exit French HBonds Help Italian Japanese
    Label Load Map Molecule Monitor NoToggle Pause Print
    Quit Refresh Renumber Reset Restrict Ribbons Rotate Save
    Script Select Set Show Slab Source Spacefill Spanish
    SSBonds Star Stereo Strands Structure Surface Trace Translate
    UnBond Wireframe Write Zap Zoom
  6. Internal Parameters
    Ambient Axes Background BackFade BondMode Bonds BoundBox Cartoon
    CisAngle Display FontSize FontStroke HBonds Hetero HourGlass Hydrogen
    Kinemage Menus Monitor Mouse Picking Radius ShadePower Shadow
    SlabMode Solvent Specular SpecPower Stereo SSBonds Strands Transparent
    UnitCell VectPS Write
  7. Atom Expressions
  8. Predefined Sets
  9. Colour Schemes
  10. File Formats
  11. File Machine-Specific Support
  12. Bibliography



RasMol Copyright © Roger Sayle 1992-1999
Version 2.6x1 Mods Copyright © Arne Mueller 1998
Versions 2.5-ucb and 2.6-ucb Mods Copyright © UC Regents/ModularCHEM Consortium 1995, 1996
RasTop 1.3 Copyright © Philippe Valadon 2000
Version 2.7.0, 2.7.1, 2.7.1.1, 2.7.2, 2.7.2.1, 2.7.2.1.1, 2.7.3, 2.7.3.1, 2.7.4, 2.7.4.1, 2.7.4.2 Mods Copyright © Herbert J. Bernstein 1998-2008

rasmol@rasmol.org

All rights reserved. Use of copyright notice does not imply publication or disclosure. The information supplied in this document is believed to be true but no liability is assumed for its use or for the infringements of the rights of the others resulting from its use. Information in this document is subject to change without notice and does not represent a commitment on the part of the supplier.


Notices

This software has been created from several sources. Much of the code is from RasMol 2.6, as created by Roger Sayle.

See: http://www.dcs.ed.ac.uk/home/rasmol

The torsion angle code, new POVRAY3 code and other features are derived from the RasMol2.6x1 revisions by Arne Mueller.

See: ftp://nexus.roko.goe.net/pub/rasmol

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.

See: http://mc2.CCHem.Berkeley.EDU/RasMol

The CIF modifications make use of a library based in part on CBFlib by Paul J. Ellis and Herbert J. Bernstein.

See: http://www.bernstein-plus-sons.com/software/CBF

Parts of CBFlib is loosely based on the CIFPARSE software package from the NDB at Rutgers university.

See http://www.iucr.org/iucr-top/cif/mmcif/ndb/software/CIFPARSE/

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'.


Copying

This version is based directly on RasMol version 2.7.4. on RasMol version 2.7.3.1, on RasMol version 2.7.3, on RasMol version 2.7.2.1.1, Rasmol version 2.7.2, RasMol version 2.7.1.1 and RasTop version 1.3 and indirectly on the RasMol 2.5-ucb and 2.6-ucb versions and version 2.6_CIF.2, RasMol 2.6x1 and RasMol_2.6.4.

RasMol 2.7.4.2 may be distributed under the terms of the GNU General Public License (the GPL), see

http://www.gnu.org/licenses/gpl.txt

or the file GPL or type the command 'help GPL'

or RasMol 2.7.4.2 may be distributed under the RASMOL license. See the file NOTICE or type the command 'help RASLIC'


GPL

                    GNU GENERAL PUBLIC LICENSE
                       Version 2, June 1991

 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

                            Preamble

  The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users.  This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it.  (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.)  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.

  To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have.  You must make sure that they, too, receive or can get the
source code.  And you must show them these terms so they know their
rights.

  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.

  Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software.  If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.

  Finally, any free program is threatened constantly by software
patents.  We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary.  To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.

  The precise terms and conditions for copying, distribution and
modification follow.

                    GNU GENERAL PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License.  The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language.  (Hereinafter, translation is included without limitation in
the term "modification".)  Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.

  1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.

You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.

  2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

    a) You must cause the modified files to carry prominent notices
    stating that you changed the files and the date of any change.

    b) You must cause any work that you distribute or publish, that in
    whole or in part contains or is derived from the Program or any
    part thereof, to be licensed as a whole at no charge to all third
    parties under the terms of this License.

    c) If the modified program normally reads commands interactively
    when run, you must cause it, when started running for such
    interactive use in the most ordinary way, to print or display an
    announcement including an appropriate copyright notice and a
    notice that there is no warranty (or else, saying that you provide
    a warranty) and that users may redistribute the program under
    these conditions, and telling the user how to view a copy of this
    License.  (Exception: if the Program itself is interactive but
    does not normally print such an announcement, your work based on
    the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.

In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

  3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

    a) Accompany it with the complete corresponding machine-readable
    source code, which must be distributed under the terms of Sections
    1 and 2 above on a medium customarily used for software interchange; or,

    b) Accompany it with a written offer, valid for at least three
    years, to give any third party, for a charge no more than your
    cost of physically performing source distribution, a complete
    machine-readable copy of the corresponding source code, to be
    distributed under the terms of Sections 1 and 2 above on a medium
    customarily used for software interchange; or,

    c) Accompany it with the information you received as to the offer
    to distribute corresponding source code.  (This alternative is
    allowed only for noncommercial distribution and only if you
    received the program in object code or executable form with such
    an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for
making modifications to it.  For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable.  However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.

If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.

  4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License.  Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.

  5. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Program or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.

  6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

  7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all.  For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices.  Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

  8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded.  In such case, this License incorporates
the limitation as if written in the body of this License.

  9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

Each version is given a distinguishing version number.  If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation.  If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.

  10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission.  For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this.  Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.

                            NO WARRANTY

  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

                     END OF TERMS AND CONDITIONS

            How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:

    Gnomovision version 69, Copyright (C) year name of author
    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary.  Here is a sample; alter the names:

  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
  `Gnomovision' (which makes passes at compilers) written by James Hacker.

  <signature of Ty Coon>, 1 April 1989
  Ty Coon, President of Vice

This General Public License does not permit incorporating your program into
proprietary programs.  If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library.  If this is what you want to do, use the GNU Library General
Public License instead of this License.


RASLIC

If you do not use the GPL, the following license terms apply:

RasMol License

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 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. 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.


General Notice

The following notice applies to this work as a whole and to the works included within it:

* 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.

See the files GPL and RASLIC for two alternate ways to license this package.


RasMol V2.6 Notice

The following notice applies to RasMol V 2.6 and older RasMol versions.

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.


IUCR Policy

The IUCr Policy for the Protection and the Promotion of the STAR File and CIF Standards for Exchanging and Archiving Electronic Data.

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


CBFLIB

The following Disclaimer Notice applies to CBFlib V0.1, from which this code in part is derived.

* 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


CIFPARSE

Portions of this software are loosely based on the CIFPARSE software package from the NDB at Rutgers University. See

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.


Introduction

RasMol is a molecular graphics program intended for the visualisation of proteins, nucleic acids and small molecules. The program is aimed at display, teaching and generation of publication quality images. RasMol runs on wide range of architectures and operating systems including Microsoft Windows, Apple Macintosh, UNIX and VMS systems. UNIX and VMS versions require an 8, 24 or 32 bit colour X Windows display (X11R4 or later). The X Windows version of RasMol provides optional support for a hardware dials box and accelerated shared memory communication (via the XInput and MIT-SHM extensions) if available on the current X Server.

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 X Windows version of RasMol provides optional support for a hardware dials box and accelerated shared memory communication (via the XInput and MIT-SHM extensions) if available on the current X Server.

The program reads in molecular coordinate files and interactively displays the molecule on the screen in a variety of representations and colour schemes. Supported input file formats include Protein Data Bank (PDB), Tripos Associates' Alchemy and Sybyl Mol2 formats, Molecular Design Limited's (MDL) Mol file format, Minnesota Supercomputer Center's (MSC) XYZ (XMol) format, CHARMm format, CIF format and mmCIF format files. If connectivity information is not contained in the file this is calculated automatically. The loaded molecule can be shown as wireframe bonds, cylinder 'Dreiding' stick bonds, alpha-carbon trace, space-filling (CPK) spheres, macromolecular ribbons (either smooth shaded solid ribbons or parallel strands), hydrogen bonding and dot surface representations. Atoms may also be labelled with arbitrary text strings. Alternate conformers and multiple NMR models may be specially coloured and identified in atom labels. Different parts of the molecule may be represented and coloured independently of the rest of the molecule or displayed in several representations simultaneously. The displayed molecule may be rotated, translated, zoomed and z-clipped (slabbed) interactively using either the mouse, the scroll bars, the command line or an attached dial box. RasMol can read a prepared list of commands from a 'script' file (or via inter-process communication) to allow a given image or viewpoint to be restored quickly. RasMol can also create a script file containing the commands required to regenerate the current image. Finally, the rendered image may be written out in a variety of formats including either raster or vector PostScript, GIF, PPM, BMP, PICT, Sun rasterfile or as a MolScript input script or Kinemage.

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.


General Operation

Running RasMol Under UNIX or VMS

To start RasMol from either the UNIX or VMS prompt, type the command 'rasmol'. This command can be followed by an optional filename. By default, immediately upon starting, the program displays the following message to identify the version number and display depth of the running program. There will be some variation in this message depending on your choice of platform:
     RasMol Molecular Renderer
     Roger Sayle, August 1995
     Copyright (C) Roger Sayle 1992-1999
     Version 2.7.3 February 2005
     Copyright (C) Herbert J. Bernstein 1998-2005
     *** See "help notice" for further notices ***
     [32-bit version]
Immediately underneath this banner message appears the program's command line prompt 'RasMol>'. If the program is being executed under the X Window System, the program determines the type of the display being used. If the screen has either an 8 bit or 24 bit colour frame buffer, RasMol creates another window, which is used to display menu options and the rendered images. If a suitable screen is not available, RasMol may only be used from the command line. Commands may be typed to manipulate the model, and to output the generated image to a raster file.

If the program is run under the X Window System environment with a suitable colour screen, RasMol creates an additional window to display the rendered molecule interactively, as it is manipulated. If RasMol is not run under the X Window System, the program displays the message 'No suitable display detected!'. RasMol may be instructed not to display a graphics window by using the command line option '-nodisplay'. This is particularly useful for running RasMol as a background or batch process.

It is possible to specify either a coordinate filename or a script filename or both on the UNIX/VMS command line. A script file may be specified by adding the option '-script <filename>' to the command line. A molecule coordinate file may be specified by placing its name on the command line, optionally preceded by a file format option. If no format option is given, the specified coordinate file is assumed to be in PDB, CIF or mmCIF format. Valid format options include '-pdb', '-mdl', '-mol2', '-xyz', '- alchemy', '-charmm', '-mopac' and '-cif' which correspond to Protein Data Bank format, Molecular Design Limited's Mol file format, Tripos's Sybyl Mol2 file format, MSC's XMOL XYZ file format, Tripos's Alchemy file format, CHARMm file format, J. P. Stewart's MOPAC file format and IUCr CIF or mmCIF file format, respectively. If both a coordinate file and a script file are specified on the command line, the molecule is loaded first, then the script commands are applied to it. If either file is not found, the program displays the error message 'Error: File not found!' and the user is presented the RasMol prompt.

It is also possible to specify the initial graphics window size or position or both the size and the position with the options '-height nnnn', '-width nnnn', '-xpos nnnn' and '-ypos nnnn'. The numeric values are in pixels. The position is specified in terms of the top left corner of the rendering area.

In order to leave RasMol, the user can type the command quit or exit at the RasMol prompt, and the program will return the user to the familiar unix prompt. Alternatively, if a prompt other than the main RasMol prompt is being displayed, the user may hit control-C (^C) to leave the program. The message '***Quit***' will be output to the terminal, before the usual unix prompt is redisplayed. The program may also be terminated by selecting the Quit menu option, on the bottom of the main menu.

Running RasMol Under Microsoft Windows

To start RasMol under Microsoft Windows, double click on the RasMol icon in the program manager. When RasMol first starts, the program displays a single main window (the display window) with a black background on the screen and provides the command line window minimized as a small icon at the bottom of the screen. The command line or terminal window may be opened by double clicking on this RasMol icon.

It is possible to specify either a coordinate filename or a script filename or both on the windows command line. A script file may be specified by adding the option '-script <filename>' to the command line. A molecule coordinate file may be specified by placing its name on the command line, optionally preceded by a file format option. If no format option is given, the specified coordinate file is assumed to be in PDB, CIF or mmCIF format. Valid format options include '-pdb', '-mdl', '-mol2', '-xyz', '- alchemy', '-charmm', '-mopac' and '-cif' which correspond to Protein Data Bank format, Molecular Design Limited's Mol file format, Tripos's Sybyl Mol2 file format, MSC's XMOL XYZ file format, Tripos's Alchemy file format, CHARMm file format, J. P. Stewart's MOPAC file format and IUCr CIF or mmCIF file format, respectively. If both a coordinate file and a script file are specified on the command line, the molecule is loaded first, then the script commands are applied to it. If either file is not found, the program displays the error message 'Error: File not found!' and the user is presented the RasMol prompt.

It is also possible to specify the initial graphics window size or position or both the size and the position with the options '-height nnnn', '-width nnnn', '-xpos nnnn' and '-ypos nnnn'. The numeric values are in pixels. The position is specified in terms of the top left corner of the rendering area.

Running RasMol on the Apple Macintosh/PPC

To start RasMol on the Macintosh, double click on the RasMol icon using Finder. When RasMol first starts, the program displays two windows, the top window (with the black background) is the graphics or canvas window and the window underneath it (with the white background) is the RasMol command line window. RasMol on the Macintosh may also be started by double clicking on a file owned/created by the application with the signature 'RSML'. This will start up RasMol and pass the selected file to be loaded. There is no way of specifying the file format on the command line with a Macintosh so RasMol attempts to determine the file format by inspecting the file's type signature. Files with type signature 'RSML' are assumed to be RasMol scripts, files of type 'mMOL' are assumed to be MDL Mol files and all other types (principally 'TEXT') are assumed to be in PDB format. Unlike other versions of RasMol it is impossible to specify both a script and a coordinate file simultaneously.

Dragging and dropping multi-file 'movie' scripts onto aliases or copies of the RasMol application file may fail due to confusion about which is the correct script folder. Double-clicking on a script may lead to similar problems if copies are present.

Note that because on a Macintosh only one 'instance' of an application may be running at any one time, if you were double click on another file owned by 'RSML', the running copy of RasMol would zap its molecule and load the newly specified file.

RasMol's Window

On all platforms RasMol displays two windows, the main graphics or canvas window with a black background and a command line or terminal window. At the top of the graphics window (or at the top of the screen for the Macintosh) is the RasMol menu bar. The contents of the menu bar change from platform to platform to support the local user interface guidelines; however, all platforms support the 'File', 'Display', 'Colours', 'Export', 'Options' and 'Settings' pull-down menus. The Main graphics window also has two scroll bars, one on the right and one at the bottom, that may be used to rotate the molecule interactively.

While the mouse pointer is located within the graphics area of the main display window, the mouse pointer is drawn as a cross-hair cursor, to enable the 'picking' of objects being displayed; otherwise the mouse pointer is drawn as an arrowhead. Any characters that are typed at the keyboard while the display window is in 'focus' (meaning active or foreground) are redirected to the command line in the terminal window. Hence you do not need continually to switch focus between the command line and graphics windows.

The display window may be resized at any point during the session. This has the effect of simply rescaling the image displayed on the canvas. RasMol imposes limits on the size of the display window such that the window must be large enough to display the menu and scroll bars and yet small enough to fit on a single screen. Attempts to enlarge the screen may fail owing to insufficient memory on the host machine, in which case RasMol reports the error message 'Renderer Error: Unable to allocate frame buffer!' or some similar error.

On eight bit displays, when the number of colours required by the program exceeds the number of free colours on the screen, the program uses its own colourmap. This has the effect of temporarily displaying all windows other than the display window in false colours while the mouse pointer is within the display windows. If the mouse pointer is moved outside the display windows, the original colours of the other windows return, and the image on the canvas is shown in 'false colour'. Once the number of colours required by the program drops again, the presentation of colours returns to normal.

Mouse Controls

Here is a summary of RasMol's mouse click-and-drag controls. The 'set mouse' command mode defaults to 'set mouse rasmol', which gives the controls summarized below. However, there are also 'set mouse insight' and 'set mouse quanta' modes (not shown below).

Action Windows Macintosh
Rotate X, Y Left Unmodified
Translate X, Y Right Command*
Rotate Z Shift-Right Shift-Command*
Zoom Shift-Left Shift
Slab Plane Ctrl-Left Ctrl
*On some Macs, the Option (Alt) key has the same effect on RasMol as the Command key.


Scroll Bars

The scroll bar across the bottom of the canvas area is used to rotate the molecule about the y-axis, i.e. to spin the nearest point on the molecule left or right; and the scroll bar to the right of the canvas rotates the molecule about the x-axis, i.e. the nearest point up or down. Each scroll bar has an 'indicator' to denote the relative orientation of the molecule, which is initially positioned in the centre of the scroll bar. These scroll bars may be operated in either of two ways. The first is by clicking any mouse button on the dotted scroll bar background to indicate a direct rotation relative to the current indicator position; the second is by clicking one of the arrows at either end of the scroll bar to rotate the molecule in fixed sized increments. Rotating the molecule by the second method may cause the indicators on the scroll bars to wrap around from one end of the bar to the other. A complete revolution is indicated by the indicator travelling the length of the scroll bar. The angle rotated by using the arrows depends upon the current size of the display window.

The normal behavior of the scroll bars can be changed by the 'rotate bond' and 'rotate all' commands and restored to normal operation by the 'rotate molecule' command. Alternatively the equivalent items in the "Settings" menu may be used. When 'rotate bond' is selected, the bottom scroll bar controls. rotation around a bond selected by the 'bond <src> <dst> pick' command (or by use of the "Pick Bond" item in the "Settings" menu). When 'rotate all' is selected, the scroll bars control rotation of all the loaded molecules instead of just rotating the currently selected molecule.

Picking

In order to identify a particular atom or bond being displayed, RasMol allows the users to 'pick' objects on the screen. The mouse is used to position the cross-hair cursor over the appropriate item, and then any of the mouse buttons is depressed. Provided that the pointer is located close enough to a visible object, the program determines the identity of the nearest atom to the point identified.

The program will display, in the terminal window, the atom's type, serial number, residue name and residue number. If the atom is a member of a named chain, the chain identifier is also displayed. Two examples of the output generated by selecting an atom are displayed below:

     Atom:  CA 349       Group:  SER 70
     Atom:  O  526       Hetero:  HOH 205    Chain:  P
The first line describes the alpha carbon of the serine-70 amino acid in a protein. The unique Protein Data Bank serial number for this atom is 349. The following line describes the oxygen atom in a water molecule attached to the P chain of the main molecule. The word 'Hetero' distinguishes heterogeneous molecules (such as cofactors) from the residues in the main molecule, noted by 'Group'. [These two atoms are referred to by the two atom expressions 'SER70.CA' and 'HOH205:P.O', respectively, when using the RasMol commands 'select' and 'restrict'.]

Clicking the mouse on an atom can be used not only to identify it, but also to find the coordinates, the distances between two atoms (or to display a distance monitor), the bond angle defined by three atoms, the torsion angle defined by four atoms, to toggle labels on or off, to specify the centre of rotation, or to specify a bond as the axis of rotation. See the 'set picking' command for details.

Dials Box

If RasMol detects a 'dials box' attached to the user's workstation, it also allows the molecule to be manipulated interactively by the dials. Once RasMol starts up, it labels the LED displays above each dial, 'ROTATE X', 'ROTATE Y', 'ROTATE Z' and 'ZOOM' across the top row from left to right, and 'TRANS X', 'TRANS Y', 'TRANS Z' and 'SLAB' from left to right across the bottom row. Rotating any of the knobs will automatically transform and redisplay the molecule interactively. The dials only have effect while the mouse pointer is within the display window. If more than one application is using the dials box at a time, care must be taken to remember the dial labels assigned by each program, as each application may overwrite the dial-label LEDS.

The rotation about the X and Y axes automatically updates the indicators on the appropriate scroll bars. All the rotation dials rotate the molecule 180 degrees for a complete revolution of the dial. All the remaining dials clamp their values to permissible ranges; turning these dials past their limits has no effect. The centre of rotation of the molecule may be changed using the 'centre' command on the command line, or the command 'set picking centre' followed by a mouse click.

The 'ZOOM' dial allows the interactive zooming of the molecule between 10% and 200% of the original default magnification. Rotating the dial clockwise magnifies the molecule and anticlockwise shrinks it. A complete revolution of the dial corresponds to a 100% change in scale.

The 'SLAB' dial, which is only effective when slabbing is enabled, allows the user to move the front z-clipping plane from the nearest point on the molecule to the furthest. A complete rotation of the SLAB dial corresponds to moving the clipping plane half the distance between the front and back of the molecule. Turning the SLAB knob clockwise moves the clipping plane closer to the viewer (increasing the number of objects displayed), and turning it anticlockwise moves it further away (preventing more objects from being displayed). Slabbing mode is enabled by typing the command 'slab on' on the command line or toggling the slab option on the options menu.

Translation along the X and Y axis allows the centre of the molecule to be moved within the canvas area of the screen. Rotation and zooming are still performed relative to the centre of rotation and the molecule, respectively, which may often not be at the centre of the canvas. The TRANS Z dial currently has no effect.

Command Line Interface

RasMol allows the execution of interactive commands typed at the RasMol prompt in the terminal window. Characters typed into either the terminal or the display window are processed on the command line. Each command must be given on a separate line terminated by a newline or carriage return character. Keywords are case insensitive and may be entered in both lower and upper case letters. All whitespace (space, tab and formfeed) characters are ignored, except to separate the keyword and the arguments of a command. Blank lines (those containing only whitespace) are ignored. There is an internal restriction that command lines are limited to a maximum of 256 characters. Strings may be delimited by matching single or double quotation marks. Placing a hash '#' character anywhere outside quotes terminates the line. RasMol will ignore the rest of the line, which may be used to comment on the command.

If a syntax error is detected on entering an interactive command, RasMol indicates the location of the error on the command line by placing the '^' character under the offending word or character, and writing an error message on the following line. If a command is not recognised by RasMol, the program will generate an 'Unrecognised command!' error and redisplay the main prompt. If surplus information is given at the end of a command line, RasMol will execute the recognised command, but issue the warning message 'Warning: Ignoring rest of command!'. Some commands may prompt the user for more information. These commands display a different prompt and are discussed in the command reference.

Whenever RasMol outputs diagnostic or error messages to the screen owing to selecting options from the menu or picking objects on the screen, the current command line is cleared. The prompt is redisplayed after any text has been displayed.

Command Line Editing

RasMol allows basic editing of the command line. Pressing either backspace, delete or ^H (Control-H) will delete the previous character, and the key ^D may be used to delete the character under the cursor. Several characters may be used to move the cursor along the command line. The characters ^B, ^F, ^A and ^E move the cursor back a single character, forward a single character, to the beginning of the line and to the end of the line, respectively. When the cursor is not at the end of the command line, typed characters are inserted into the line and do not overwrite existing characters. After a command line has been edited, a newline or carriage return will enter the entire line, regardless of where the cursor is positioned. Because RasMol is unable to move the cursor up to the previous line, care must be taken when editing commands that wrap over several lines. In the event that another process overwrites or corrupts the command line, the character ^L may be used to redisplay the line on the screen.

RasMol maintains a history of recently used commands, so that the user never needs to type the same commands repeatedly. Typing ^P (Control-P) on the command line will display the previous command in the history and ^N will display the following command. These commands may be edited using the features described below. Moving forward or backward through the command history undoes the modifications made to the current line. The number of commands retained in the history depends upon their length. RasMol can retain more short command lines and fewer long ones.

Users with the Microsoft Windows version or the X windows version and with 'vt100' or compatible terminals (such as an 'xterm') can use the cursor control characters on the keyboard to abbreviate the control keys. The right and left cursor keys have the same affect as ^F and ^B, moving the cursor forward and back a single character, respectively. Similarly, the up and down cursor keys have the same function as ^P and ^N, producing the previous and next entries in the command history, respectively.

Users with the Macintosh version can use the four 'arrow keys' to move up and down through previous command line entries; and back and forth within a single command line statement. Hitting 'return' or 'enter' at any time will result in the execution of the current, e.g. selected or edited, command line contents.

Dimensions within RasMol

All dimensions in RasMol, such as radii and distances, may be specified in either 'RasMol units' or Ångstroms (Å). The RasMol units were first introduced to allow reasonably sized values to be specified for most of the operations performed in RasMol. A single RasMol unit corresponds to 1/250th of an Ångstrom; therefore the most frequently used values are in the hundreds. For this reason, if RasMol is given a distance parameter that does not contain a decimal point, it is assumed to be in RasMol units. For example, the command 'spacefill 300' specifies a sphere radius of 300 RasMol units, or 1.2 Å.

However, dimensions within RasMol can also be specified in Ångstroms by placing a decimal point in the number. For example, 'spacefill 1.2' specifies a sphere radius of 1.2 Å. This is particularly useful for the cut-off distance parameter in within expressions.

Start-up Initialisation Files

Each time RasMol is started, it searches for an initialisation file of commands to run before the command prompt is presented to the user. The file is called .rasmolrc on UNIX systems, and RASMOL.INI on VMS and Microsoft Windows Systems. The format and execution of this file is identical to that of the RasMol script command.

RasMol first looks for the initialisation file in the current directory and if it is not found will look for it in the user's home directory. On all systems the environment variable HOME may be used to name the user's home directory. If no personal initialisation file is found the program looks for the file rasmolrc (or RASMOLRC) in the RasMol system directory pointed to by the environment variable RASMOLPATH. This directory should also contain the on-line help file rasmol.hlp. On UNIX systems RASMOLPATH is typically set to be '/usr/local/lib/rasmol'.

Unlike the command 'script ".rasmolrc"', the program will not generate an error message if the file is not found. The system rasmolrc file is commonly used by system managers to display information about the local installation and who to contact for help. Such system rasmolrc files will contain RasMol 'echo' commands detailing a telephone number or e-mail address to be used for contacting somebody for local assistance.

Inter-Process Communication

RasMol supports Inter Process Communication (IPC) in one form or another on all platforms. Under Microsoft Windows, IPC is implemented using Dynamic Data Exchange (DDE), on the MacIntosh IPC is implemented using Apple Events and on X Windows systems IPC is implemented using John Ousterhaut's Tcl/Tk communication protocol.

When RasMol starts up on an X window system it registers itself with the X window Server as a Tcl interpreter. From within a Tcl application such as 'wish', you can use the Tcl command 'winfo interps' to determine the currently register interpreters on that display. The first instance of RasMol registers itself as 'rasmol', the second as 'rasmol #2', the third as 'rasmol #3' and so on. The Tcl interpreter can easily send a command to rasmol using the built-in 'send' command. RasMol interprets the string parameter to the send command not as a Tcl function to execute but as a RasMol command. Hence, typing 'send {rasmol} {background red}' into the wish interpreter will cause RasMol's display window to change colour. Using the same encoding as Microsoft's DDE Execute protocol, multiple commands may be sent in a single 'send' by placing the consecutive commands in square brackets. RasMol will execute all of the commands in a 'send' before refreshing the screen.

Under Microsoft Windows, RasMol supports a complete DDE protocol. The simplest layers of the protocol may be accessed by sending a DDE Execute command to application 'RasWin' and any topic. This will start a DDE conversation with the most recently launched instance of RasMol. Although any topic name can be used, the use of 'System' and/or 'RemoteControl' are recommended. Once again the contents of the execute package consists of a string for RasMol to execute. If the first non-whitespace character is an open bracket, the string is interpreted to be a sequence of consecutive commands enclosed in square brackets; otherwise the string consists of just a single command. Commands in square brackets may optionally be separated by whitespace and/or semi- colons. RasMol can also act as a 'data server' supporting hot, cold and warm links. Currently supported DDE items include 'Name', 'Image', 'Pick', 'Count' which denotes the Molecule name, the currently displayed image (in Microsoft DIB format), the atom expression of the last picked atom (or an empty string) and the number of selected atoms, respectively. Using a hot or warm link on the 'Pick' item, for example, allows an application such as Microsoft Word, Excel or Visual Basic to respond each time the user clicks on an atom in RasMol.

RasMol on the Apple Macintosh supports AppleEvents. Currently the only supported AppleEvents are the four 'core' events, Open Application, Open Document, Print Document and Quit. However, because OpenDocument determines its actions by the file's type signature this can be used to implement generic IPC. Because RasMol for the Macintosh treats all files of type 'RSML' as scripts, the sending application need only place all the commands to be executed in a temporary file, set the type of the file to 'RSML' and then send RasMol an OpenDocument AppleEvent with the file as parameter.


Command Reference

RasMol allows the execution of interactive commands typed at the 'RasMol>' prompt in the terminal window. Each command must be given on a separate line. Keywords are case insensitive and may be entered in either upper or lower case letters. All whitespace characters are ignored except to separate keywords and their arguments.

The commands/keywords currently recognised by RasMol are given below.

Backbone Background Bond Bulgarian Cartoon Centre Chinese Clipboard
Colour ColourMode Connect CPK CPKnew Define Depth Dots
Echo English Exit French HBonds Help Italian Japanese
Label Load Map Molecule Monitor NoToggle Pause Print
Quit Refresh Renumber Reset Restrict Ribbons Rotate Save
Script Select Set Show Slab Source Spacefill Spanish
SSBonds Star Stereo Strands Structure Surface Trace Translate
UnBond Wireframe Write Zap Zoom

Backbone

Syntax:  backbone {<boolean>}
         backbone <value>
         backbone dash

The RasMol 'backbone' command permits the representation of a polypeptide backbone as a series of bonds connecting the adjacent alpha carbons of each amino acid in a chain. The display of these backbone 'bonds' is turned on and off by the command parameter in the same way as with the 'wireframe' command. The command 'backbone off' turns off the selected 'bonds', and 'backbone on' or with a number turns them on. The number can be used to specify the cylinder radius of the representation in either Ångstrom or RasMol units. A parameter value of 500 (2.0 Ångstroms) or above results in a "Parameter value too large" error. Backbone objects may be coloured using the RasMol 'colour backbone' command.

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.


Background

Syntax:  background <colour>

The RasMol 'background' command is used to set the colour of the "canvas" background. The colour may be given as either a colour name or a comma separated triple of Red, Green and Blue (RGB) components enclosed in square brackets. Typing the command 'help colours' will give a list of the predefined colour names recognised by RasMol. When running under X Windows, RasMol also recognises colours in the X server's colour name database.

The 'background' command is synonymous with the RasMol 'set background' command.


Bond

Syntax:  bond <number>  <number> +
         bond <number>  <number> pick
         bond rotate {<boolean>}

The RasMol command 'bond <number> <number> +' adds the designated bond to the drawing, increasing the bond order if the bond already exists. The command 'bond <number> <number> pick' selects the two atoms specified by the atom serial numbers as the two ends of a bond around which the 'rotate bond <angle>' command will be applied. If no bond exists, it is created.

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.


Bulgarian

Syntax:  Bulgarian

The RasMol 'Bulgarian' command sets the menus and messages to the Bulgarian versions.

This command may not work correctly unless appropriate fonts have been installed. The commands 'Bulgarian', 'Chinese', 'English', 'French', 'Italian', 'Russian' and 'Spanish' may be used to select Bulgarian, Chinese, English, French, Italian, Japanese, Russian and Spanish menus and messages if the appropriate fonts have been installed.


Cartoon

Syntax:  cartoon {<number>}

The RasMol 'cartoon' command does a display of a molecule 'ribbons' as Richardson (MolScript) style protein 'cartoons', implemented as thick (deep) ribbons. The easiest way to obtain a cartoon representation of a protein is to use the 'Cartoons' option on the 'Display' menu. The 'cartoon' command represents the currently selected residues as a deep ribbon with width specified by the command's argument. Using the command without a parameter results in the ribbon's width being taken from the protein's secondary structure, as described in the 'ribbons' command. By default, the C-termini 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 <number>' command. The 'set cartoons' command without any parameters returns these two options to their default values.


Centre

Syntax:  centre {<expression>} {translate|center}
         center {<expression>} {translate|center}

The RasMol 'centre' command defines the point about which the 'rotate' command and the scroll bars rotate the current molecule. Without a parameter the centre command resets the centre of rotation to be the centre of gravity of the molecule. If an atom expression is specified, RasMol rotates the molecule about the centre of gravity of the set of atoms specified by the expression. Hence, if a single atom is specified by the expression, that atom will remain 'stationary' during rotations.

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 Ångstrom) 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.


Chinese

Syntax:  Chinese

The RasMol 'Chinese' command sets the menus and messages to the Chinese versions.

This command may not work correctly unless appropriate fonts have been installed. The commands 'Bulgarian', 'Chinese', 'English', 'French', 'Italian', 'Russian' and 'Spanish' may be used to select Bulgarian, Chinese, English, French, Italian, Japanese, Russian and Spanish menus and messages if the appropriate fonts have been installed.


Clipboard

Syntax:  clipboard

The RasMol 'clipboard' command places a copy of the currently displayed image on the local graphics 'clipboard'. Note: this command is not yet supported on UNIX or VMS machines. It is intended to make transfering images between applications easier under Microsoft Windows or on an Apple Macintosh.

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.


Colour

Syntax:  colour {<object>} <colour>
         color {<object>} <colour>

Colour the atoms (or other objects) of the selected region. The colour may be given as either a colour name or a comma separated triple of Red, Green and Blue (RGB) components enclosed in square brackets. Typing the command 'help colours' will give a list of all the predefined colour names recognised by RasMol.

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>'.


ColourMode

Syntax:  colourmode {<boolean>}
         colormode {<boolean>}

ColourMode allows the user to switch between using the new 'colour' method. At present, the new coloring technique is the same as the old one, but to preserve compatibility for older scripts it may be wise to add a "colormode on" near the top of your script somewhere, if the script was designed for version 2.7.3 of RasMol or earlier. The new color method, when completed, aims to fix a few bugs in the coloring routines.

Connect

Syntax:  connect {<boolean>}

The RasMol 'connect' command is used to force RasMol to (re)calculate the connectivity of the current molecule. If the original input file contained connectivity information, this is discarded. The command 'connect false' uses a fast heuristic algorithm that is suitable for determining bonding in large bio-molecules such as proteins and nucleic acids. The command "connect true" uses a slower more accurate algorithm based upon covalent radii that is more suitable to small molecules containing inorganic elements or strained rings. If no parameters are given, RasMol determines which algorithm to use based on the number of atoms in the input file. Greater than 255 atoms causes RasMol to use the faster implementation. This is the method used to determine bonding, if necessary, when a molecule is first read in using the 'load' command.


Define

Syntax:  define <identifier> <expression>

The RasMol 'define' command allows the user to associate an arbitrary set of atoms with a unique identifier. This allows the definition of user-defined sets. These sets are declared statically, i.e. once defined the contents of the set do not change, even if the expression defining them depends on the current transformation and representation of the molecule.


Depth

Syntax:  depth {<boolean>}
         depth <value>

The RasMol 'depth' command enables, disables or positions the back-clipping plane of the molecule. The program only draws those portions of the molecule that are closer to the viewer than the clipping plane. Integer values range from zero at the very back of the molecule to 100 which is completely in front of the molecule. Intermediate values determine the percentage of the molecule to be drawn.

This command interacts with the 'slab <value>' command, which clips to the front of a given z-clipping plane.


Dots

Syntax:  dots {<boolean>}
         dots <value>

The RasMol 'dots' command is used to generate a van der Waals' dot surface around the currently selected atoms. Dot surfaces display regularly spaced points on a sphere of van der Waals' radius about each selected atom. Dots that would are 'buried' within the van der Waals' radius of any other atom (selected or not) are not displayed. The command 'dots on' deletes any existing dot surface and generates a dots surface around the currently selected atom set with a default dot density of 100. The command 'dots off' deletes any existing dot surface. The dot density may be specified by providing a numeric parameter between 1 and 1000. This value approximately corresponds to the number of dots on the surface of a medium sized atom.

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.


Echo

Syntax:  echo {<string>}

The RasMol 'echo' command is used to display a message in the RasMol command/terminal window. The string parameter may optionally be delimited in double quote characters. If no parameter is specified, the 'echo' command displays a blank line. This command is particularly useful for displaying text from within a RasMol 'script' file.


English

Syntax:  English

The RasMol 'English' command sets the menus and messages to the English versions.

This command may not work correctly unless appropriate fonts have been installed. The commands 'Bulgarian', 'Chinese', 'English', 'French', 'Italian', 'Russian' and 'Spanish' may be used to select Bulgarian, Chinese, English, French, Italian, Japanese, Russian and Spanish menus and messages if the appropriate fonts have been installed.


French

Syntax:  French

The RasMol 'French' command sets the menus and messages to the French versions.

This command may not work correctly unless appropriate fonts have been installed. The commands 'Bulgarian', 'Chinese', 'English', 'French', 'Italian', 'Russian' and 'Spanish' may be used to select Bulgarian, Chinese, English, French, Italian, Japanese, Russian and Spanish menus and messages if the appropriate fonts have been installed.


HBonds

Syntax:  hbonds {<boolean>}
         hbonds <value>

The RasMol 'hbond' command is used to represent the hydrogen bonding of the protein molecule's backbone. This information is useful in assessing the protein's secondary structure. Hydrogen bonds are represented as either dotted lines or cylinders between the donor and acceptor residues. The first time the 'hbond' command is used, the program searches the structure of the molecule to find hydrogen bonded residues and reports the number of bonds to the user. The command 'hbonds on' displays the selected 'bonds' as dotted lines, and the 'hbonds off' turns off their display. The colour of hbond objects may be changed by the 'colour hbond' command. Initially, each hydrogen bond has the colours of its connected atoms.

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.


Help

Syntax:  help {<topic> {<subtopic>}}
         ? {<topic> {<subtopic>}}

The RasMol 'help' command provides on-line help on the given topic.


Italian

Syntax:  Italian

The RasMol 'Italian' command sets the menus and messages to the Italian versions.

This command may not work correctly unless appropriate fonts have been installed. The commands 'Bulgarian', 'Chinese', 'English', 'French', 'Italian', 'Russian' and 'Spanish' may be used to select Bulgarian, Chinese, English, French, Italian, Japanese, Russian and Spanish menus and messages if the appropriate fonts have been installed.


Japanese

Syntax:  Japanese

The RasMol 'Japanese' command sets the menus and messages to the Japanese versions.

This command may not work correctly unless appropriate fonts have been installed. The commands 'Bulgarian', 'Chinese', 'English', 'French', 'Italian', 'Russian' and 'Spanish' may be used to select Bulgarian, Chinese, English, French, Italian, Japanese, Russian and Spanish menus and messages if the appropriate fonts have been installed.


Label

Syntax:  label {<string>}
         label <boolean>

The RasMol 'label' command allows an arbitrary formatted text string to be associated with each currently selected atom. This string may contain embedded 'expansion specifiers' which display properties of the atom being labelled. An expansion specifier consists of a '%' character followed by a single alphabetic character specifying the property to be displayed (similar to C's printf syntax). An actual '%' character may be displayed by using the expansion specifier '%%'.

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. RasMol uses the label '%n%r:%c.%a' if the molecule contains more than one chain, '%e%i' if the molecule has only a single residue (a small molecule) and '%n%r.%a' otherwise.

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 following table lists the current expansion specifiers:

    %a      Atom Name
    %b %t   B-factor/Temperature
    %c %s   Chain Identifier
    %e      Element Atomic Symbol
    %i      Atom Serial Number
    %n      Residue Name
    %r      Residue Number
    %M      NMR Model Number (with leading "/")
    %A      Alternate Conformation Identifier (with leading ";")


Load

Syntax:  load {<format>} <filename>

Load a molecule coordinate file into RasMol. Valid molecule file formats are 'pdb' (Protein Data Bank format), 'mdl' (Molecular Design Limited's MOL file format), 'alchemy' (Tripos' Alchemy file format), 'mol2' (Tripos' Sybyl Mol2 file format), 'charmm' (CHARMm file format), 'xyz' (MSC's XMol XYZ file format), 'mopac' (J. P. Stewart's MOPAC file format) or 'cif' (IUCr CIF or mmCIF file format). If no file format is specified, 'PDB', 'CIF', or 'mmCIF' is assumed by default. Up to 5 molecules may be loaded at a time. To delete a molecule prior to loading another use the RasMol 'zap' command. To select a molecule for manipulation use the RasMol 'molecule <n>' 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.

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 coordinates in PDB, CIF or mmCIF file format. One possible use is a standard RasMol script prefix that may be concatenated with an appropriate PDB file on-the-fly.


Map

Syntax:  map {<map_selector>} {<map_subcommand> <parameters>}

The RasMol 'map' commands manipulate electron density maps in coordination with the display of molecules. These commands are very memory intensive and may not work on machines with limited memory. Each molecule may have as many maps as available memory permits. Maps may be read from files or generated from Gaussian density distributions around atoms.

'map generate', to generate a map from selected atoms, 'map level', to set the contouring level for selected maps, 'map load', to load a map from a file, 'map mask' to designate a mask for the selected maps, 'map resolution', to set the resolution for contouring selected maps, 'map restrict', to select one or more maps and to disable all others, 'map save', to save map information to a file, 'map select', to select one or more maps, 'map show', to display information about one or more maps or about the parameters to be used in generating or loading the next map, 'map spacing', to set the spacing betwen contour lines of selected maps, 'map spread', to set the variance of the Gaussians for map generation as a fraction of the atomic radius, and 'map zap' to delete previously generated or loaded maps.

The effect of 'map generate' and 'map load' commands is modified by the 'map mask' command which limits the portion of the display space that can be considered for display of maps.


Map generate

Syntax:  map {<map_selector>} generate dots
         map {<map_selector>} generate mesh
         map {<map_selector>} generate surface

The RasMol 'map generate' command generates a map from whatever atoms are currently selected, by summing electron densities approximated by Gaussian distributions. Each Gaussian has a height proportional to the atomic number of the element type of the atom and a standard deviation determined by the most recently specified spread or resolution. If a spread has been given the radius of the atom is multiplied by the spread to find the standard deviation. The default is 2/3rds. If a resolution has been given, the spread is inferred as 2/3rds of the resolution. For example, if the resolution is given as 1., and the atom in question is a Carbon with a van der Waals radius of 468 RasMol units (1.87 Ångstroms), the inferred spead is .6667, and the standard deviation of the Gaussian is taken as 1.25 Ångstroms.

If no specific map was given by the map selector, the new map is given the next available map number.

If a specific map was given by the map selector, the new map replaces that map. If more than one map was given by the map selector, the new map replaces the lowest numbered of the selected maps. In any case the new map becomes the currently selected map.

The map is displayed as dots, mesh or a surface, depending on the last map rendering mode selected or the mode selected on the command itself.


Map level

Syntax:  map {<map_selector>} level {MEAN} <number>

The RasMol 'map level' command sets the contour level to be used in creating subsequent representations of generated or loaded maps. If the keyword MEAN in used the level is relative to the mean of the map data. Otherwise the level is absolute.

In general, a lower level results in a map containing more of the displayed volume, while a higher level results in a map containing less of the displayed volume.