hdiff output

r33475/amber_mutations.F90 2017-11-14 15:30:13.396682426 +0000 r33474/amber_mutations.F90 2017-11-14 15:30:13.864688632 +0000
100:      !now we get to actual mutation information100:      !now we get to actual mutation information
101:      !line 1: RESNUM NENTRIES CURRENT_RES101:      !line 1: RESNUM NENTRIES CURRENT_RES
102:      !line 2: RESNAME1 RESNAME2 RESNAME3 ...102:      !line 2: RESNAME1 RESNAME2 RESNAME3 ...
103:      !line 3: PROB1 PROB2 PROB3 ...103:      !line 3: PROB1 PROB2 PROB3 ...
104:      ! we can give the probabilities as any series of numbers, they are normalised later, as we need to discount the residue that we currently have104:      ! we can give the probabilities as any series of numbers, they are normalised later, as we need to discount the residue that we currently have
105:      !i.e. if we try to mutate we will mutate, and then check after some more group rotation steps in mc.F whether the energy is lower or not 105:      !i.e. if we try to mutate we will mutate, and then check after some more group rotation steps in mc.F whether the energy is lower or not 
106:      DO J1=1,NRESMUT106:      DO J1=1,NRESMUT
107:         READ(MIUNIT,'(A)',END=101) ENTRY_               !read line107:         READ(MIUNIT,'(A)',END=101) ENTRY_               !read line
108:         !reallocate the length of the entries list108:         !reallocate the length of the entries list
109:         DEALLOCATE(ENTRIES)109:         DEALLOCATE(ENTRIES)
110:         ALLOCATE(ENTRIES(4))110:         ALLOCATE(ENTRIES(3))
111:         ENTRIES(:)=''111:         ENTRIES(:)=''
112:         CALL READ_LINE(ENTRY_,4,ENTRIES)112:         CALL READ_LINE(ENTRY_,3,ENTRIES)
113:         READ(ENTRIES(1),'(I8)') MUTATION_INFO(J1)%RESNUM113:         READ(ENTRIES(1),'(I8)') MUTATION_INFO(J1)%RESNUM
114:         READ(ENTRIES(2),'(I8)') MUTATION_INFO(J1)%NENTRIES114:         READ(ENTRIES(2),'(I8)') MUTATION_INFO(J1)%NENTRIES
115:         READ(ENTRIES(3),'(A)') MUTATION_INFO(J1)%CURRENT_RES115:         READ(ENTRIES(3),'(A)') MUTATION_INFO(J1)%CURRENT_RES
116:         READ(ENTRIES(4),'(I8)') MUTATION_INFO(J1)%NMUTATIONS116:         MUTATION_INFO(J1)%NMUTATIONS = 0
117:         NENTRIES=MUTATION_INFO(J1)%NENTRIES117:         NENTRIES=MUTATION_INFO(J1)%NENTRIES
118:         ALLOCATE(MUTATION_INFO(J1)%RESCHOICE(NENTRIES))118:         ALLOCATE(MUTATION_INFO(J1)%RESCHOICE(NENTRIES))
119:         ALLOCATE(MUTATION_INFO(J1)%PROBABILITIES(NENTRIES))119:         ALLOCATE(MUTATION_INFO(J1)%PROBABILITIES(NENTRIES))
120:         ALLOCATE(PREVIOUS_MUTATION(J1)%RESCHOICE(NENTRIES))120:         ALLOCATE(PREVIOUS_MUTATION(J1)%RESCHOICE(NENTRIES))
121:         ALLOCATE(PREVIOUS_MUTATION(J1)%PROBABILITIES(NENTRIES))121:         ALLOCATE(PREVIOUS_MUTATION(J1)%PROBABILITIES(NENTRIES))
122:         !reallocate the length of the entries list122:         !reallocate the length of the entries list
123:         READ(MIUNIT,'(A)',END=101) ENTRY_123:         READ(MIUNIT,'(A)',END=101) ENTRY_
124:         DEALLOCATE(ENTRIES)124:         DEALLOCATE(ENTRIES)
125:         ALLOCATE(ENTRIES(MUTATION_INFO(J1)%NENTRIES))125:         ALLOCATE(ENTRIES(MUTATION_INFO(J1)%NENTRIES))
126:         ENTRIES(:)=''126:         ENTRIES(:)=''
794:          CALL HELICAL_DSSP(SCORE,COORDS,1)794:          CALL HELICAL_DSSP(SCORE,COORDS,1)
795:      !helical optimisation for 3-10 helix795:      !helical optimisation for 3-10 helix
796:      ELSE IF (MODE.EQ.6) THEN796:      ELSE IF (MODE.EQ.6) THEN
797:          CALL HELICAL_DSSP(SCORE,COORDS,2)797:          CALL HELICAL_DSSP(SCORE,COORDS,2)
798:      !helical optimisation for pi helix798:      !helical optimisation for pi helix
799:      ELSE IF (MODE.EQ.7) THEN799:      ELSE IF (MODE.EQ.7) THEN
800:          CALL HELICAL_DSSP(SCORE,COORDS,3)800:          CALL HELICAL_DSSP(SCORE,COORDS,3)
801:      ENDIF801:      ENDIF
802:   END SUBROUTINE MUTATION_E802:   END SUBROUTINE MUTATION_E
803: 803: 
804:   SUBROUTINE AMBERMUTDUMP(MUTATEDT) 
805:      LOGICAL, INTENT(IN) :: MUTATEDT 
806:      INTEGER :: MIUNIT, GETUNIT, NTERMINI, J1, NDUMMY 
807:  
808:      !save a copy of all the restart files needed 
809:      CALL SYSTEM('cp coords.prmtop DUMP.coords.prmtop') 
810:      CALL SYSTEM('cp coords.inpcrd DUMP.coords.inpcrd') 
811:      CALL SYSTEM('cp start DUMP.start') 
812:      CALL SYSTEM('cp atomgroups DUMP.atomgroups') 
813:      CALL SYSTEM('cp perm.allow DUMP.perm.allow') 
814:      IF (AMBERMUTRIGIDT) THEN 
815:         CALL SYSTEM('cp rbodyconfig DUMP.rbodyconfig')  
816:         CALL SYSTEM('cp coordsinirigid DUMP.coordsinirigid')      
817:      ENDIF 
818:      !create amber_mutation file 
819:      MIUNIT = GETUNIT() 
820:      OPEN(MIUNIT,FILE='DUMP.amber_mutations',STATUS='UNKNOWN') 
821:      !first line is the number of residues to mutate 
822:      WRITE(MIUNIT,'(I8)') NRESMUT 
823:      !number of termini 
824:      NTERMINI = 0 
825:      DO J1=1,NRESIDUES 
826:         IF ((TERMINI_RES(J1).EQ.1).OR.(TERMINI_RES(J1).EQ.2)) NTERMINI = NTERMINI + 1 
827:      ENDDO 
828:      WRITE(MIUNIT,'(I8)') NTERMINI 
829:      !list of termini id 
830:      NDUMMY = 0 
831:      DO J1=1,NRESIDUES 
832:         IF ((TERMINI_RES(J1).EQ.1).OR.(TERMINI_RES(J1).EQ.2)) THEN 
833:            NDUMMY = NDUMMY + 1 
834:            IF (NDUMMY.EQ.NTERMINI) THEN 
835:               WRITE(MIUNIT,'(I8)') J1 
836:            ELSE 
837:               WRITE(MIUNIT,'(I8)',ADVANCE='NO') J1 
838:            ENDIF 
839:         ENDIF 
840:      ENDDO 
841:      !now we get to actual mutation information 
842:      !line 1: RESNUM NENTRIES CURRENT_RES NMUTATIONS 
843:      !line 2: RESNAME1 RESNAME2 RESNAME3 ... 
844:      !line 3: PROB1 PROB2 PROB3 ... 
845:      DO J1=1,NRESMUT 
846:         WRITE(MIUNIT,'(2(I8),A6,I8)') MUTATION_INFO(J1)%RESNUM, MUTATION_INFO(J1)%NENTRIES, MUTATION_INFO(J1)%CURRENT_RES, MUTATION_INFO(J1)%NMUTATIONS 
847:         WRITE(MIUNIT, *) MUTATION_INFO(J1)%RESCHOICE(:) 
848:         WRITE(MIUNIT, *) MUTATION_INFO(J1)%PROBABILITIES(:)        
849:      ENDDO 
850:      CLOSE(MIUNIT) 
851:   END SUBROUTINE AMBERMUTDUMP 
852:  
853:   SUBROUTINE AMBERMUT_CURR_LOWEST()804:   SUBROUTINE AMBERMUT_CURR_LOWEST()
854:      CHARACTER(LEN=6) :: J1_STRING, NMUT_STRING805:      CHARACTER(LEN=6) :: J1_STRING, NMUT_STRING
855:      INTEGER :: J1    806:      INTEGER :: J1    
856:  807:  
857:      !to save the previous best strutures 808:      !to save the previous best strutures 
858:      DO J1=1,NSAVE809:      DO J1=1,NSAVE
859:         WRITE(J1_STRING,'(I6)') J1810:         WRITE(J1_STRING,'(I6)') J1
860:         WRITE(NMUT_STRING,'(I6)') NMUTATION - 1811:         WRITE(NMUT_STRING,'(I6)') NMUTATION - 1
861:         CALL AMBER12_WRITE_RESTART(QMINP(J1,:), 'coords.'//TRIM(ADJUSTL(NMUT_STRING))//'.'//&812:         CALL AMBER12_WRITE_RESTART(QMINP(J1,:), 'coords.'//TRIM(ADJUSTL(NMUT_STRING))//'.'//&
862:                    &TRIM(ADJUSTL(J1_STRING))//'.rst', &813:                    &TRIM(ADJUSTL(J1_STRING))//'.rst', &


r33475/mc.F 2017-11-14 15:30:13.636685605 +0000 r33474/mc.F 2017-11-14 15:30:14.100691758 +0000
 25:       use mbpolmod, only: mbpolstep 25:       use mbpolmod, only: mbpolstep
 26:  26: 
 27:       USE QMODULE , ONLY : QMIN, QMINP, INTEQMIN 27:       USE QMODULE , ONLY : QMIN, QMINP, INTEQMIN
 28:       USE modcharmm 28:       USE modcharmm
 29:       USE MODAMBER9, ONLY : MDSTEPT,CISARRAY1,CHIARRAY1,NOCISTRANSDNA,NOCISTRANSRNA, 29:       USE MODAMBER9, ONLY : MDSTEPT,CISARRAY1,CHIARRAY1,NOCISTRANSDNA,NOCISTRANSRNA,
 30:      &                      SETCHIRAL,AMCHPMAX,DOLIGMOVE,LIGMOVEFREQ, AMCHNMAX, ROTAMERT, 30:      &                      SETCHIRAL,AMCHPMAX,DOLIGMOVE,LIGMOVEFREQ, AMCHNMAX, ROTAMERT,
 31:      &                      E_IGB, E_BOND, E_ANGLE, E_DIHEDRAL, 31:      &                      E_IGB, E_BOND, E_ANGLE, E_DIHEDRAL,
 32:      &                      E_VDW, E_14_VDW, E_ELEC, E_14_ELEC, IGB, MACROIONT 32:      &                      E_VDW, E_14_VDW, E_ELEC, E_14_ELEC, IGB, MACROIONT
 33:       USE AMBER12_INTERFACE_MOD, ONLY : AMBER12_WRITE_RESTART, AMBER12_WRITE_PDB, POT_ENE_REC_C 33:       USE AMBER12_INTERFACE_MOD, ONLY : AMBER12_WRITE_RESTART, AMBER12_WRITE_PDB, POT_ENE_REC_C
 34:       USE CHIRALITY, ONLY : INIT_CHIRAL, INIT_CIS_TRANS 34:       USE CHIRALITY, ONLY : INIT_CHIRAL, INIT_CIS_TRANS
 35:       USE AMBER12_MUTATIONS, ONLY: AMBERMUT_STEP, REVERSE_MUTATION , MUTATION_E, PRINT_CURRENT_SEQ, 35:       USE AMBER12_MUTATIONS, ONLY: AMBERMUT_STEP, REVERSE_MUTATION , MUTATION_E, PRINT_CURRENT_SEQ
 36:      &                             AMBERMUTDUMP 
 37:       USE porfuncs 36:       USE porfuncs
 38:       USE AMHGLOBALS, ONLY: NMRES,OMOVI,AVEP,NUMPRO,IRES 37:       USE AMHGLOBALS, ONLY: NMRES,OMOVI,AVEP,NUMPRO,IRES
 39:       USE AMH_INTERFACES, ONLY:E_WRITE 38:       USE AMH_INTERFACES, ONLY:E_WRITE
 40:       USE ROTAMER 39:       USE ROTAMER
 41:       USE LJ_GAUSS_MOD, ONLY: LJ_GAUSS_TAKESTEP 40:       USE LJ_GAUSS_MOD, ONLY: LJ_GAUSS_TAKESTEP
 42:       USE OPP_MOD, ONLY: OPP_TAKESTEP 41:       USE OPP_MOD, ONLY: OPP_TAKESTEP
 43:       USE BOX_DERIVATIVES, ONLY: BD_TAKESTEP 42:       USE BOX_DERIVATIVES, ONLY: BD_TAKESTEP
 44:  43: 
 45:       IMPLICIT NONE 44:       IMPLICIT NONE
 46: #ifdef MPI 45: #ifdef MPI
2266:             ENDIF2265:             ENDIF
2267:                2266:                
2268: #ifdef MPI2267: #ifdef MPI
2269: #else2268: #else
2270:             IF (HIT) GOTO 372269:             IF (HIT) GOTO 37
2271:             IF (EPREV(JP)<EBEST(JP)) EBEST(JP)=EPREV(JP)2270:             IF (EPREV(JP)<EBEST(JP)) EBEST(JP)=EPREV(JP)
2272:             IF ((REPMATCHT).AND.(ABS(MAXVAL(EBEST(:))-MINVAL(EBEST(:)))<ECONV)) GOTO 372271:             IF ((REPMATCHT).AND.(ABS(MAXVAL(EBEST(:))-MINVAL(EBEST(:)))<ECONV)) GOTO 37
2273: #endif2272: #endif
2274:             IF (DUMPINT.GT.0) THEN2273:             IF (DUMPINT.GT.0) THEN
2275:                IF (MOD(J1,DUMPINT).EQ.0) THEN2274:                IF (MOD(J1,DUMPINT).EQ.0) THEN
2276:                   IF (.NOT.(AMBERMUTATIONT)) THEN2275:                   CALL DUMPSTATE(NQ(JP),EBEST,BESTCOORDS,JBEST,JP)
2277:                      CALL DUMPSTATE(NQ(JP),EBEST,BESTCOORDS,JBEST,JP) 
2278:                   ELSEIF (.NOT.(MUTATEDT)) THEN 
2279:                      CALL DUMPSTATE(NQ(JP),EBEST,BESTCOORDS,JBEST,JP) 
2280:                      CALL AMBERMUTDUMP(MUTATEDT) 
2281: ! kr366> this will be hard to do if mutatedt is true, so we only backup outside of that. That should hopefully be easier ... 
2282:                   ENDIF 
2283:                ENDIF2276:                ENDIF
2284:             ENDIF2277:             ENDIF
2285: !2278: !
2286: ! Dump current energy, Q4 and Q6 parameters for minimum in Markov chain.2279: ! Dump current energy, Q4 and Q6 parameters for minimum in Markov chain.
2287: !2280: !
2288:             IF (DUMPMQT) THEN 2281:             IF (DUMPMQT) THEN 
2289:                DO J2=1,NATOMS2282:                DO J2=1,NATOMS
2290:                   QTEMP(1:3,J2)=COORDSO(3*(J2-1)+1:3*(J2-1)+3,JP)2283:                   QTEMP(1:3,J2)=COORDSO(3*(J2-1)+1:3*(J2-1)+3,JP)
2291:                ENDDO2284:                ENDDO
2292:                CALL POTENTIAL(QTEMP,GRAD,DUMMY,.TRUE.,.FALSE.)2285:                CALL POTENTIAL(QTEMP,GRAD,DUMMY,.TRUE.,.FALSE.)


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0