********>Bugfix 44:
Author: Scott Brozell
Date: 05/20/2005

Programs: LEaP

Description: tleap and xleap may cause a segmentation fault when loading
             a prep file containing LOOP bonds between atoms of type dummy.

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

------------------------------------------------------------------------------
*** amber.c	29 Apr 2002 16:48:37 -0000	7.17
--- amber.c	21 May 2005 06:51:33 -0000
***************
*** 1189,1194 ****
--- 1189,1199 ----
                  aMain1 = aAtom;         
              }
          }
+         else {
+             if ( strncmp( sName, "DUMM", 4 ) != 0 ) {
+                 VP0(( "Entry of type DUmmy; atom %s not created\n", sName ));
+             }
+         }
          cPCoor->aAtom = aAtom;
          iIndex++;
      }
***************
*** 1249,1260 ****
                  aAtom2= (ATOM)cContainerFindName( (CONTAINER)rRes, 
  							ATOMid, saStr[2] );
  		if ( aAtom == NULL ) {
! 		    VP0(( "** LOOP atom %s not found\n", saStr[1] ));
  		    problem++;
  		}
  		if ( aAtom2 == NULL ) {
! 		    VP0(( "** LOOP atom %s not found\n", saStr[2] ));
  		    problem++;
  		}
  		if (bAtomBondedTo(aAtom, aAtom2)) {
  		    VP0(( "%s:  LOOP: redundant bond  %s--%s  ignored\n",
--- 1254,1269 ----
                  aAtom2= (ATOM)cContainerFindName( (CONTAINER)rRes, 
  							ATOMid, saStr[2] );
  		if ( aAtom == NULL ) {
! 		    VP0(( "** LOOP atom %s not found - bond not formed\n",
! 					saStr[1] ));
  		    problem++;
+ 		    continue;
  		}
  		if ( aAtom2 == NULL ) {
! 		    VP0(( "** LOOP atom %s not found - bond not formed\n",
! 					saStr[2] ));
  		    problem++;
+ 		    continue;
  		}
  		if (bAtomBondedTo(aAtom, aAtom2)) {
  		    VP0(( "%s:  LOOP: redundant bond  %s--%s  ignored\n",
------------------------------------------------------------------------------

Workarounds: Verify the LOOP bonds.  Correct the dummy types of the non-dummy
             atoms; this may be accomplished in several ways.  One way is
             by using a file format other than the prep file format.
             For example, the mol2 file format is apt for a single residue.
             antechamber can convert between formats, e.g.:
             antechamber -i input_file -fi prepi -o output_file -fo mol2