********>Bugfix 15:
Author: Scott Brozell (reported by F.-Y. Dupradeau)
Date: 07/02/2004

Programs: LEaP

Description: tleap and xleap may produce an unclear error message when 
             transforming chirality orientations.
             The underlying cause may be faulty connection atoms
             in units produced by users.

Fix:  apply the following patch to amber8/src/leap/src/leap/chirality.c

------------------------------------------------------------------------------
*** chirality.c	25 Oct 2003 23:07:18 -0000	7.3
--- chirality.c	2 Jul 2004 23:32:47 -0000
***************
*** 112,124 ****
  				break;
  		}
  		if ( j >= 4 ) {
! 			VP0(( "ERROR: Comparing atoms %s, %s, %s, %s to atoms %s, %s, %s, %s\n", 
! 					sContainerName(aaOrig[0]), sContainerName(aaOrig[1]),
! 					sContainerName(aaOrig[2]), sContainerName(aaOrig[3]),
! 					sContainerName(aaNew[0]), sContainerName(aaNew[1]),
! 					sContainerName(aaNew[2]), sContainerName(aaNew[3]) ));
! 			DFATAL(( "Atom %s is not in the first list\n", 
! 					sContainerName(aaNew[i]) ));
  		}
  		/* Swap elements and flip sign */
  		if ( j != i ) {
--- 112,145 ----
  				break;
  		}
  		if ( j >= 4 ) {
! 			STRING sOrigDesc[4];
! 			STRING sNewDesc[4];
! 			VP0(( "ERROR: Comparing atoms\n"
!                   "        %s, \n"
!                   "        %s, \n"
!                   "        %s, and \n"
!                   "        %s \n"
!                   "       to atoms\n"
!                   "        %s, \n"
!                   "        %s, \n"
!                   "        %s, and \n"
!                   "        %s \n"
! 			      "       This error may be due to faulty Connection atoms.\n",
! 				sContainerFullDescriptor( (CONTAINER) aaOrig[0], sOrigDesc[0] ),
! 				sContainerFullDescriptor( (CONTAINER) aaOrig[1], sOrigDesc[1] ),
! 				sContainerFullDescriptor( (CONTAINER) aaOrig[2], sOrigDesc[2] ),
! 				sContainerFullDescriptor( (CONTAINER) aaOrig[3], sOrigDesc[3] ),
! 				sContainerFullDescriptor( (CONTAINER) aaNew[0],  sNewDesc[0] ),
! 				sContainerFullDescriptor( (CONTAINER) aaNew[1],  sNewDesc[1] ),
! 				sContainerFullDescriptor( (CONTAINER) aaNew[2],  sNewDesc[2] ),
! 				sContainerFullDescriptor( (CONTAINER) aaNew[3],  sNewDesc[3] )  ));
! /*
! 			Describe( cContainerWithin( aaOrig[0] ) ) ;
! 			Describe( cContainerWithin( aaNew[i] ) ) ;
! */
! 			DFATAL(( "Atom named %s from %s did not match !\n",
! 				sContainerName( aaNew[i] ),
! 				sContainerName( (CONTAINER) cContainerWithin(aaNew[i]) ) ));
  		}
  		/* Swap elements and flip sign */
  		if ( j != i ) {
------------------------------------------------------------------------------

Temporary workarounds are unnecessary; this is an enhancement.