| Copying and Distribution | Contents | Installation Instructions |
| Changes | Things To Do | Introduction | Source Code and Binaries |
| RasMol Manual | Release README |

# ChangeLog
RasMol 2.7.1

###
Molecular Graphics Visualisation Tool
22 June 1999

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 Arne Mueller
Version 2.6x1, May 1998
Copyright © Arne Mueller 1998

Version 2.7.0, 2.7.1 Mods by Herbert J. Bernstein
Bernstein + Sons, P.O. Box 177, Bellport, NY, USA, yaya@bernstein-plus-sons.com
2.7.0 March 1999, 2.7.1 June 1999
Copyright © Herbert J. Bernstein 1998-1999

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

## IMPORTANT

This version is based on RasMol version 2.6_CIF.2, on RasMol version 2.6x1 and on RasMol version 2.6.4. Please read the file NOTICE for important notices which apply to this package. If you are not going to make changes to RasMol, you are not only permitted to freely make copies and distribute them, you are encouraged to do so, provided you do the following:

- 1. Either include the complete documentation, especially the file NOTICE, with what you distribute or provide a clear indication where people can get a copy of the documentation; and
- 2. Please give credit where credit is due citing the version and original authors properly; and
- 3. Please do not give anyone the impression that the original authors are providing a warranty of any kind.

If you would like to use major pieces of RasMol in some other program, make modifications to RasMol, or in some other way make what a lawyer would call a "derived work", you are not only permitted to do so, you are encouraged to do so. In addition to the things we discussed above, please do the following:

- 4. Please explain in your documentation how what you did differs from this version of RasMol; and
- 5. Please make your modified source code available.

This version of RasMol is not in the public domain, but it is given freely to the community in the hopes of advancing science. If you make changes, please make them in a responsible manner, and please offer us the opportunity to include those changes in future versions of RasMol.

### Changes from RasMol 2.7.0.1 to create RasMol 2.7.1:

    [15/07/99]	HJB	documentation
    		Add Dunix binaries.  Thanks to David Atkinson

    [06/07/99]	HJB	all
    		Release 2.7.1

    [05/07/99]	HJB	documentation
    		Cut-off date for Release 2.7.1 documentation changes.

    [22/06/99]	HJB	all source
    		Cut-off date for Release 2.7.1 code changes.

    [22/06/99]	HJB	command.c
    		Save fact that a data file was loaded inline.  Add
    		processing for star command, all new options for
    		bondmode [all | none | not bonded ]

    [22/06/99]	HJB	infile.c
    		Update DataFileFormat after autorecognition.

    [22/06/99]	HJB	molecule.h
    		Add MarkAtoms to hold new bondmode flags.

    [22/06/99]	HJB	pixutils.c, render.c
    		Add code for new star command.

    [22/06/99]	HJB	script.c
    		Add logic to write star command output.  Report data
    		loaded as CIF or as inline correctly.  Warn users
    		that inline data is not being written out.  Check
    		inversion of Y-axis on POVRAY3.  Thanks to Curt
    		Haltiwanger for suggesting marking non-bonded atoms
    		on wireframe displays.

    [22/06/99]	HJB	transfor.c
    		Add code for new star command, new bondmode options.

    [18/06/99]	HJB	pixutils.h, pixutils.c
    		Change name of DisplayString to DisplayRasString to
    		avoid a conflict with X libraries.  Add FontWid array
    		to hold character widths (FontSize for FS, FontSize/4
    		+1 + maximum x position for PS).  Add FontStroke logic to
    		write cylinders instead of lines when FontStroke is not
    		zero.

    [18/06/99]	HJB	render.c
    		Change name of DisplayString to DisplayRasString to
    		avoid a conflict with X libraries.

    [18/06/99]	HJB	repres.c
    		When FonstStroke is non-zero, don't offset character
    		color by (ColourMask>>1), to allow room for color
    		adjustments in cylinder drawing.

    [18/06/99]	HJB	script.c
    		Add logic to write PS flag for proportional spacing
    		on set fontsize, and logic to write set fontstroke n.

    [18/06/99]	HJB	tokens.c, tokens.h
    		Add tokens for BlueTint (BlueTintTok), Brown (BrownTok),
    		FontStroke (FontStrokeTok), FS (FSTok), Gold (GoldTok),
    		Gray or Grey (GrayTok), GreenTint (GreenTintTok), HotPink
    		(HotPinkTok), Pick as an alternative for Picking
    		(PickingTok), Pink (PinkTok), PinkTint (PinktintTok),
    		SeaGreen (SeaGreenTok), SkyBlue (SlyBlueTok),
    		YellowTint (YellowTintTok)

    [13/06/99]	HJB	command.c
    		Change processing of load inline command to work from
                    the currently opened script, saving the file position.
                    Accept HEADER and DATA_... as commands in a script,
                    processing that line and all subsequent lines as a
                    data file, unless a prior load inline command was already
                    done

    [12/06/99]	HJB	infile.c
    		When processing a PDB file, test for DATA_... until
                    a non-comment, non-blank line is found.  Revert
                    to CIF processing if DATA_... is found.

    [11/06/99]	HJB	infile.c
    		In PDB format input extract EXPDTA for Info.technique.
    		In CIF format input accept _audit_block_code for the
    		entry ID, _exptl.method, _diffrn_radiation.probe or
    		_diffrn_radiation_probe for Info.technique.  Preserve
    		low order bits of coordinates in xtrl, yrtl, ztrl.  On
    		PDB output, report Info.technique in EXPDTA and reinsert
    		low-order bits for coordinates.

    [10/06/99]	HJB	abstree.c
    		Add code to report coordinates for show selected cordinates

    [10/06/99]	HJB	command.c
    		Recognize new commands, picking coordinates,
                    show selected cordinates.  Update default title produced
    		by title command.

    [10/06/99]	HJB	molecule.h
    		Add new Info fields for date and technique.  Extend
    		identcode to 80 columns.  Add CRD to Selection enum type.
    		Add prototype for ReviseTitle.

    [10/06/99]	HJB	render.h, render.c
    		Add code to report coordinates for picking coordinates,
    		define PickCoord symbol.

    [10/06/99]	HJB	tokens.h, tokens.c
    		Add code recognize COORD, COORDS, COORDINATE, COORDINATES for
    		new CoordTok, DATA_... for CIFDataTok, HEADER for HeaderTok

    [09/06/99]	HJB	molecule.c
    		Put PDB entry ID and EXPDTA info into canvas title, report
    		EXPDTA data from Info.technique on reading file.

    [06/06/99]	HJB	infile.c
    		Restore the origin on PDB and other outputs.

    [06/06/99]	HJB	script.c
    		Change script output to include centering and
    		change various coordinate outputs to restore
    		origins the z-axis orientation.

    [06/06/99]	HJB	command.c
    		Add command centre [CenX,CenY,CenZ] to center by offsets
    		from centre of gravity.

    [03/06/99]	HJB	render.c
    		Remove call to TranslateToCentre, hold centering
    		in CenX, CenY and CenZ, decoupled from dials,
    		add RFRotate to ReDrawFlag on centering.  Thanks to
    		Bohdan Schneider for pointing out the problems with
    		centering.

    [03/06/99]	HJB	transfor.c
    		Remove TranslateToCentre, remove processing of CenX,
    		CenY and CenZ from dial values, and put it into
    		computation of ptr->x,y,z

### Changes after release of RasMol_2.7.0.1:

    [27/04/99]	HJB	README.html, Changelog.html, INSTALL.html, manual
    		Add navigation links at top and bottom of each page.
    		Add links for gzipped versions of raswin.hlp, rasmol.hlp.
    		Thanks to E. Martz and Kjeld Olesen.

    [27/04/99]	HJB	INSTALL.html, manual
    		Replace empty copy of INSTALL.html in doc/, correct
    		embedded html in manual.  Thanks to Kurt Giles.

### Changes from RasMol_2.7.0 to create RasMol_2.7.0.1:

    [22/04/99]	HJB
    		Announce RasMol 2.7.0.1 on pdb-l@rcsb.org,
    		rasmol@lists.umass.edu, mmciflist@ndbdev.rutgers.edu

    [11/04/99]	HJB	*.c, *.h
    		Update all comment blocks for new version and date

    [11/04/99]	HJB	abstree.h
    		Realign Pred... to agree with ...Tok to correct
    		misaligned introduced by HJB (not AM) during merge of 2.6x1
    		into 2.7.0.

    [11/04/99]	HJB	tokens.h
    		Fix definition of IsPredTok

    [09/04/99]	HJB	molecule,h
    		Make residue identification case-insensitive.

### Changes from RasMol_2.6.4, RasMol2.6x1 and RasMol_2.6_CIF.2 to create RasMol_2.7.0:

    [30/03/99]	HJB	all
    		Cleanup and release of version 2.7.0

    [23/03/99]	HJB	abstree.c
    		Add code to select on alternate conformers.  Increase
    		accuracy of torsion angle calculation.

    [23/03/99]	HJB	command.c, command.h
    		Make InitHelpFile generally available, change to
    		WriteString for reporting CisBondCutOff for use on mac,
    		report models on show selected.

    [23/03/99]	HJB	rasmol.c, raswin.c, rasmac.c
    		Add suggestion for help notice to initial text lines.

    [23/03/99]	HJB	script.c
    		In order to support mac introduce WriteBuffer and
    		change all fprintf(outFile, ... to WriteBuffer, provide
    		code from fisipl for Ramachandran printer plot.  Handle
    		signs of torsion angles.  Thanks to F. C. Bernstein.

    [23/03/99]	HJB	tokens.h, tokens.c
    		Add RamPrintTok, RPP, RDF, etc., hook POVRAY3 to the
    		new POVray code.

    [20/03/99]	HJB	*.h, *.c
    		In general, the RasMol_2.6_CIF.2 version was used as a base
    		and upgraded with the RasMol_2.6.4 changes.  The exceptions
    		are below

    [20/03/99]	HJB	infile.c
    		Cell parameters are read with the double routine ReadDecValue
    		from 2.6_CIF.2, rather than ReadValue2 from 2.6.4

### Changes from RasMol_2.6 to create RasMol_2.6x1:

    [15/2/98]	AM	abstree.c, abstree.h
    		Add PredCisBond, DescribeObj, CalcPhiAngle, CalcPsiAngle,
    		CalcOmegaAngle, shift torsion angle calculations 180
    		degrees.

    [15/2/98]	AM	command.c
    		Add FindCisBonds, CisBondCutOff, show of selected chains,
    		groups, atoms, show and write of phi-psi angles

    [15/2/98]	AM	molecule.h, molecule.c
    		Add CIS bond logic

    [15/2/98]	AM	rasmol.h, rasmol.c
    		Add USE_FD_SET_TYPE option

    [15/2/98]	AM	script.h, script.c
    		Add WritePhiPsiAngles, code for POV-Ray version 3

    [15/2/98]	AM	tokens.h
    		Add CisBondedTok, RamachanTok, CisAngleTok, PhiPsiTok,
    		define PHIPSI, CISANGLE, RAMACHAN, CISBONDED

### Changes from RasMol_2.6 to create RasMol_2.6.4:

    [8/2/99]	RS	command.c, rasmol.c, scripts.c, rastxt.c, raswin.c
    		rasmac.c
    		Final fixup and release of version 2.6.4

    [27/12/98]	RS	*.h, *.c
    		Remove all non-ANSI-C prototypes and ensure use of ( void )
    		for empty argument lists.  Upgrade all procedure delcarations.
    		Convert to use of MSWIN.

    [27/12/98]	RS	abstree.c
    		Redo torsion angel calculation.

    [27/12/98]	RS	applemac.c
    		Convert to Apple's new routine names

    [27/12/98]	RS	cmndline.c, cmndline.h
    		New routine for mouse, keyboard, dials

    [27/12/98]	RS	command.c, command.h
    		Move routines for mouse, keyboard, dials to cmndline.c.
    		Redo ParseColour.  Reorganize command parsing

    [27/12/98]	RS	infile.c
    		Change references to MMIO to MMIOLIB.  Pass fp and buffer
    		to FetchRecord as argument.  Add ReadValue2, ProcessPDBBond,
    		ProcessPDBUnitCell.  Fix recognition of END. Use
    		InvalidateCmndline and UnusedArgument.  Write MODEL and
    		ENDMDL records when appropriate

    [27/12/98]	RS	molecule.c
    		Reorganize FindResNo as a character-oriented search tree
    		Add Cache.

    [27/12/98]	RS	rasmac.c
    		Convert to Apple's new routine names

    [27/12/98]	RS	rastxt.c
    		New text-only main program

    [27/12/98]	RS	repres.c
    		Add LabelTermnii

    [27/12/98]	RS	tranfor.c
    		Add TranslateToCentre

    [27/12/98]	RS	transfor.h
    		Reorganize the logic defining DefaultAmbient, making
    		the default value 0.4 instead of 0.6, except for E&S, which
    		is still .05.

    [27/12/98]	RS	tokens.c
    		New routine for character-oriented search tree for tokens.

    [01/08/97]	RS	infile.c
    		Decreased the maximum valid alpha carbon to alpha carbon
    		distance to 4.2 Angstroms from 7.0 Angstroms.  Thanks to
    		Kostas Sfyrakis and Harren Jhoti.

    [15/04/97]	RS	molecule.c repres.c
    		Fixed a bizarre feature in the OpenVMS compiler that complained
    		about "a=*b" as "=*" operator is an obsoltete form and may not
    		be portable.  Special thanks to Remington Stone.

    [28/11/96]	RS	rasmol.h rasmol.c
    		Several minor fixes to compile RasMol under VMS.  Special
    		thanks to Adam Ralph (and CCP4).

### Changes from RasMol_2.6_CIF(Rev 1) to create RasMol_2.6_CIF(Rev 2):

    [24/2/99]	HJB	Release of RasMol_2.6_CIF(Rev 2) at
    		http://www/bernstein-plus-sons.com/software/rasmol
    		and announce to mailing lists.

    [21/2/99]	HJB	cif.h
    		Add prototypes of cif_make_handle, cif_read_file,
    		cif_make_file, cif_save_character to avoid compiler warnings

    [21/2/99]	HJB	cif_ctonum.c
    		Remove unneeded values.h

    [21/2/99]	HJB	cif_ctonum.h
    		Correct prototype

    [21/2/99]	HJB	infile.c
    		Add cif_ctonum.h, define LoadCIFMolecule prototype,
    		initialize ch, add return  to avoid compiler warnings.

    [21/2/99]	HJB	abstree.c, cif.c, cif_ctonum.c, command.c,
    		infile.c, molecule.c
    		Use string_case.h instead of  for IBMPC,
    		VMS and APPLEMAC.

    [21/2/99]	HJB	rasmol.h
    		Update version, add some definitions from R. Sayle's
    		2.6.4 in preparation for 2.7.0.

    [21/2/99]	HJB	rasmac.c, rasmol.c, raswin.c
    		Update reported date on startup.

    [21/2/99]	HJB	render.c
    		Add cif_fract.h to avoid compiler warnings.

    [21/2/99]	HJB	string_case.c
    		Replace garbled version, provide string_case.h.

    [21/2/99]	HJB	script.c
    		Initialize first, last, radius, to avoid compiler warnings

    [21/2/99]	HJB	transfor.c
    		Initialize min and max to avoid compiler warnings.

    [10/1/99]	HJB	Release of RasMol_2.6_CIF(Rev 1) at
    		http://www.bernstein-plus-sons.com/software/rasmol
    		and announce to mmCIF mailing list.

    [9/1/99]	HJB	cif.c
    		Change toupper calls to ToUpper calls.

    [8/1/99]	HJB	command.c
    		Add argument to CreateMoleculeBonds to force zapping
    		on connect.

    [8/1/99]	HJB	infile.c
    		Log requested bonds which cannot be made in NullBonds
    		and report to users, add RightJustify to right-justify
    		residue names, recognize _atom_site_disorder_group
    		for small molecule alternate conformerse, recognize bonds
    		which don't have either atom names or atom numbers.

    [8/1/99]	HJB	molecule.c
    		Add argument to CreateMoleculeBonds to force zapping
    		on connect.

    [8/1/99]	HJB	molecule.h
    		Add argument to CreateMoleculeBonds to force zapping
    		on connect, add NullBonds to log requested bonds which
    		cannot be made.

    [8/1/99]	HJB	mswin31.c
    		Use VERSION to construct window title.

    [8/1/99]	HJB	outfile.c
    		Use VERSION to construct Postscript output file header.

    [8/1/99]	HJB	rasmac.c
    		Use VERSION to report version on startup.

    [8/1/99]	HJB	rasmol.c
    		Use VERSION to report version on startup.

    [8/1/99]	HJB	raswin.c
    		Use VERSION to report version on startup.

    [8/1/99]	HJB	script.c
    		Use VERSION to construct various output file headers.

    [8/1/99]	HJB	x11win.c
    		Use VERSION to construct window title.

### Changes from RasMol_2.6 to create RasMol_2.6_CIF:

    [22/12/98]	HJB	Preliminary release of RasMol_2.6_CIF at
    		http://www.bernstein-plus-sons.com/software/rasmol

    [19/12/98]	HJB	command.c
    		correct handling of internal help files under windows,
    		and allow for unix help files on a mac.

    [18/12/98]	HJB	Makefile.in, Imakefile
    		Update for CIF support.

    [09/12/98]	HJB	infile.c
    		Cummulative changes for fractional coordinates,
    		CIF.

    [09/12/98]	HJB	command.c
    		Changes for alt, model labels, colour schemes,
    		CIF.

    [09/12/98]	HJB	molecule.h
    		Cummulative changes for fractional coordinates,
    		new colour schemes, CIF.

    [09/12/98]	HJB	molecule.c
    		Cummulative changes for fractional coordinates,
    		new colour schemes, CIF.
    [09/12/98]	HJB	x11win.c
    		Update comments, menus and version text.

    [09/12/98]	HJB	mswin31.c
    		Update comments, output file commentary.

    [09/12/98]	HJB	outfile.c
    		Update comments, output file commentary.

    [09/12/98]	HJB	script.c
    		Update comments, output file commentary.

    [09/12/98]	HJB	rasmol.c
    		Update comments, output file commentary.

    [04/12/98]	HJB	pixutils.c
    		Update comments, code to stripe bonds for alternate
    		conformers.

    [04/12/98]	HJB	pixutils.h
    		Update comments, protytpes to stripe bonds for alternate
    		conformers.

    [04/12/98]	HJB	rasmac.c
    		Update comments, adjust code for current Metrowerks
    		compiler.

    [04/12/98]	HJB	raswin.c
    		Update comments, adjust code for current Metrowerks
    		compiler.

    [04/12/98]	HJB	tokens.h
    		Update comments, tokens for alt, model colours.

    [04/12/98]	HJB	transfor.c
    		Update comments, add code for alt, model colours.

    [04/12/98]	HJB	transfor.h
    		Update comments, prototypes for alt, model colours.

    [23/11/98]	HJB	abstree.c
    		Add code for %A, %M specifiers, divide u/l case.

    [22/11/98]	HJB	cif_fract.c
    		New routine, derived from cif2pdb by H.J. Bernstein
    		and F. C. Bernstein.

    [22/11/98]	HJB	cif_fract.h.
    		New header for cif_fact.c.

    [22/11/98]	HJB	cif_stx.c
    		New routine, derived from P. Ellis CBFlib parser.

    [23/11/98]	HJB	render.c
    		Update comments, add code to stripe bonds for alternate
    		conformers.

    [23/11/98]	HJB	repres.c
    		Update comments, add code to stripe bonds for alternate
    		conformers.

    [09/09/98]	HJB	cif_ctonum.c
    		New routine, derived from ciftbx by S. R. Hall
    		and H. J. Bernstein.

    [09/09/98]	HJB	cif_ctonum.h
    		New header for cif_ctonum.c.

    [18/08/98]	HJB	cif.h
    		New header for cif.c, derived from CBFlib by P. Ellis
    		and H. J. Bernstein.

    [18/08/98]	HJB	cif.c
    		New routine derived from CBFlib by P. Ellis and
    		H. J. Bernstein.

    [14/08/98]	HJB	rasmol.c
    		Added hooks for termio for Linux.  These changes
    		are similar to, but not identical to the FreeBSD hooks.
    		See the linux conditionals. -- H. J. Bernstein

### Other Changes

The complete version 2 change history is in the directory ChangeLog

| Copying and Distribution | Contents | Installation Instructions |
| Changes | Things To Do | Introduction | Source Code and Binaries |
| RasMol Manual | Release README |

Updated 15 July 1999.
Herbert J. Bernstein
Bernstein + Sons, 5 Brewster Lane, Bellport, NY 11713-2803, USA
yaya@bernstein-plus-sons.com
+1-516-286-1339