AMBER Archive (2004)

Subject: Re: AMBER: segmentation fault

From: Scott Brozell (sbrozell_at_scripps.edu)
Date: Thu Mar 25 2004 - 16:33:32 CST


Hi,

On Fri, 19 Mar 2004, Hailong Lin wrote:

> thanks alot. after i changed the atomic name to 'Va', amber recognized the
> vanadium.
> Buuuuut, ' Segmentation Fault' is still staying where she was without any
> warnings in the leap.log file.

This problem is due to your unverified prep input file:
    0 0 2

HISTIDINE DELTAH
vo4.db94
 VO4 INT 1
 CORR OMIT DU BEG
   0.00000
   1 DUMM DU M 0 -1 -2 0.000 0.000 0.000 0.00000
   2 DUMM DU M 1 0 -1 1.449 0.000 0.000 0.00000
   3 DUMM DU M 2 1 0 1.522 111.100 0.000 0.00000
   4 V V 3 3 2 1 1.335 116.600 180.000 5.00000
   5 O1 O2 E 4 3 2 1.600 119.800 0.000 -2.00000
   6 O2 O2 S 4 5 2 1.600 104.507 180.000 -2.00000
   7 O3 O2 E 4 6 5 1.635 132.255 -179.326 -2.00000
   8 O4 O2 S 4 7 6 1.881 90.987 -89.162 -2.00000
   9 H1 H E 6 4 5 1.000 109.518 179.993 1.00000
  10 H2 H E 8 4 5 1.000 109.466 -179.993 1.00000

DONE
STOP

which results in a VO4 unit with this bonding:

H1 -- O4 -- V -- O1
            |
            O2
            |
            O3
H2

where H2 is an unbonded atom.

A corrected prep file is
    0 0 2

HISTIDINE DELTAH
vo4.db94
 VO4 INT 1
 CORR OMIT DU BEG
   0.00000
   1 DUMM DU M 0 -1 -2 0.000 0.000 0.000 0.00000
   2 DUMM DU M 1 0 -1 1.449 0.000 0.000 0.00000
   3 DUMM DU M 2 1 0 1.522 111.100 0.000 0.00000
   4 V V M 3 2 1 1.335 116.600 180.000 5.00000
   5 O1 O2 E 4 3 2 1.600 109.500 0.000 -2.00000
   6 O2 O2 E 5 4 3 1.600 109.507 109.000 -2.00000
   7 O3 O2 S 6 5 4 1.635 109.255 -109.326 -2.00000
   8 H1 H E 6 4 5 1.000 109.518 179.993 1.00000
   9 O4 O2 S 5 4 3 1.881 -109.987 -109.162 -2.00000
  10 H2 H E 8 4 5 1.000 109.466 -179.993 1.00000

DONE
STOP

which results in a VO4 unit with this bonding
(although the dihedrals may not be what you expect):

            O1
            |
H1 -- O3 -- V -- O4 -- H2
            |
            O2

The crash occurred in LEaP's determination of modified Bondi GB radii.
LEaP was assuming that all Hydrogen atoms were bonded.
This unrobust behavior has been corrected;
now LEaP will emit this message:

WARNING: Unbonded Hydrogen atom H2 in VO4.
 Cannot determine the requested GB radius for this atom.
 Writing the unmodified Bondi GB radius.

Here's the Amber 7 bugfix (see the web for Amber 8's):

Author: Scott Brozell
Date: 03/25/2004

Programs: LEaP

Description: tleap and xleap may cause a segmentation fault when saving
             a prmtop file using a unit containing unbonded hydrogen atoms;
             the problem occurs when modified GB radii are requested.

Fix: apply the following patch to amber7/src/leap/src/leap/unitio.c

------------------------------------------------------------------------------
*** unitio.c 22 Oct 2002 15:14:28 -0000 7.29
--- unitio.c 25 Mar 2004 19:59:56 -0000
***************
*** 5162,5187 ****
                                          /* make the modifications that hydrogen radii
                                             depend upon the atom it is bonded to. iGBparm=1
                                             corresponds to Amber 6, and JACS 122:2489 (2000);
! iGBparm=2 adds the modifcation from Biopolymers
                                             56: 275 (2001) */

! if( GDefaults.iGBparm == 1 || GDefaults.iGBparm == 2 ){
                                                  aAtomA = aAtomBondedNeighbor(saPAtom->aAtom, 0);
! if( sAtomType(aAtomA)[0] == 'C' ||
! sAtomType(aAtomA)[0] == 'c' ) dGBrad = 1.3;
! if( sAtomType(aAtomA)[0] == 'O' ||
! sAtomType(aAtomA)[0] == 'o' ) dGBrad = 0.8;
! if( sAtomType(aAtomA)[0] == 'S' ||
! sAtomType(aAtomA)[0] == 's' ) dGBrad = 0.8;
! if( (sAtomType(aAtomA)[0] == 'N' ||
! sAtomType(aAtomA)[0] == 'n') &&
! GDefaults.iGBparm == 2) dGBrad = 1.3;
                                          }
!
! if( GDefaults.iGBparm == 6 ){ /* try Alexey's scheme */
! aAtomA = aAtomBondedNeighbor(saPAtom->aAtom, 0);
! if( sAtomType(aAtomA)[0] == 'N' ||
! sAtomType(aAtomA)[0] == 'n' ) dGBrad = 1.3;
                                          }

                                          break;
--- 5162,5200 ----
                                          /* make the modifications that hydrogen radii
                                             depend upon the atom it is bonded to. iGBparm=1
                                             corresponds to Amber 6, and JACS 122:2489 (2000);
! iGBparm=2 adds the modification from Biopolymers
                                             56: 275 (2001) */

! if( iAtomCoordination(saPAtom->aAtom) > 0 ) {
! /* For multiply bonded Hydrogen atoms use the first
! * bond for determining modified GB radii.
! * WAT contains multiply bonded Hydrogen atoms
! * so do not emit a warning. */
                                                  aAtomA = aAtomBondedNeighbor(saPAtom->aAtom, 0);
! if( GDefaults.iGBparm == 1 || GDefaults.iGBparm == 2 ){
! if( sAtomType(aAtomA)[0] == 'C' ||
! sAtomType(aAtomA)[0] == 'c' ) dGBrad = 1.3;
! if( sAtomType(aAtomA)[0] == 'O' ||
! sAtomType(aAtomA)[0] == 'o' ) dGBrad = 0.8;
! if( sAtomType(aAtomA)[0] == 'S' ||
! sAtomType(aAtomA)[0] == 's' ) dGBrad = 0.8;
! if( (sAtomType(aAtomA)[0] == 'N' ||
! sAtomType(aAtomA)[0] == 'n') &&
! GDefaults.iGBparm == 2) dGBrad = 1.3;
! }
! else if( GDefaults.iGBparm == 6 ){
! /* try Alexey's scheme */
! if( sAtomType(aAtomA)[0] == 'N' ||
! sAtomType(aAtomA)[0] == 'n' ) dGBrad = 1.3;
! }
                                          }
! else {
! VP0(( "WARNING: Unbonded Hydrogen atom %s in %s.\n"
! " Cannot determine the requested GB radius"
! " for this atom.\n"
! " Writing the unmodified Bondi GB radius.\n",
! saPAtom->aAtom->cHeader.sName,
! saPAtom->aAtom->cHeader.cContainedBy->sName ));
                                          }

                                          break;
------------------------------------------------------------------------------

Temporary workarounds: use the unmodified Bondi GB radii via the command
                       set default PBradii bondi

-----------------------------------------------------------------------
The AMBER Mail Reflector
To post, send mail to amber_at_scripps.edu
To unsubscribe, send "unsubscribe amber" to majordomo_at_scripps.edu