********> bugfix.20 Author: Bill Ross Date: 7/29/2000 Programs: leap Severity: moderate Description: When a bond can't be formed, typically in loadpdb due to a pdb CONECT when there is an atom naming problem in the file, the program exits. Another bugfix in this file is included, effect minor: due to a bad condition test, atom radius might default to 2.0 for some purposes (parameters in prmtop are not affected). Fix: Make the following changes to the file atom.c: ------------------------------------------------------------------- *** OLD atom.c --- NEW atom.c *************** *** 435,442 **** VERIFYOBJEKT( aAtom1, ATOMid ); VERIFYOBJEKT( aAtom2, ATOMid ); ! if ( bBondAtomProblem( aAtom1, aAtom2 ) ) ! DFATAL(("debug\n")); /* * look up residues --- 435,447 ---- VERIFYOBJEKT( aAtom1, ATOMid ); VERIFYOBJEKT( aAtom2, ATOMid ); ! if ( bBondAtomProblem( aAtom1, aAtom2 ) ) { ! STRING sAtom1, sAtom2; ! sContainerFullDescriptor( (CONTAINER)aAtom1, sAtom1 ); ! sContainerFullDescriptor( (CONTAINER)aAtom2, sAtom2 ); ! VP0(( "ATOMS NOT BONDED: %s %s\n", sAtom1, sAtom2 )); ! return; ! } /* * look up residues *************** *** 1201,1207 **** strcpy( sType, sAtomType( aAtom )); PARMLIB_LOOP( GplDefaultParmLib, psTemp, ( iTemp = iParmSetFindAtom( psTemp, sType))); ! if( iTemp = PARM_NOT_FOUND) { return( -1.0 ); } ParmSetAtom( psTemp, iTemp, sType, &dMass, &dPolar, &dEpsilon, &dR, --- 1206,1212 ---- strcpy( sType, sAtomType( aAtom )); PARMLIB_LOOP( GplDefaultParmLib, psTemp, ( iTemp = iParmSetFindAtom( psTemp, sType))); ! if( iTemp == PARM_NOT_FOUND) { return( -1.0 ); } ParmSetAtom( psTemp, iTemp, sType, &dMass, &dPolar, &dEpsilon, &dR,