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