********>Bugfix 2: Author: Scott Brozell, Demetri Moustakas, and Terry Lang Date: April 13, 2005 Program: sphgen Description: The variable representing the total number of spheres for the receptor is not initialized. This may cause out of bounds array indexing in subroutine sphere and ultimately incorrect clustering. The problem was first discovered on a Macintosh using a sphgen built by g77 version 3.4.0. On some platforms, the variable is initialized by the compiler. Fix: Make the following cahnges to the file /utilities/accessories/sphgen.f Index: sphgen.f =================================================================== RCS file: /usr/local/cvsroot/dock/utilities/accessories/sphgen.f,v retrieving revision 1.1 retrieving revision 1.1.8.1 diff -c -r1.1 -r1.1.8.1 *** sphgen.f 25 Mar 2005 18:50:49 -0000 1.1 --- sphgen.f 13 Apr 2005 23:41:43 -0000 1.1.8.1 *************** *** 185,190 **** --- 185,191 ---- 178 format(' output to ',a80) open(9,file=nmb,status='new') c + isph = 0 call sphere(inorm,isatm,scor,snorm,dotlim,radmax,RADMIN, &spcors,iatoms,jatoms,rads,normax,nsmax,natmax,isph,surftp,nat, &nsur,nspmax,nspall,iall,jall,allrad,allspc) *************** *** 962,968 **** allspc(nspall,2) = sp(2) allspc(nspall,3) = sp(3) endif ! itest=iabs(nres-jres) * if(rad.gt.rtmax.and.(itest.gt.4.or.surftp.eq.'L')) then if(rad.gt.rtmax)then rtmax=rad --- 963,969 ---- allspc(nspall,2) = sp(2) allspc(nspall,3) = sp(3) endif ! itest=abs(nres-jres) * if(rad.gt.rtmax.and.(itest.gt.4.or.surftp.eq.'L')) then if(rad.gt.rtmax)then rtmax=rad *************** *** 1020,1026 **** c c end of atom file: exit 500 continue - close(7) close(3,status='delete') close(2,status='delete') close(1,status='delete') --- 1021,1026 ----