[08/10/93]	RS	molecule.c
		Solved problem with protein hydrogen bonding, in PDB files
		containing both protein and nucleic acid sequences.

[07/10/93]	RS	outfile.c
		Corrected problem with compressed postscript output using
		"colour" instead of "color" resulting in monochrome output.

[06/10/93]	RS	abstree.c rasmol.c render.c
		Moved #include <stdlib.h> inside the #ifdef IBMPC to avoid
		compilation errors on SUN 386is without stdlib.h!

[05/10/93]	RS	command.c abstree.c
		Added support for negative residue numbers when specifing
		single residue numbers and ranges of residues, and allow the
		use of negative numbers in RasMol conditional expressions.

[05/10/93]	RS	rasmol.c molecule.h
		Altered the main loop of RasMol and the way char arrays are
		initialised in molecule.h to avoid compilation warnings with
		SGI's cc compiler. Thanks to Lachlan Bell (lhb@seqnet.dl..).

[04/10/93]	RS	Makefile Imakefile
		Added a comment to the Makefile to the effect that the Xinput
		library is linked using -lXi instead of -lXinput on SGIs.

[01/10/93]	RS	molecule.c render.c
		Modified bug in molecule.c that only created new groups or 
		chains at changes in PDB residue serial numbers. This caused
		ribbon problems on some GAP3.pdb. Thanks to Andrew Coulson.

[29/09/93]	RS	molecule.c
		Changed method for determining hydrogen bond offests for the
		RasMol "colour hbond type" command to not use the residue
		serial numbers found in the PDB file.

[29/09/93]	RS	molecule.c molecule.h render.c
		Recorded breaks in protein backbone caused by large alpha
		carbon separation to avoid drawing ribbon over chain breaks.

[27/09/93]	RS	x11win.c
		Improved the scroll bars to allow the `button' to be dragged
		by moving the mouse whilst a button is depressed.

[27/09/93]	RS	molecule.c
		Added a flag to indicate the source of the current secondary
		structure assignment used by the program, i.e PDB vs DSSP.

[27/09/93]	RS	rasmol.c raswin.c raswin.rc raswin.idm command.c transfor.c
		Replaced "Ball & Wire" with "Ribbons" on the display menu
		and improved the way representations are enabled and disabled.

[24/09/93]	RS	molecule.c tokens.h command.c
		Modified LoadPDBMolecule to read the secondary structure
		assignment records (HELIX and SHEET) and use these as default
		secondary structure assignments when they are present. Added 
		the command "structure" to force the use of DSSP definitions.

[24/09/93]	RS	molecule.c
		Optimised Implementation of Kabsch and Sander's algorithm to
		determine beta sheet secondary structures, reducing time to
		analyse GLS2 from over two hours to 7mins on a sun4.

[23/09/93]	RS	abstree.c
		Modified EvaluateProperty to test amino acid properties by
		using an array containing a bitvector of properties for each
		amino acid. This is both faster and easier to maintain.

[23/09/93]	RS	molecule.c command.c tokens.h abstree.c abstree.h
		Completed prototype beta sheet secondary structure 
		determination based upon the Kabsch and Sander's algorithm.
		Added the predicate "sheet" for amino acids in ladders.

[23/09/93]	RS	molecule.c molecule.h transfor.c abstree.c
		Added pyrrolidine carboxylic acid and hydroxyproline (and
		ASX and GLX) to the list of recognised amino acids for 
		determining hydrogen bonding and structure determination.

[22/09/93]	RS	molecule.c molecule.h tokens.h command.c render.c 
		abstree.c
		Corrected bug with RasMol that caused proteins with actyl
		N-terminii not to be recognised as amino acid sequences.
		Added the predicate "protein" which is the set "amino" and
		the n-terminal acetic acid. Thanks to Andrew Coulson.

[21/09/93]	RS	transfor.c transfor.h
		Solved remaining problems with huge proteins in RasWin.

[21/09/93]	RS	molecule.c
		Improved the performance of (helix) secondary structure
		determination, by ordering the h-bonds to reduce searching.

[21/09/93]	RS	molecule.c render.c render.h transfor.c command.c
		Modified altered the "Boxing" algorithm used to determine
		bonding to use the Shadow tracing hash table. This both
		reduces memory and dramatically increases performance
		(halving the time to read 2GLS from 43s to 21s on a sun4).

[17/09/93]	RS	molecule.c molecule.h command.c raswin.c
		Solved (some) problems caused by reading in huge proteins 
		with more than 32767 atoms and bonds, and larger in diameter
		than can be represented by 16 bit integers.

[17/09/93]	RS	render.c
		Corrected more problems caused by integer overflow and the
		division by zero errors when zooming Ribbon models in RasWin.

[15/09/93]	RS	command.c
		Extended expression syntax to include numbers as primitive
		expressions to specify a given residue sequence number. Hence 
		the "select 5,6" is equiavalent to "select resno=5,resno=6"
		and "select 10-20" means "select (resno>=10) and (resno<=20)".

[14/09/93]	RS	render.c
		Corrected problems caused by integer overflow and integral
		type conversion warnings with Spline code when zooming.

[13/09/93]	RS	x11win.c rasmol.h
		Added check to the X Window System MIT shared memory extension
		to test if server is on the same host (bug in XShm?) and hence
		made MITSHM enabled as the default option.

[13/09/93]	RS	render.c pixutils.c pixutils.h
		Completed implementation of ribbons using a MolScript-like
		Hermite spline through Carson's control points. Optimized
		fixed point implementation and improved ribbon clipping.

[12/09/93]	RS	render.c transfor.c transfor.h command.c molecule.h
		Added an optional width parameter to the "ribbons" command
		to allow the user to define ribbon width at each residue
		independently, allowing for example wider ribbons in helix.

[12/09/93]	RS	pixutils.c pixutils.h command.c tokens.h
		Added the command "set strands <number>" to allow the user to
		globally modify the number strands in ribbon representations.

[29/08/93]	RS	pixutils.c render.c command.c tokens.h transfor.c 
		transfor.h
		Added prototype support for the RasMol ribbon representation
		based on a fixed number of straight strands through Carson's
		control points (peptide plane miday between alpha carbons).

[26/08/93]	RS	raswin.c rasmol.c command.c
		Changed the default colour scheme to CPK.

[26/08/93]	RS	molecule.c
		Added support for saving the currently selected atoms and 
		their connectivity information in an alchemy format file.

[26/08/93]	RS	x11win.c
		Increased the minimum width of the screen to avoid bug in
		the X Scroll bar range checking and limit XRange to word
		boundaries to solve shared memory bug on some machines.

[25/08/93]	RS	transfor.c
		Changed type of OrigCX, OrigCY and OrigCZ to type Long to
		prevent RasWin crashing when loading PDB files centered a 
		long way from the co-ordinate origin.

[25/08/93]	RS	x11win.c
		Improved code for using MIT's shared memory extension. The
		code now uses the XShmCreateImage call and destroys the shmid
		to ensure that the shared memory is reclaimed when RasMol is
		terminated. Thanks to Andre Beck.

[24/08/93]	RS	abstree.c
		Extended the syntax of primitive atom expressions to allow
		the user to select residues (groups) whose names contain non
		alphabetic characters, such as digits. Hence the new syntax
		allows expressions of the form [SO4]20 and [+U]*P

[24/08/93]	RS	molecule.c molecule.h render.c transfor.c abstree.c
		Added code to determine hydrogen bonding between nucleic
		acid residues in distrinct chains. Modified "set hbond
		backbone" code, to only draw a single bond between sugar
		phosphate backbones for each pair of nucleotides.

[23/08/93]	RS	transfor.c
		Modified the way in which ScaleColourAttrib tries to allocate
		the colour map. Now if there are no free shades, it attempts
		to allocate as many close matches as possible.

[23/08/93]	RS	x11win.c
		Improved the XInput extensions dials box handling code, to
		explicitly check the number of Dials and LEDs present. This
		avoids problems on some SGI dials boxes. Thanks to Nick Blom.

[20/08/93]	RS	molecule.c molecule.h
		Added a backbone representation for nucleic acid structures
		by connecting sugar phosphate P atoms of consecutive residues.

[20/08/93]	RS	command.c
		Fixed bug caused by "UpdateScrollBars" being called by the
		`rotate' command, even when not running interactively.

[20/08/93]	RS	molecule.c molecule.h tokens.h command.c abstree.c 
		abstree.h
		Added complete code for Kabsch and Sander secondary structure
		determination of alpha helices. Added predefined set "HELIX"
		that contains all atoms contained in a alpha helix structure.

[19/08/93]	RS	command.c
		Fixed bug in LoadScriptFile that assumed that it was being
		called after parsing a command line, causing RasMol to crash
		SGI machines that had ".rasmolrc" initialisation files. Thanks 
		to Peter Murray-Rust and special thanks to Tom Smith!

[19/08/93]	RS	transfor.c command.c
		The restrict command (and hydrogen/hetero menu options) now
		removes bonds connected to any removed atom ignoring the
		bondmode setting. Isabelle Phan (phan@bioch.ox.ac.uk)

[19/08/93]	RS	raswin.c
		Added Alchemy file type to the RasWin FileOpen dialog box.

[19/08/93]	RS	molecule.c
		Imposed maximum backbone bond length of 7.00 Angstroms.

[18/08/93]	RS	rasmol.c raswin.c
		Modified the actions performed by ReDrawFlag when no 
		molecule is loaded. This allows the background colour
		to be changed before loading a molecule.

[18/08/93]	RS	x11win.c
		Corrected a memory deallocation problem, caused by the
		XDestroyImage freeing the current frame buffer. This has
		caused numerous untracable errors in previous versions. 

[18/08/93]	RS	abstree.c molecule.c
		Added support for IUPAC hydrogen names "1H", "2H" etc...

[10/08/93]	RS	command.c transfor.c transfor.h molecule.c molecule.h
		Added the "colour hbond type" command to enable hydrogen
		bonds to be drawn in colours associated with their offsets.

[09/08/93]	RS	abstree.c abstree.h command.c tokens.h
		Completely reorganised the classification of amino acids into
		predefined sets. Added sets for "surface" and "buried", for
		"small", "medium" and "large" and synonyms "positive" and
		"negative" for "acidic" and "basic", the "charged" sets.

[05/08/93]	RS	molecule.c molecule.h command.c tokens.h
		Added support for reading in Alchemy format data files, as
		used by the popular PC and Mac program. Thanks to Steve Ludtke.

[05/08/93]	RS	rasmol.c raswin.c x11win.c mswin31.c command.c
		Changed default value of ReDrawFlag to initially be zero
		until the molecule is loaded. This corrects bug when the
		dispatcher doesn't check stdin when no molecule loaded.

[03/08/93]	RS	raswin.c mswin31.c
		Added Print option to the RasWin file menu to allow the
		current image to be printed out using the MS Windows
		printer drivers. Tested for Mono & Colour PostScript.

[03/08/93]	RS	abstree.c
		Changed definition of the sets "hydrophobic" and "polar".
		Glycine (GLY) is now considered a polar amino acid residue.

[03/08/93]	RS	rasmol.c x11win.c
		Improved dispatch of pending X11 events [RasMol now processes
		all X Events until quiescent]. Holding down scroll bar arrow
		spins until mouse button released. Fixed server colour search
		bug when not running interactively. Thanks to Doug Phillips.

[03/08/93]	RS	molecule.c
		Modified the order in which molecules are internally stored
		so saving PDB files preserves the correct atom ordering. Also
		solved output chirality problems when INVERT is defined.

[03/08/93]	RS	outfile.c
		Fixed bugs and improved performance of writing output files
		under MS Windows caused by rounding when INVERT is defined.

[29/07/93]	RS	outfile.c
		Fixed bug when generating 24bit Run Length Encoded sun 
		rasterfile format images, thanks to Doug Phillips. Fixed
		Monochrome RLE PostScript bug, thanks to Andrew Coulson. Also
		changed "64 idiv" to "-6 bitshift" to speed up PostScript.

[28/07/93]	RS	outfile.c outfile.h command.c rasmol.c raswin.c
		Modified the PostScript output routines to include a run
		length encoding (RLE) compression option (as default). This
		has significantly reduced the size of output files from
		several megabytes to a few hundred kilobytes per image.

[27/07/93]	RS	tokens.h command.c molecule.c molecule.h
		Added functions to write out currently selected atoms to a
		PDB file as viewed from the current rotation matrix. This
		command doesn't output CONNECT, SSBOND or MASTER records 
		yet. May also add HELIX, TURN and SHEET records in future.

[27/07/93]	RS	mswin31.c
		Corrected bug that resulted in the PixMap image of a molecule
		persisting (being redrawn after expose events) after the 
		molecule has been `closed' or `zapped!'.

[26/07/93]	RS	!Defined macro "Long" in rasmol.h to be the 32bit 
		integer type on the current architecture. This should be 
		defined as long on all architectures except the 64bit 
		DEC Alpha.

[23/07/93]	RS	Imakefile
		Created Imakefile to allow easy compilation on local machines
		using the `xmkmf' command to generate Makefiles with the
		appropriate parameters.

[21/07/93]	RS	bitmaps.h graphics.h transfor.c
		Corrected compilation warnings generated by the Solaris v2.0
		C Compiler due to default signed chars and ANSI C division.

[08/07/93]	RS	command.c tokens.h
		Changed the way keywords are identified from searching a table
		of binary search trees ordered by frequency, to binary search
		of an initialised array by token length. This should reduce
		both memory and processing time.

[08/07/93]	RS	abstree.h
		Altered the syntax of primitive atom expressions to provide
		better support for numeric chain identifiers using optional
		colon before chain. CYS11:1 can be distinguished from CYS111!

[03/07/93]	RS	rasmol.h raswin.c rasmol.c render.c molecule.c
		Added support for Dynamic Data Exchange (DDE) of RasMol
		parameters and valuation data under MS Windows 3.1.

[02/07/93]	RS	molecule.c
		Corrected a typographical error resulting in molecules being
		drawn back to front. This produced images of molecules with
		the wrong chirality. Thanks to Pedro Coutinho and Tom Smith.

[01/07/93]	RS	command.c molecule.c
		Solved problems when reading in PDB files that contain no
		atoms such as the documentation files cpk.pdb and shapely.pdb.
		This allows colour masks to be stored in a separate PDB file
		and preloaded before the main molecule. Thanks to Bob Strunz.

[01/07/93]	RS	graphics.h x11win.c
		Added much better support for 24bit and 32bit XVisual display
		types. This now permits the 8bit RasMol to run find an 
		appropriate visual on 24bit and 32bit screens. This solves
		problems with obscure default visuals. Special thanks to
		Jenny Barna.

[30/06/93]	RS	command.c abstree.c abstree.c
		Implemented the "WITHIN" function in atom expressions. This
		selects all atoms within a specified radius of a given set
		of atoms (defined by an atom expression). This even permits
		the WITHIN command to be used recursively.

[29/06/93]	RS	x11win.c
		Improved the local colour map support for 8bit displays. The
		program no detects if the entire global colour map is already
		allocated and forces the use of a local colour map. This gets
		around the problems of black on black menu bottons and scroll
		bars.

[27/06/93]	RS	command.c transfor.c transfor.h
		Implemented the "colour [atom] amino" command that colours
		amino acid residues by their properties. These colours are
		more intuitive (conventional) than shapely colours and better
		for a range of displays. Thanks to Andrew Coulson.

[27/06/93]	RS	molecule.c transfor.c abstree.h abstree.c
		Added much better support for a wide variety of element
		types by introducing element handles. Van der Waals radii
		and CPK colours are now maintained for a much larger number
		of atom types.

[27/06/93]	RS	command.c render.c render.h transfor.c transfor.h
		Implemented the "ssbond <value>" and "hbond <value>" commands
		to represent hydrogen bonds and disulphide bridges as thick
		cylinders as well as dashed vectors. Significantly altered
		the dynamics of RasMol by making backbone, hbond and ssbond
		selection lazy. All these modes always clip vectors and
		cylinders. This'll speed up transformation and selection.

[27/06/93]	RS	rasmol.c raswin.c abstree.c abstree.h
		Added predicates for "aliphatic" and "aromatic" predefined 
		sets. Separated expression handling from molecule.c

[27/06/93]	RS	command.c graphics.h x11win.c mswin31.c
		Added the "hourglass" variable to rasmol, that enables and
		disables the use of the hou glass cursor whilst RasMol is
		busy drawing and image. This was infuriating during DDE.

[27/06/93]	RS	render.c pixutils.c
		Implemented the section slabmode to draw only a two a cross
		section on the current clipping plane. Modified the atom
		picking to accept this mode, and fixed a minor bug in the
		"half" and "solid" slabmodes for drawing and picking. Removed
		clipping code from the shadowing scanline routine.

[24/06/93]	RS	outfile.c
		Corrected problem when outputing postscript files. A rounding
		error when shrinking a picture to fit a page resulted in an
		axis being scaled by zero. Thanks to Ian Morrison.

[23/06/93]	RS	!RasMol and RasWin added to the EMBL file server and 
		anonymous FTP server in Heidelberg, in the directories 
		/pub/software/dos and /pub/software/unix of 
		ftp.embl-heidelberg.de

[22/06/93]	RS	x11win.c
		Fixed problem in selecting the required visual class that
		caused RasMol to crash when running the OpenWin3 server.

[22/06/93]	RS	rasmol.h
		Added warning messages to the RasMol banner to describe
		current visual depth and if not displaying interactively.

[21/06/93]	RS	molecule.h molecule.c
		Added short radius and irad fields to HBond structure
		to allow for `thick' hydrogen and disulphide bonds.

[21/06/93]	RS	pixutils.c command.c render.c outfile.c
		Ensured all function prototypes were surrounded by #if
		defined(__STDC__) || defined(IBMPC) to avoid errors with 
		non ANSI C compilers and MS DOS compilers.

[20/06/93]	RS	Makefile
		Added the "-systype bsd43" and "-signed" options to the mips
		entry for sysv and bsd43 domains E&S ESV workstations thanks
		to Andy Sheppard (mbasd@seqnet.dl.ac.uk)

[18/06/93]	RS	!RasMol version 2.1 added to the Frequently Asked 
		Questions (FAQ) list of comp.graphics in the section on 
		molecular visualization stuff. A RasMol entry ias also 
		added to the molecular graphics menu of the John Hopkins 
		University Medical Library Gopher system.

[18/06/93]	RS	!Announced first public release of RasMol and RasWin 
		version 2.1, available by anonymous FTP from ftp.dcs.ed.ac.uk
		[129.215.160.5] in the directory /pub/rasmol. The announcement
		was made in both bionet.software and comp.graphics newsgroups.

