RasMol 2.7.3 is a molecular graphics program intended for the visualisation of proteins, nucleic acids and small molecules, based on Roger Sayles' RasMol_2.6. The program is aimed at display, teaching and generation of publication quality images. RasMol runs on Microsoft Windows, Apple Macintosh, UNIX and VMS systems. The UNIX and VMS systems require an 8, 24 or 32 bit colour X Windows display (X11R4 or later). 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. The RasMol help facility can be accessed by typing "help " or "help " 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. RasMol Copyright (C) Roger Sayle 1992-1999 Version 2.6x1 Mods Copyright (C) Arne Mueller 1998 Versions 2.5-ucb and 2.6-ucb Mods Copyright (C) UC Regents/ModularCHEM Consortium 1995, 1996 RasTop 1.3 Copyright (C) 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 Mods Copyright (C) Herbert J. Bernstein 1998-2005 rasmol@bernstein-plus-sons.com ?notice ?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. 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'. ?copyright Copyright RasMol 2.7.3 Molecular Graphics Visualisation Tool 6 February 2005 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 (C) Roger Sayle 1992-1999 and Based on Mods by Author Version, Date Copyright Arne Mueller RasMol 2.6x1 May 98 (C) Arne Mueller 1998 Gary Grossman and RasMol 2.5-ucb Nov 95 (C) UC Regents/ModularCHEM Marco Molinaro RasMol 2.5-ucb Nov 96 Consortium 1995, 1996 Philippe Valadon RasTop 1.3 Aug 00 (C) Philippe Valadon 2000 Herbert J. RasMol 2.7.0 Mar 99 (C) Herbert J. Bernstein Bernstein RasMol 2.7.1 Jun 99 1998-2001 RasMol 2.7.1.1 Jan 01 RasMol 2.7.2 Aug 00 RasMol 2.7.2.1.1 Jan 04 RasMol 2.7.3 Apr 05 with RasMol 2.7.3 incorporating 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. and Incorporating Translations by Author Item Language Isabel Servan Martinez, 2.6 Manual Spanish Jose Miguel Fernandez Fernandez Jose Miguel Fernandez Fernandez 2.7.1 Manual Spanish Fernando Gabriel Ranea 2.7.1 menus and messages Spanish Jean-Pierre Demailly 2.7.1 menus and messages French Giuseppe Martini, Giovanni Paolella, 2.7.1 menus and messages Italian A. Davassi, M. Masullo, C. Liotto 2.7.1 help file This Release by Herbert J. Bernstein, Bernstein + Sons, P.O. Box 177, Bellport, NY, USA yaya@bernstein-plus-sons.com Copyright (C) Herbert J. Bernstein 1998-2005 ?copying This version is based in large part 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.3 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.3 may be distributed under the RASMOL license. See the file NOTICE or type the command 'help RASLIC' ?gpl 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. Copyright (C) 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. , 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 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 ?generalnotice ?general notice 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. ?old ?oldnotice ?rasmol v2.6 notice 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. ?iucrpolicy ?iucr policy ?iucr policy 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 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 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. 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 RasMol help facility can be accessed by typing "help " or "help " 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. RasMol Copyright (C) Roger Sayle 1992-1999 Version 2.6x1 Mods Copyright (C) Arne Mueller 1998 Version 2.5-ucb, 2.6-ucb Mods Copyright (C) UC Regents/ModularCHEM Consortium 1995, 1996 RasTop 1.3 Copyright (C) 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 Mods Copyright (C) Herbert J. Bernstein 1998-2005 (yaya@bernstein-plus-sons.com) ?commands ?keywords 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. Type "help " for more information on each RasMol function. backbone background bond cartoon centre clipboard colour connect cpk cpknew define depth dots echo english exit french hbonds help italian label load molecule monitor 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 Backbone Syntax: backbone {} backbone 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 Angstrom or RasMol units. A parameter value of 500 (2.0 Angstroms) 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 Background Syntax: background 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 Bond Syntax: bond + bond pick bond rotate {} The RasMol command 'bond +' adds the designated bond to the drawing, increasing the bond order if the bond already exists. The command 'bond pick' selects the two atoms specified by the atom serial numbers as the two ends of a bond around which the 'rotate bond ' command will be applied. If no bond exists, it is created. Rotation around a previously picked bond may be specified by the 'rotate bond ' command, or may also be controlled with the mouse, using the 'bond rotate on/off' or the equivalent 'rotate bond on/off' commands. ?cartoon Cartoon Syntax: cartoon {} 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 ' command. The 'set cartoons' command without any parameters returns these two options to their default values. ?center ?centre Centre Syntax: centre {} {translate|center} center {} {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 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. ?clipboard 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. ?color ?colour Colour Syntax: colour {} color {} 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 '. ?connect Connect Syntax: connect {} 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 Define Syntax: define 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 Depth Syntax: depth {} depth 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 ' command, which clips to the front of a given z-clipping plane. ?dot surface ?surface ?dots Dots Syntax: dots {} dots 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 Echo Syntax: echo {} 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 English Syntax: English The RasMol 'English' command sets the menus and messages to the English versions. The commands 'French', 'Italian' and 'Spanish' may be used to select French, Italian and Spanish menus and messages. ?french French Syntax: French The RasMol 'French' command sets the menus and messages to the French versions. The commands 'English', 'Italian' and 'Spanish' may be used to select English, Italian and Spanish menus and messages. ?hbond ?hbonds HBonds Syntax: hbonds {} hbonds 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 Help Syntax: help { {}} ? { {} The RasMol 'help' command provides on-line help on the given topic. ?italian Italian Syntax: Italian The RasMol 'Italian' command sets the menus and messages to the Italian versions. The commands 'English', 'French' and 'Spanish' may be used to select English, French and Spanish menus and messages. ?labels ?label Label Syntax: label {} label 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. 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. 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. For a list of expansion specifiers, type "help specifiers". ?expansion ?specifiers ?expansion specifiers ?label specifiers Label Specifiers Label specifiers are characters sequences that are embedded in the string parameter passed to the RasMol 'label' command. These specifiers are then expanded as the labels are drawn to display properties associated with the atom being labelled. The following table lists the current expansion specifiers. The specifier '%%' is treated as an exception and is displayed as a single '%' character. %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 Load Syntax: load {} 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 ' 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. ?molecule Molecule Syntax: molecule The RasMol 'molecule' command selects one of up to 5 previously loaded molecules for active manipulation. While all the molcules are displayed and may be rotated collectively (see the 'rotate all' command), only one molecule at a time time is active for manipulation by the commands which control the details of rendering. ?monitor Monitor Syntax: monitor monitor {} The RasMol 'monitor' command allows the display of distance monitors. A distance monitor is a dashed (dotted) line between an arbitrary pair of atoms, optionally labelled by the distance between them. The RasMol command 'monitor ' adds such a distance monitor between the two atoms specified by the atom serial numbers given as parameters Distance monitors are turned off with the command 'monitors off'. By default, monitors display the distance between its two end points as a label at the centre of the monitor. These distance labels may be turned off with the command 'set monitors off', and re-enabled with the command 'set monitors on'. Like most other representations, the colour of a monitor is taken from the colour of its end points unless specified by the 'colour monitors' command. Distance monitors may also be added to a molecule 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. ?pause Pause Syntax: pause wait The RasMol 'pause' command is used in script files to stop the script file for local manipulation by a mouse, until any key is pushed to restart the script file. 'Wait' is synonymous with 'pause'. This command may be executed in RasMol script files to suspend the sequential execution of commands and allow the user to examine the current image. When RasMol executes a 'pause' command in a script file, it suspends execution of the rest of the file, refreshes the image on the screen and allows the manipulation of the image using the mouse and scroll bars, or resizing of the graphics window. Once a key is pressed, control returns to the script file at the line following the 'pause' command. While a script is suspended the molecule may be rotated, translated, scaled, slabbed and picked as usual, but all menu commands are disabled. ?print Print Syntax: print The RasMol 'print' command sends the currently displayed image to the local default printer using the operating system's native printer driver. Note: this command is not yet supported under UNIX or VMS. It is intended to take advantage of Microsoft Windows and Apple Macintosh printer drivers. For example, this allows images to be printed directly on a dot matrix printer. 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. ?exit ?quit Quit Syntax: quit exit Exit from the RasMol program. The RasMol commands 'exit' and 'quit' are synonymous, except within nested scripts. In that case, 'exit' terminates only the current level, while 'quit' terminates all nested levels of scripts. ?refresh Refresh Syntax: refresh The RasMol 'refresh' command redraws the current image. This is useful in scripts to ensure application of a complex list of parameter changes. ?renum ?renumber Renumber Syntax: renumber {{-} } The RasMol 'renumber' command sequentially numbers the residues in a macromolecular chain. The optional parameter specifies the value of the first residue in the sequence. By default, this value is one. For proteins, each amino acid is numbered consecutively from the N terminus to the C terminus. For nucleic acids, each base is numbered from the 5' terminus to the 3' terminus. All chains in the current database are renumbered and gaps in the original sequence are ignored. The starting value for numbering may be negative. ?reset Reset Syntax: reset The RasMol 'reset' command restores the original viewing transformation and centre of rotation. The scale is set to its default value, 'zoom 100', the centre of rotation is set to the geometric centre of the currently loaded molecule, 'centre all', this centre is translated to the middle of the screen and the viewpoint set to the default orientation. This command should not be mistaken for the RasMol 'zap' command which deletes the currently stored molecule, returning the program to its initial state. ?restrict Restrict Syntax: restrict {} The RasMol 'restrict' command both defines the currently selected region of the molecule and disables the representation of (most of) those parts of the molecule no longer selected. All subsequent RasMol commands that modify a molecule's colour or representation affect only the currently selected region. The parameter of a 'restrict' command is a RasMol atom expression that is evaluated for every atom of the current molecule. This command is very similar to the RasMol 'select' command, except 'restrict' disables the 'wireframe', 'spacefill' and 'backbone' representations in the non-selected region. Type "help expression" for more information on RasMol atom expressions. ?ribbon ?ribbons Ribbons Syntax: ribbons {} ribbons The RasMol 'ribbons' command displays the currently loaded protein or nucleic acid as a smooth solid "ribbon" surface passing along the backbone of the protein. The ribbon is drawn between each amino acid whose alpha carbon is currently selected. The colour of the ribbon is changed by the RasMol 'colour ribbon' command. If the current ribbon colour is 'none' (the default), the colour is taken from the alpha carbon at each position along its length. 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. ?rotate Rotate Syntax: rotate {-} rotate bond {} rotate molecule {} rotate all {} Rotate the molecule about the specified axis. Permitted values for the axis parameter are "x", "y", "z" and "bond". The integer parameter states the angle in degrees for the structure to be rotated. For the X and Y axes, positive values move the closest point up and right, and negative values move it down and left, respectively. For the Z axis, a positive rotation acts clockwise and a negative angle anti-clockwise. 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. ?save Save Syntax: save {pdb} save mdl save alchemy save xyz Save the currently selected set of atoms in a Protein Data Bank (PDB), MDL, Alchemy(tm) or XYZ format file. The distinction between this command and the RasMol 'write' 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. ?source ?scripts ?script Script Syntax: script The RasMol 'script' command reads a set of RasMol commands sequentially from a text file and executes them. This allows sequences of commonly used commands to be stored and performed by single command. A RasMol script file may contain a further script command up to a maximum "depth" of 10, allowing complicated sequences of actions to be executed. RasMol ignores all characters after the first '#' character on each line allowing the scripts to be annotated. Script files are often also annotated using the RasMol 'echo' 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. ?select Select Syntax: select {} Define the currently selected region of the molecule. All subsequent RasMol commands that manipulate a molecule or modify its colour or representation only affect the currently selected region. The parameter of a 'select' command is a RasMol expression that is evaluated for every atom of the current molecule. The currently selected (active) region of the molecule are those atoms that cause the expression to evaluate true. To select the whole molecule use the RasMol command 'select all'. The behaviour of the 'select' command without any parameters is determined by the RasMol 'hetero' and 'hydrogen' parameters. Type "help expression" for more information on RasMol atom expressions. ?set Set Syntax: set {