hdiff output

r31219/amberinterface.f 2016-09-29 19:30:08.977587875 +0100 r31218/amberinterface.f 2016-09-29 19:30:09.233591340 +0100
677: ! LIGAND ROTATION is now implemented as well. This seems to be way more efficient 677: ! LIGAND ROTATION is now implemented as well. This seems to be way more efficient 
678: !  than random xyz moves or MD runs to sample the energy landscape of a docked ligand + protein. 678: !  than random xyz moves or MD runs to sample the energy landscape of a docked ligand + protein. 
679: !  The atoms of the ligand have to be specified in the file 'movableatoms', the keywords679: !  The atoms of the ligand have to be specified in the file 'movableatoms', the keywords
680: !  'MOVABLEATOMS' and 'LIGMOVE' also need to be present in the data file.680: !  'MOVABLEATOMS' and 'LIGMOVE' also need to be present in the data file.
681: !  If one wants to explore the ligand configuration space only by rotation, it is advised681: !  If one wants to explore the ligand configuration space only by rotation, it is advised
682: !  to keep the stepsize small (STEP 0.01) and use 'AMBERMDSTEPS' as well, setting the number682: !  to keep the stepsize small (STEP 0.01) and use 'AMBERMDSTEPS' as well, setting the number
683: !  of MD steps in the min_md.in file to 1, and ntr/ntwx also to 1. In this way each starting 683: !  of MD steps in the min_md.in file to 1, and ntr/ntwx also to 1. In this way each starting 
684: !  configuration is being dumped in the coords.mdcrd file, which can be useful if one wants to 684: !  configuration is being dumped in the coords.mdcrd file, which can be useful if one wants to 
685: !  check how extensive the movement of the ligand is in the pocket.685: !  check how extensive the movement of the ligand is in the pocket.
686: use modamber9686: use modamber9
687: use commons, only : natoms, change_temp, newres_temp, perct, perccut, step687: use commons, only : natoms, change_temp, newres_temp, perct, perccut
688: use nblist, only : nbflag, skinnb688: use nblist, only : nbflag, skinnb
689: use porfuncs689: use porfuncs
690: 690: 
691: implicit none691: implicit none
692: 692: 
693: 693: 
694: integer JP, itime1, now(3), nmovableatoms,i,j,movableatomlist1(nmovableatoms),nblocks,atomsinblock1(nblocks),offset1,k694: integer JP, itime1, now(3), nmovableatoms,i,j,movableatomlist1(nmovableatoms),nblocks,atomsinblock1(nblocks),offset1,k
695: double precision        :: y(3*natoms), grad(3*natoms), ereal,ligandcentre(3),ligandcoords(3),ligandcoordsrotated(3)695: double precision        :: y(3*natoms), grad(3*natoms), ereal,ligandcentre(3),ligandcoords(3),ligandcoordsrotated(3)
696: double precision        :: twopi,pi,DPRAND,randomphi,randompsi,randomtheta,DIST, dummyz696: double precision        :: twopi,pi,DPRAND,randomphi,randompsi,randomtheta,DIST, dummyz
697: double precision        :: st,ct,sph,cph,sps,cps, VECBAX, VECBAY, VECBAZ, randomx, randomy, randomz, dummyx, dummyy697: double precision        :: st,ct,sph,cph,sps,cps, VECBAX, VECBAY, VECBAZ, randomx, randomy, randomz, dummyx, dummyy
980:               y(3*j  )=y(3*j  )+2*randomz*ligcartstep-ligcartstep980:               y(3*j  )=y(3*j  )+2*randomz*ligcartstep-ligcartstep
981:            enddo981:            enddo
982:         endif982:         endif
983: ! 3) RIGID LIGAND TRANSLATION983: ! 3) RIGID LIGAND TRANSLATION
984:         if ((LIGMOVET).and.(ligtransstep.gt.0).and..not.BLOCKMOVET) then984:         if ((LIGMOVET).and.(ligtransstep.gt.0).and..not.BLOCKMOVET) then
985:            randomx=DPRAND()985:            randomx=DPRAND()
986:            randomy=DPRAND()986:            randomy=DPRAND()
987:            randomz=DPRAND()987:            randomz=DPRAND()
988:            do i=1,nmovableatoms988:            do i=1,nmovableatoms
989:               j=movableatomlist(i)989:               j=movableatomlist(i)
990:               y(3*j-2)=y(3*j-2)+2*randomx*ligtransstep*STEP(JP)-ligtransstep*STEP(JP)990:               y(3*j-2)=y(3*j-2)+2*randomx*ligtransstep-ligtransstep
991:               y(3*j-1)=y(3*j-1)+2*randomy*ligtransstep*STEP(JP)-ligtransstep*STEP(JP)991:               y(3*j-1)=y(3*j-1)+2*randomy*ligtransstep-ligtransstep
992:               y(3*j  )=y(3*j  )+2*randomz*ligtransstep*STEP(JP)-ligtransstep*STEP(JP)992:               y(3*j  )=y(3*j  )+2*randomz*ligtransstep-ligtransstep
993:            enddo993:            enddo
994:         endif994:         endif
995:         if ((LIGMOVET).and.(ligtransstep.gt.0).and.BLOCKMOVET) then995:         if ((LIGMOVET).and.(ligtransstep.gt.0).and.BLOCKMOVET) then
996:           offset1=0996:           offset1=0
997: !          WRITE(*,*) 'nblocks ', nblocks997: !          WRITE(*,*) 'nblocks ', nblocks
998:           do i=1,nblocks998:           do i=1,nblocks
999:              if(i>1) offset1=offset1+atomsinblock(i-1)999:              if(i>1) offset1=offset1+atomsinblock(i-1)
1000:              randomx=DPRAND()1000:              randomx=DPRAND()
1001:              randomy=DPRAND()1001:              randomy=DPRAND()
1002:              randomz=DPRAND()1002:              randomz=DPRAND()
1003:              do k=1,atomsinblock(i)1003:              do k=1,atomsinblock(i)
1004:                 j=movableatomlist(k+offset1)1004:                 j=movableatomlist(k+offset1)
1005:                 y(3*j-2)=y(3*j-2)+2*randomx*ligtransstep*STEP(JP)-ligtransstep*STEP(JP)1005:                 y(3*j-2)=y(3*j-2)+2*randomx*ligtransstep-ligtransstep
1006:                 y(3*j-1)=y(3*j-1)+2*randomy*ligtransstep*STEP(JP)-ligtransstep*STEP(JP)1006:                 y(3*j-1)=y(3*j-1)+2*randomy*ligtransstep-ligtransstep
1007:                 y(3*j  )=y(3*j  )+2*randomz*ligtransstep*STEP(JP)-ligtransstep*STEP(JP)1007:                 y(3*j  )=y(3*j  )+2*randomz*ligtransstep-ligtransstep
1008:              end do1008:              end do
1009:           end do1009:           end do
1010:         end if1010:         end if
1011:  ! check for percolation, and take a new step until we start off from a percolated structure1011:  ! check for percolation, and take a new step until we start off from a percolated structure
1012:         IF(MACROIONT) THEN1012:         IF(MACROIONT) THEN
1013:               PERCT=.TRUE.1013:               PERCT=.TRUE.
1014:               CALL PERC(y,NATOMS,PERCCUT,PERCT,.FALSE.,MYUNITNEW,.FALSE.)1014:               CALL PERC(y,NATOMS,PERCCUT,PERCT,.FALSE.,MYUNITNEW,.FALSE.)
1015: !              WRITE(*,*) 'perccut=', perccut1015: !              WRITE(*,*) 'perccut=', perccut
1016:               IF(.NOT.PERCT) then1016:               IF(.NOT.PERCT) then
1017: !               write(MYUNITNEW,*) ' takestepamber> disconnected structure detected, undoing step'1017: !               write(MYUNITNEW,*) ' takestepamber> disconnected structure detected, undoing step'


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0