********> bugfix.7 Author: Dave Case Date: 4/24/02 Programs: sander Severity: Moderate Description: The surface area routines (invoked when gbsa=1) only know about upper case atom types, and fail with gaff. Fix: Make the following changes to amber7/src/sander/mdread.f ----------------------------------------------------------------------------- *** mdread.f 2002/02/15 19:37:14 7.156 --- mdread.f 2002/04/23 15:31:09 7.157 *************** *** 709,715 **** x(L180-1+i) = 0.00000d0 x(L185-1+i) = 0.00000d0 end if ! else if (atype(1:1).eq.'C') then if (nbond.eq.2) then x(L165-1+i) = 1.70d0 + 1.4d0 x(L170-1+i) = 0.51245d0 --- 709,715 ---- x(L180-1+i) = 0.00000d0 x(L185-1+i) = 0.00000d0 end if ! else if (atype(1:1).eq.'C' .or. atype(1:1).eq.'c') then if (nbond.eq.2) then x(L165-1+i) = 1.70d0 + 1.4d0 x(L170-1+i) = 0.51245d0 *************** *** 735,741 **** x(L175-1+i) = -0.33421d0 x(L180-1+i) = -0.0018683d0 x(L185-1+i) = 0.00049372d0 ! else if (atype(1:1).eq.'O') then if (nbond.eq.1) then x(L165-1+i) = 1.60d0 + 1.4d0 x(L170-1+i) = 0.77914d0 --- 735,741 ---- x(L175-1+i) = -0.33421d0 x(L180-1+i) = -0.0018683d0 x(L185-1+i) = 0.00049372d0 ! else if (atype(1:1).eq.'O' .or. atype(1:1).eq.'o') then if (nbond.eq.1) then x(L165-1+i) = 1.60d0 + 1.4d0 x(L170-1+i) = 0.77914d0 *************** *** 769,775 **** x(L180-1+i) = -0.00032006d0 x(L185-1+i) = 0.000024774d0 end if ! else if (atype(1:1).eq.'N') then if (nbond.eq.1) then x(L165-1+i) = 1.65d0 + 1.4d0 x(L170-1+i) = 0.73511d0 --- 769,775 ---- x(L180-1+i) = -0.00032006d0 x(L185-1+i) = 0.000024774d0 end if ! else if (atype(1:1).eq.'N' .or. atype(1:1).eq.'n') then if (nbond.eq.1) then x(L165-1+i) = 1.65d0 + 1.4d0 x(L170-1+i) = 0.73511d0 *************** *** 795,807 **** x(L175-1+i) = -0.26393d0 x(L180-1+i) = 0.0010629d0 x(L185-1+i) = 0.0002179d0 ! else if (atype.eq.'S ') then x(L165-1+i) = 1.90d0 + 1.4d0 x(L170-1+i) = 0.54581d0 x(L175-1+i) = -0.19477d0 x(L180-1+i) = -0.0012873d0 x(L185-1+i) = 0.00029247d0 ! else if (atype.eq.'P ') then if (nbond.eq.3) then x(L165-1+i) = 1.90d0 + 1.4d0 x(L170-1+i) = 0.3865d0 --- 795,807 ---- x(L175-1+i) = -0.26393d0 x(L180-1+i) = 0.0010629d0 x(L185-1+i) = 0.0002179d0 ! else if (atype(1:1).eq.'S' .or. atype(1:1).eq.'s') then x(L165-1+i) = 1.90d0 + 1.4d0 x(L170-1+i) = 0.54581d0 x(L175-1+i) = -0.19477d0 x(L180-1+i) = -0.0012873d0 x(L185-1+i) = 0.00029247d0 ! else if (atype(1:1).eq.'P' .or. atype(1:1).eq.'p') then if (nbond.eq.3) then x(L165-1+i) = 1.90d0 + 1.4d0 x(L170-1+i) = 0.3865d0 *************** *** 821,827 **** x(L175-1+i) = 0.00000d0 x(L180-1+i) = 0.00000d0 x(L185-1+i) = 0.00000d0 ! else if (atype(1:1).eq.'H') then x(L165-1+i) = 0.00000d0 + 1.4d0 x(L170-1+i) = 0.00000d0 x(L175-1+i) = 0.00000d0 --- 821,827 ---- x(L175-1+i) = 0.00000d0 x(L180-1+i) = 0.00000d0 x(L185-1+i) = 0.00000d0 ! else if (atype(1:1).eq.'H' .or. atype(1:1).eq.'h') then x(L165-1+i) = 0.00000d0 + 1.4d0 x(L170-1+i) = 0.00000d0 x(L175-1+i) = 0.00000d0 ----------------------------------------------------------------------------- Workarounds: No really good ones: you could manually change the atom types in your prmtop file to upper case. Files affected: amber7/src/sander/mdread.f