hdiff output

r33329/amber_mutations.F90 2017-09-20 17:30:13.512345599 +0100 r33328/amber_mutations.F90 2017-09-20 17:30:14.112353519 +0100
461:         DO J1=1,NSAVE461:         DO J1=1,NSAVE
462:            QMIN(J1)=1.0D10462:            QMIN(J1)=1.0D10
463:            NPCALL_QMIN(J1)=0463:            NPCALL_QMIN(J1)=0
464:         ENDDO464:         ENDDO
465:   END SUBROUTINE REINITIALISE_AMBER465:   END SUBROUTINE REINITIALISE_AMBER
466: 466: 
467:   SUBROUTINE REVERSE_MUTATION(RESNUMBER)467:   SUBROUTINE REVERSE_MUTATION(RESNUMBER)
468:      CHARACTER(LEN=6) :: NMUT_STRING468:      CHARACTER(LEN=6) :: NMUT_STRING
469:      INTEGER :: STARTATOM, FINALATOM_OLD,FINALATOM_NEW,SHIFT469:      INTEGER :: STARTATOM, FINALATOM_OLD,FINALATOM_NEW,SHIFT
470:      INTEGER , INTENT(IN) :: RESNUMBER    470:      INTEGER , INTENT(IN) :: RESNUMBER    
471:  
472:      471:      
473:      !save structures and reload the correct information into MUTATION_INFO472:      !reload the correct information into MUTATION_INFO
474:      CALL AMBERMUT_REJ_LOWEST() 
475:      MUTATION_INFO = PREVIOUS_MUTATION 473:      MUTATION_INFO = PREVIOUS_MUTATION 
476:      WRITE(NMUT_STRING,'(I6)') NMUTATION - 1474:      WRITE(NMUT_STRING,'(I6)') NMUTATION - 1
477:      STARTATOM = AMBER12_RESSTART(RESNUMBER)475:      STARTATOM = AMBER12_RESSTART(RESNUMBER)
478:      FINALATOM_OLD = AMBER12_RESEND(RESNUMBER)476:      FINALATOM_OLD = AMBER12_RESEND(RESNUMBER)
479:      !move all the files we need back into place (we use the lowest previous minimum to restart)477:      !move all the files we need back into place (we use the lowest previous minimum to restart)
480:      CALL SYSTEM('cp coords.prmtop.'//TRIM(ADJUSTL(NMUT_STRING))//' coords.prmtop')478:      CALL SYSTEM('cp coords.prmtop.'//TRIM(ADJUSTL(NMUT_STRING))//' coords.prmtop')
481:      CALL TOPOLOGY_READER()479:      CALL TOPOLOGY_READER()
482:      !get the changed number of atoms480:      !get the changed number of atoms
483:      FINALATOM_NEW = AMBER12_RESEND(RESNUMBER)481:      FINALATOM_NEW = AMBER12_RESEND(RESNUMBER)
484:      SHIFT = FINALATOM_NEW - FINALATOM_OLD482:      SHIFT = FINALATOM_NEW - FINALATOM_OLD
620:         WRITE(J1_STRING,'(I6)') J1618:         WRITE(J1_STRING,'(I6)') J1
621:         WRITE(NMUT_STRING,'(I6)') NMUTATION - 1619:         WRITE(NMUT_STRING,'(I6)') NMUTATION - 1
622:         CALL AMBER12_WRITE_RESTART(QMINP(J1,:), 'coords.'//TRIM(ADJUSTL(NMUT_STRING))//'.'//&620:         CALL AMBER12_WRITE_RESTART(QMINP(J1,:), 'coords.'//TRIM(ADJUSTL(NMUT_STRING))//'.'//&
623:                    &TRIM(ADJUSTL(J1_STRING))//'.rst', &621:                    &TRIM(ADJUSTL(J1_STRING))//'.rst', &
624:                    & LEN('coords.'//TRIM(ADJUSTL(NMUT_STRING))//'.'//TRIM(ADJUSTL(J1_STRING))//'.rst'))622:                    & LEN('coords.'//TRIM(ADJUSTL(NMUT_STRING))//'.'//TRIM(ADJUSTL(J1_STRING))//'.rst'))
625:         CALL AMBER12_WRITE_PDB(QMINP(J1,:), 'coords.'//TRIM(ADJUSTL(NMUT_STRING))//'.'//&623:         CALL AMBER12_WRITE_PDB(QMINP(J1,:), 'coords.'//TRIM(ADJUSTL(NMUT_STRING))//'.'//&
626:                    &TRIM(ADJUSTL(J1_STRING))//'.pdb', &624:                    &TRIM(ADJUSTL(J1_STRING))//'.pdb', &
627:                    & LEN('coords.'//TRIM(ADJUSTL(NMUT_STRING))//'.'//TRIM(ADJUSTL(J1_STRING))//'.pdb'))625:                    & LEN('coords.'//TRIM(ADJUSTL(NMUT_STRING))//'.'//TRIM(ADJUSTL(J1_STRING))//'.pdb'))
628:      ENDDO626:      ENDDO
629:   END SUBROUTINE AMBERMUT_CURR_LOWEST627:   END SUBROUTINE AMBERMUT_CURR_LOWEST
630:  
631:   SUBROUTINE AMBERMUT_REJ_LOWEST() 
632:      CHARACTER(LEN=6) :: J1_STRING, NMUT_STRING 
633:      INTEGER :: J1 
634:  
635:      !to save the previous best strutures  
636:      DO J1=1,NSAVE 
637:         WRITE(J1_STRING,'(I6)') J1 
638:         WRITE(NMUT_STRING,'(I6)') NMUTATION - 1 
639:         CALL AMBER12_WRITE_RESTART(QMINP(J1,:), 'rej.coords.'//TRIM(ADJUSTL(NMUT_STRING))//'.'//& 
640:                    &TRIM(ADJUSTL(J1_STRING))//'.rst', & 
641:                    & LEN('rej.coords.'//TRIM(ADJUSTL(NMUT_STRING))//'.'//TRIM(ADJUSTL(J1_STRING))//'.rst')) 
642:         CALL AMBER12_WRITE_PDB(QMINP(J1,:), 'rej.coords.'//TRIM(ADJUSTL(NMUT_STRING))//'.'//& 
643:                    &TRIM(ADJUSTL(J1_STRING))//'.pdb', & 
644:                    & LEN('rej.coords.'//TRIM(ADJUSTL(NMUT_STRING))//'.'//TRIM(ADJUSTL(J1_STRING))//'.pdb')) 
645:      ENDDO 
646:   END SUBROUTINE AMBERMUT_REJ_LOWEST 
647:  
648:   628:   
649:   !tidy up after run is complete629:   !tidy up after run is complete
650:   SUBROUTINE FINISH_AMBERMUT()630:   SUBROUTINE FINISH_AMBERMUT()
651:      CHARACTER(LEN=6) :: J1_STRING, NMUT_STRING631:      CHARACTER(LEN=6) :: J1_STRING, NMUT_STRING
652:      INTEGER :: J1    632:      INTEGER :: J1    
653:  633:  
654:      !to save the previous best strutures 634:      !to save the previous best strutures 
655:      DO J1=1,NSAVE635:      DO J1=1,NSAVE
656:         WRITE(J1_STRING,'(I6)') J1636:         WRITE(J1_STRING,'(I6)') J1
657:         WRITE(NMUT_STRING,'(I6)') NMUTATION637:         WRITE(NMUT_STRING,'(I6)') NMUTATION
666:      IF (ALLOCATED(AMBER12_RESNAME)) DEALLOCATE(AMBER12_RESNAME)646:      IF (ALLOCATED(AMBER12_RESNAME)) DEALLOCATE(AMBER12_RESNAME)
667:      IF (ALLOCATED(AMBER12_RESSTART)) DEALLOCATE(AMBER12_RESSTART)647:      IF (ALLOCATED(AMBER12_RESSTART)) DEALLOCATE(AMBER12_RESSTART)
668:      IF (ALLOCATED(AMBER12_RESEND)) DEALLOCATE(AMBER12_RESEND)648:      IF (ALLOCATED(AMBER12_RESEND)) DEALLOCATE(AMBER12_RESEND)
669:      IF (ALLOCATED(AMBER12_RESNATOM)) DEALLOCATE(AMBER12_RESNATOM)649:      IF (ALLOCATED(AMBER12_RESNATOM)) DEALLOCATE(AMBER12_RESNATOM)
670:      IF (ALLOCATED(TERMINI_RES)) DEALLOCATE(TERMINI_RES)650:      IF (ALLOCATED(TERMINI_RES)) DEALLOCATE(TERMINI_RES)
671:      IF (ALLOCATED(MUTATION_INFO)) DEALLOCATE(MUTATION_INFO)651:      IF (ALLOCATED(MUTATION_INFO)) DEALLOCATE(MUTATION_INFO)
672:      IF (ALLOCATED(PREVIOUS_MUTATION)) DEALLOCATE(PREVIOUS_MUTATION)652:      IF (ALLOCATED(PREVIOUS_MUTATION)) DEALLOCATE(PREVIOUS_MUTATION)
673:      CLOSE(MUTUNIT)653:      CLOSE(MUTUNIT)
674:   END SUBROUTINE FINISH_AMBERMUT654:   END SUBROUTINE FINISH_AMBERMUT
675: 655: 
676:   SUBROUTINE PRINT_CURRENT_SEQ() 
677:      INTEGER J 
678:       
679:      DO J=1,NRESIDUES-1 
680:         WRITE(MYUNIT, '(A)',ADVANCE='NO') AMBER12_RESNAME(J) 
681:      END DO 
682:      WRITE(MYUNIT, '(A)')  AMBER12_RESNAME(NRESIDUES) 
683:   END SUBROUTINE PRINT_CURRENT_SEQ 
684: 656: 
685:   SUBROUTINE MUT_SETUP_GROUPROTATION(GROUPROTFREQ,GR_SCALEROT,GR_SCALEPROB,GROUPOFFSET)657:   SUBROUTINE MUT_SETUP_GROUPROTATION(GROUPROTFREQ,GR_SCALEROT,GR_SCALEPROB,GROUPOFFSET)
686:      INTEGER, INTENT(IN) :: GROUPROTFREQ , GROUPOFFSET658:      INTEGER, INTENT(IN) :: GROUPROTFREQ , GROUPOFFSET
687:      LOGICAL, INTENT(IN) :: GR_SCALEROT , GR_SCALEPROB659:      LOGICAL, INTENT(IN) :: GR_SCALEROT , GR_SCALEPROB
688:      INTEGER ::  GROUPSIZE , GROUPATOM , AXIS1 , AXIS2 , IOSTATUS, J1,J2660:      INTEGER ::  GROUPSIZE , GROUPATOM , AXIS1 , AXIS2 , IOSTATUS, J1,J2
689:      CHARACTER(LEN=10) :: CHECK1661:      CHARACTER(LEN=10) :: CHECK1
690:      LOGICAL :: YESNO662:      LOGICAL :: YESNO
691: 663: 
692:      !check we actually have a grouprotation file!664:      !check we actually have a grouprotation file!
693:      YESNO=.FALSE.665:      YESNO=.FALSE.


r33329/mc.F 2017-09-20 17:30:13.832349824 +0100 r33328/mc.F 2017-09-20 17:30:14.420357583 +0100
 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
 36:       USE porfuncs 36:       USE porfuncs
 37:       USE AMHGLOBALS, ONLY: NMRES,OMOVI,AVEP,NUMPRO,IRES 37:       USE AMHGLOBALS, ONLY: NMRES,OMOVI,AVEP,NUMPRO,IRES
 38:       USE AMH_INTERFACES, ONLY:E_WRITE 38:       USE AMH_INTERFACES, ONLY:E_WRITE
 39:       USE ROTAMER 39:       USE ROTAMER
 40:       USE LJ_GAUSS_MOD, ONLY: LJ_GAUSS_TAKESTEP 40:       USE LJ_GAUSS_MOD, ONLY: LJ_GAUSS_TAKESTEP
 41:       USE OPP_MOD, ONLY: OPP_TAKESTEP 41:       USE OPP_MOD, ONLY: OPP_TAKESTEP
 42:       USE BOX_DERIVATIVES, ONLY: BD_TAKESTEP 42:       USE BOX_DERIVATIVES, ONLY: BD_TAKESTEP
 43:  43: 
 44:       IMPLICIT NONE 44:       IMPLICIT NONE
 45: #ifdef MPI 45: #ifdef MPI
1208:                 CALL MACROION_MOVES(J1,COORDS(:,JP),movableatomlist,nmovableatoms,ligmovet,blockmovet,nblocks,1208:                 CALL MACROION_MOVES(J1,COORDS(:,JP),movableatomlist,nmovableatoms,ligmovet,blockmovet,nblocks,
1209:      1                              atomsinblock,STEP(JP))1209:      1                              atomsinblock,STEP(JP))
1210:                END IF1210:                END IF
1211: ! normal AMBER12 step taking (without MACROION model)              1211: ! normal AMBER12 step taking (without MACROION model)              
1212:                ELSE IF (AMBER12T.AND..NOT.MACROIONT) THEN1212:                ELSE IF (AMBER12T.AND..NOT.MACROIONT) THEN
1213:                   !kr366> mutational step,  otherwise continue with the normal steps 1213:                   !kr366> mutational step,  otherwise continue with the normal steps 
1214:                   IF (AMBERMUTATIONT.AND.DOMUTATIONSTEPT) THEN1214:                   IF (AMBERMUTATIONT.AND.DOMUTATIONSTEPT) THEN
1215:                      WRITE(MUTUNIT,'(A,I8)') 'Number of atoms before mutation: ',NATOMS1215:                      WRITE(MUTUNIT,'(A,I8)') 'Number of atoms before mutation: ',NATOMS
1216:                      WRITE(MYUNIT,'(A,I8)') ' mc> Number of atoms before mutation: ',NATOMS1216:                      WRITE(MYUNIT,'(A,I8)') ' mc> Number of atoms before mutation: ',NATOMS
1217:                      CALL MUTATION_E(EMUTP,COORDS(:,JP),MUTENERGY,MUTTERMID) !get the energy for the old molecule before we reinitialise AMBER!1217:                      CALL MUTATION_E(EMUTP,COORDS(:,JP),MUTENERGY,MUTTERMID) !get the energy for the old molecule before we reinitialise AMBER!
1218:                      WRITE(MYUNIT,'(A)') ' mc> Sequence before mutation: ' 
1219:                      CALL PRINT_CURRENT_SEQ() 
1220:                      CALL AMBERMUT_STEP(COORDS(:,JP),MUTATEDRES)1218:                      CALL AMBERMUT_STEP(COORDS(:,JP),MUTATEDRES)
1221:                      IF (SETCHIRAL) THEN1219:                      IF (SETCHIRAL) THEN
1222:                         WRITE(MYUNIT,'(A)') ' mc> Storing chiral information for initial (mutated) structure'1220:                         WRITE(MYUNIT,'(A)') ' mc> Storing chiral information for initial (mutated) structure'
1223:                         CALL INIT_CHIRAL(COORDS(:,1))1221:                         CALL INIT_CHIRAL(COORDS(:,1))
1224:                      END IF1222:                      END IF
1225:                      IF (NOCISTRANS) THEN1223:                      IF (NOCISTRANS) THEN
1226:                         WRITE(MYUNIT,'(A)') ' mc> Storing cis/trans information for initial (mutated) structure'1224:                         WRITE(MYUNIT,'(A)') ' mc> Storing cis/trans information for initial (mutated) structure'
1227:                         CALL INIT_CIS_TRANS(COORDS(:,1))1225:                         CALL INIT_CIS_TRANS(COORDS(:,1))
1228:                      ENDIF1226:                      ENDIF
1229:                      WRITE(MUTUNIT,'(A,I8)') 'Number of atoms after mutation: ',NATOMS  1227:                      WRITE(MUTUNIT,'(A,I8)') 'Number of atoms after mutation: ',NATOMS  
1230:                      WRITE(MYUNIT,'(A,I8)') ' mc> Number of atoms after mutation: ',NATOMS    1228:                      WRITE(MYUNIT,'(A,I8)') ' mc> Number of atoms after mutation: ',NATOMS                    
1231:                      WRITE(MYUNIT,'(A)') ' mc> Sequence after mutation: ' 
1232:                      CALL PRINT_CURRENT_SEQ()                 
1233:                      WRITE(MYUNIT, '(A)')  'Calculating initial energy after mutation'1229:                      WRITE(MYUNIT, '(A)')  'Calculating initial energy after mutation'
1234:                      EPSSAVE=EPSSPHERE1230:                      EPSSAVE=EPSSPHERE
1235:                      EPSSPHERE=0.0D01231:                      EPSSPHERE=0.0D0
1236:                      IF (ALLOCATED(SCREENC)) DEALLOCATE(SCREENC)1232:                      IF (ALLOCATED(SCREENC)) DEALLOCATE(SCREENC)
1237:                      ALLOCATE(SCREENC(3*NATOMS))1233:                      ALLOCATE(SCREENC(3*NATOMS))
1238:                      SCREENC(1:3*NATOMS)=COORDS(1:3*NATOMS,1)1234:                      SCREENC(1:3*NATOMS)=COORDS(1:3*NATOMS,1)
1239:                      CALL QUENCH(.FALSE.,JP,ITERATIONS,TIME,BRUN,QDONE,SCREENC)1235:                      CALL QUENCH(.FALSE.,JP,ITERATIONS,TIME,BRUN,QDONE,SCREENC)
1240:                      NQTOT=NQTOT+11236:                      NQTOT=NQTOT+1
1241:                      WRITE(MYUNIT,'(A,I10,A,G20.10,A,I5,A,G12.5,A,G20.10,A,F11.1)') 'Qu ',NQ(JP),' E=',1237:                      WRITE(MYUNIT,'(A,I10,A,G20.10,A,I5,A,G12.5,A,G20.10,A,F11.1)') 'Qu ',NQ(JP),' E=',
1242:      1                     POTEL,' steps=',ITERATIONS,' RMS=',RMS,' Markov E=',POTEL,' t=',TIME-TSTART1238:      1                     POTEL,' steps=',ITERATIONS,' RMS=',RMS,' Markov E=',POTEL,' t=',TIME-TSTART
2332:                   POTEL=GCEBEST(JP)2328:                   POTEL=GCEBEST(JP)
2333:                   EPREV(JP)=GCEBEST(JP)2329:                   EPREV(JP)=GCEBEST(JP)
2334:                   IF (DEBUG) WRITE(MYUNIT,'(A,G20.10)') 'mc> potel and eprev reset to ',GCEBEST(JP)2330:                   IF (DEBUG) WRITE(MYUNIT,'(A,G20.10)') 'mc> potel and eprev reset to ',GCEBEST(JP)
2335:                   IF (DEBUG) WRITE(MYUNIT,'(A,I6)') 'mc> number of atoms reset to ',NATOMS2331:                   IF (DEBUG) WRITE(MYUNIT,'(A,I6)') 'mc> number of atoms reset to ',NATOMS
2336:                ENDIF2332:                ENDIF
2337:             ENDIF2333:             ENDIF
2338: 2334: 
2339:             !the mutational steps are accepted for better bonding properties, but the energies used 2335:             !the mutational steps are accepted for better bonding properties, but the energies used 
2340:             !otherwise refer to the best potential energies for one sequence2336:             !otherwise refer to the best potential energies for one sequence
2341:             IF (MUTATEDT.AND.((NMUTSTEP + MUTTESTSTEPS).EQ.J1)) THEN !kr366> here we check our mutational step            2337:             IF (MUTATEDT.AND.((NMUTSTEP + MUTTESTSTEPS).EQ.J1)) THEN !kr366> here we check our mutational step            
2342:                CALL MUTATION_E(EMUTN,BESTCOORDS,MUTENERGY,MUTTERMID) !get the energy for the new molecule2338:                CALL MUTATION_E(EMUTN,SCREENC,MUTENERGY,MUTTERMID) !get the energy for the new molecule
2343:                WRITE(MYUNIT, '(2(A,F15.8))') ' mc> Energy before mutation: ',EMUTP,' | energy after mutation: ',EMUTN2339:                WRITE(MYUNIT, '(2(A,F15.8))') ' mc> Energy before mutation: ',EMUTP,' | energy after mutation: ',EMUTN
2344:                WRITE(MUTUNIT, '(2(A,F15.8))') 'Energy before mutation: ',EMUTP,' | energy after mutation: ',EMUTN2340:                WRITE(MUTUNIT, '(2(A,F15.8))') 'Energy before mutation: ',EMUTP,' | energy after mutation: ',EMUTN
2345:                IF (EMUTN.LT.EMUTP) THEN2341:                IF (EMUTN.LT.EMUTP) THEN
2346:                   RANDOM=0.0D02342:                   RANDOM=0.0D0
2347:                   ATEST=.TRUE.2343:                   ATEST=.TRUE.
2348:                ELSE2344:                ELSE
2349:                   RANDOM=DPRAND()2345:                   RANDOM=DPRAND()
2350:                   DUMMY = EMUTN - EMUTP2346:                   DUMMY = EMUTN - EMUTP
2351:                   DUMMY=EXP(-DUMMY/MAX(MCTEMP,1.0D-100))2347:                   DUMMY=EXP(-DUMMY/MAX(MCTEMP,1.0D-100))
2352:                   IF (DUMMY.GT.RANDOM) THEN2348:                   IF (DUMMY.GT.RANDOM) THEN
2353:                      ATEST=.TRUE.2349:                      ATEST=.TRUE.
2354:                   ELSE2350:                   ELSE
2355:                      ATEST=.FALSE.2351:                      ATEST=.FALSE.
2356:                   ENDIF2352:                   ENDIF
2357:                ENDIF2353:                ENDIF
2358:                IF (ATEST) THEN2354:                IF (ATEST) THEN
2359:                   WRITE(MUTUNIT,'(A)') 'Mutation accepted'2355:                   WRITE(MUTUNIT,'(A)') 'Mutation accpeted'
2360:                   WRITE(MYUNIT, '(A)') ' mc> Mutation accepted'2356:                   WRITE(MYUNIT, '(A)') ' mc> Mutation accepted'
2361:                   WRITE(MYUNIT,'(A)') ' mc> Sequence accepted: ' 
2362:                   CALL PRINT_CURRENT_SEQ() 
2363:                ELSE2357:                ELSE
2364:                   CALL AMBER12_WRITE_RESTART(SCREENC,"before_reverse.mut",LEN("before_reverse.mut"))2358:                   CALL AMBER12_WRITE_RESTART(SCREENC,"before_reverse.mut",LEN("before_reverse.mut"))
2365:                   CALL SYSTEM("cp coords.prmtop before_mut.prmtop")2359:                   CALL SYSTEM("cp coords.prmtop before_mut.prmtop")
2366:                   CALL REVERSE_MUTATION(MUTATEDRES)2360:                   CALL REVERSE_MUTATION(MUTATEDRES)
2367:                   WRITE(MYUNIT,'(A)') ' mc> Reversed sequence after rejection: ' 
2368:                   CALL PRINT_CURRENT_SEQ() 
2369:                   IF (SETCHIRAL) THEN2361:                   IF (SETCHIRAL) THEN
2370:                      WRITE(MYUNIT,'(A)') ' mc> Storing chiral information for initial (mutated) structure'2362:                      WRITE(MYUNIT,'(A)') ' mc> Storing chiral information for initial (mutated) structure'
2371:                      CALL INIT_CHIRAL(COORDS(:,1))2363:                      CALL INIT_CHIRAL(COORDS(:,1))
2372:                   END IF2364:                   END IF
2373:                   IF (NOCISTRANS) THEN2365:                   IF (NOCISTRANS) THEN
2374:                      WRITE(MYUNIT,'(A)') ' mc> Storing cis/trans information for initial (mutated) structure'2366:                      WRITE(MYUNIT,'(A)') ' mc> Storing cis/trans information for initial (mutated) structure'
2375:                      CALL INIT_CIS_TRANS(COORDS(:,1))2367:                      CALL INIT_CIS_TRANS(COORDS(:,1))
2376:                   ENDIF2368:                   ENDIF
2377:                   WRITE(MYUNIT, '(A)')  ' mc> Calculating initial energy after reversing mutation'2369:                   WRITE(MYUNIT, '(A)')  ' mc> Calculating initial energy after reversing mutation'
2378:                   EPSSAVE=EPSSPHERE2370:                   EPSSAVE=EPSSPHERE


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0