hdiff output

r33476/amber_mutations.F90 2017-11-14 15:30:14.528697438 +0000 r33475/amber_mutations.F90 2017-11-14 15:30:14.752700409 +0000
 13:   TYPE RESIDUE_MUTATION 13:   TYPE RESIDUE_MUTATION
 14:      INTEGER                           :: RESNUM          !residue number 14:      INTEGER                           :: RESNUM          !residue number
 15:      INTEGER                           :: NMUTATIONS      !number of mutations so far 15:      INTEGER                           :: NMUTATIONS      !number of mutations so far
 16:      INTEGER                           :: NENTRIES        !number of possible residues 16:      INTEGER                           :: NENTRIES        !number of possible residues
 17:      CHARACTER(LEN=4)                  :: CURRENT_RES     !current residue 17:      CHARACTER(LEN=4)                  :: CURRENT_RES     !current residue
 18:      CHARACTER(LEN=4) , DIMENSION(:) , ALLOCATABLE :: RESCHOICE       !residues to choose for mutations 18:      CHARACTER(LEN=4) , DIMENSION(:) , ALLOCATABLE :: RESCHOICE       !residues to choose for mutations
 19:      DOUBLE PRECISION , DIMENSION(:) , ALLOCATABLE :: PROBABILITIES   !selection probability for selection 19:      DOUBLE PRECISION , DIMENSION(:) , ALLOCATABLE :: PROBABILITIES   !selection probability for selection
 20:   END TYPE RESIDUE_MUTATION 20:   END TYPE RESIDUE_MUTATION
 21:  21: 
 22:   CHARACTER(LEN=4), ALLOCATABLE , SAVE :: AMBER12_RESNAME(:) 22:   CHARACTER(LEN=4), ALLOCATABLE , SAVE :: AMBER12_RESNAME(:)
 23:   INTEGER , SAVE :: NRESIDUES , NRESMUT , MUNIT, NRESRB, NCYXBONDS 23:   INTEGER , SAVE :: NRESIDUES , NRESMUT , MUNIT, NRESRB
 24:   INTEGER , ALLOCATABLE , SAVE :: TERMINI_RES(:), AMBER12_RESSTART(:), AMBER12_RESEND(:), AMBER12_RESNATOM(:) 24:   INTEGER , ALLOCATABLE , SAVE :: TERMINI_RES(:), AMBER12_RESSTART(:), AMBER12_RESEND(:), AMBER12_RESNATOM(:), RESFORRB(:,:)
 25:   INTEGER , ALLOCATABLE , SAVE :: RESFORRB(:,:), CYX_BONDS(:,:) 
 26:   TYPE(RESIDUE_MUTATION) , DIMENSION(:) , ALLOCATABLE ,SAVE :: MUTATION_INFO , PREVIOUS_MUTATION 25:   TYPE(RESIDUE_MUTATION) , DIMENSION(:) , ALLOCATABLE ,SAVE :: MUTATION_INFO , PREVIOUS_MUTATION
 27:   DOUBLE PRECISION, ALLOCATABLE, SAVE :: CA_REFERENCE(:) 26:   DOUBLE PRECISION, ALLOCATABLE, SAVE :: CA_REFERENCE(:)
 28:   LOGICAL :: CYX_BONDT 
 29:  27: 
 30:   CONTAINS 28:   CONTAINS
 31:   !setup mutational system, initialise coordinates correctly, and according to the right size 29:   !setup mutational system, initialise coordinates correctly, and according to the right size
 32:   SUBROUTINE AMBERMUTATION_SETUP()   30:   SUBROUTINE AMBERMUTATION_SETUP()  
 33:      IMPLICIT NONE 31:      IMPLICIT NONE
 34:      INTEGER :: MIUNIT,GETUNIT,J1,J2,NENTRIES,NTERMINI,TESTINT,CYXUNIT 32:      INTEGER :: MIUNIT,GETUNIT,J1,J2,NENTRIES,NTERMINI,TESTINT
 35:      LOGICAL :: YESNO , NTERT 33:      LOGICAL :: YESNO , NTERT
 36:      CHARACTER(200) :: ENTRY_ 34:      CHARACTER(200) :: ENTRY_
 37:      CHARACTER(25) , DIMENSION(:) , ALLOCATABLE :: ENTRIES 35:      CHARACTER(25) , DIMENSION(:) , ALLOCATABLE :: ENTRIES
 38:      INTEGER, PARAMETER :: NMUTOCC = 1000  36:      INTEGER, PARAMETER :: NMUTOCC = 1000 
 39:  37: 
 40:      !check there is a file contianing the mutational information 38:      !check there is a file contianing the mutational information
 41:      YESNO = .FALSE. 39:      YESNO = .FALSE.
 42:      INQUIRE(FILE='amber_mutations',EXIST=YESNO) 40:      INQUIRE(FILE='amber_mutations',EXIST=YESNO)
 43:      IF (.NOT.YESNO) THEN 41:      IF (.NOT.YESNO) THEN
 44:         WRITE(MYUNIT,'(A)') ' ambermut> No mutation information given' 42:         WRITE(MYUNIT,'(A)') ' ambermut> No mutation information given'
132:         ENDDO130:         ENDDO
133:         READ(MIUNIT,'(A)',END=101) ENTRY_131:         READ(MIUNIT,'(A)',END=101) ENTRY_
134:         ENTRIES(:)=''132:         ENTRIES(:)=''
135:         CALL READ_LINE(ENTRY_,MUTATION_INFO(J1)%NENTRIES,ENTRIES)133:         CALL READ_LINE(ENTRY_,MUTATION_INFO(J1)%NENTRIES,ENTRIES)
136:         DO J2=1,MUTATION_INFO(J1)%NENTRIES134:         DO J2=1,MUTATION_INFO(J1)%NENTRIES
137:            READ(ENTRIES(J2),*) MUTATION_INFO(J1)%PROBABILITIES(J2)135:            READ(ENTRIES(J2),*) MUTATION_INFO(J1)%PROBABILITIES(J2)
138:         ENDDO136:         ENDDO
139:      ENDDO137:      ENDDO
140: 101  CONTINUE138: 101  CONTINUE
141:      CLOSE(MIUNIT)139:      CLOSE(MIUNIT)
142:      !check if we have Cysteine disulfide bonds! 
143:      CYX_BONDT=.FALSE. 
144:      INQUIRE(FILE='amber_mut_cyx',EXIST=YESNO) 
145:      IF (YESNO) THEN 
146:         CYX_BONDT=.TRUE. 
147:         CYXUNIT=GETUNIT() 
148:         OPEN(UNIT=CYXUNIT,FILE='amber_mut_cyx',STATUS='unknown') 
149:         READ(CYXUNIT,*) NCYXBONDS 
150:         IF (ALLOCATED(CYX_BONDS)) DEALLOCATE(CYX_BONDS) 
151:         ALLOCATE(CYX_BONDS(NCYXBONDS,2)) 
152:         DO J1=1,NCYXBONDS 
153:            READ(MIUNIT,'(A)',END=101) ENTRY_ 
154:            ENTRIES(:)='' 
155:            CALL READ_LINE(ENTRY_,2,ENTRIES) 
156:            READ(ENTRIES(1),'(I8)') CYX_BONDS(J1,1) 
157:            READ(ENTRIES(2),'(I8)') CYX_BONDS(J1,2) 
158:         ENDDO 
159:         CLOSE(CYXUNIT) 
160:      ENDIF 
161:      !call the grouprotation set up here (not in keywords)140:      !call the grouprotation set up here (not in keywords)
162:      CALL MUT_SETUP_GROUPROTATION(1,.FALSE.,.FALSE.,0)141:      CALL MUT_SETUP_GROUPROTATION(1,.FALSE.,.FALSE.,0)
163: !old implementation --> use file to specify residues to be rigidified 142: !old implementation --> use file to specify residues to be rigidified 
164: !     IF (AMBERMUTRIGIDT) THEN143: !     IF (AMBERMUTRIGIDT) THEN
165: !        CALL CREATE_RIGID_FILES()144: !        CALL CREATE_RIGID_FILES()
166: !     END IF    145: !     END IF    
167:      RETURN146:      RETURN
168:   END SUBROUTINE AMBERMUTATION_SETUP147:   END SUBROUTINE AMBERMUTATION_SETUP
169: 148: 
170:   !setup rigid bodies for AMBERMUTATIONS149:   !setup rigid bodies for AMBERMUTATIONS
413: 392: 
414:   SUBROUTINE CREATE_NEW_TOPOLOGY(RESNUMBER , NEWRES , COORDS_OLD, STARTATOM, SHIFT)393:   SUBROUTINE CREATE_NEW_TOPOLOGY(RESNUMBER , NEWRES , COORDS_OLD, STARTATOM, SHIFT)
415:      INTEGER , INTENT(IN) :: RESNUMBER394:      INTEGER , INTENT(IN) :: RESNUMBER
416:      CHARACTER(LEN=4) , INTENT(IN) :: NEWRES395:      CHARACTER(LEN=4) , INTENT(IN) :: NEWRES
417:      DOUBLE PRECISION , INTENT(IN) :: COORDS_OLD(3*NATOMS)396:      DOUBLE PRECISION , INTENT(IN) :: COORDS_OLD(3*NATOMS)
418:      INTEGER, INTENT(OUT) :: STARTATOM , SHIFT397:      INTEGER, INTENT(OUT) :: STARTATOM , SHIFT
419:      DOUBLE PRECISION , ALLOCATABLE :: COORDS_NEW(:) , COORDS_NEWRES(:,:)398:      DOUBLE PRECISION , ALLOCATABLE :: COORDS_NEW(:) , COORDS_NEWRES(:,:)
420:      DOUBLE PRECISION , ALLOCATABLE :: COORDS_RES(:)399:      DOUBLE PRECISION , ALLOCATABLE :: COORDS_RES(:)
421:      INTEGER :: J1 , TUNIT , CUNIT , CUNIT2 , GETUNIT ,  FINALATOM_OLD , FINALATOM_NEW 400:      INTEGER :: J1 , TUNIT , CUNIT , CUNIT2 , GETUNIT ,  FINALATOM_OLD , FINALATOM_NEW 
422:      CHARACTER(LEN=4) :: RESNAMES(NRESIDUES)401:      CHARACTER(LEN=4) :: RESNAMES(NRESIDUES)
423:      CHARACTER(LEN=6) :: CYX_STRING 
424: 402: 
425:      TUNIT = GETUNIT()403:      TUNIT = GETUNIT()
426:      DO J1=1,NRESIDUES404:      DO J1=1,NRESIDUES
427:         RESNAMES(J1) = AMBER12_RESNAME(J1)405:         RESNAMES(J1) = AMBER12_RESNAME(J1)
428:      ENDDO406:      ENDDO
429:      !create a leap.in file407:      !create a leap.in file
430:      OPEN(TUNIT , FILE='leap.in' , STATUS='NEW')408:      OPEN(TUNIT , FILE='leap.in' , STATUS='NEW')
431:      !currently we either go for ff14SB or ff99SB409:      !currently we either go for ff14SB or ff99SB
432:      IF (AMBERMUTFF.EQ.14) THEN410:      IF (AMBERMUTFF.EQ.14) THEN
433:         WRITE(TUNIT,'(A)') 'source leaprc.ff14SB'411:         WRITE(TUNIT,'(A)') 'source leaprc.ff14SB'
447:            WRITE(TUNIT,'(A)',ADVANCE='NO') NEWRES // " "425:            WRITE(TUNIT,'(A)',ADVANCE='NO') NEWRES // " "
448:         ELSE IF (TERMINI_RES(J1).EQ.2) THEN426:         ELSE IF (TERMINI_RES(J1).EQ.2) THEN
449:            WRITE(TUNIT,'(A)',ADVANCE='NO') "C" // RESNAMES(J1)427:            WRITE(TUNIT,'(A)',ADVANCE='NO') "C" // RESNAMES(J1)
450:         ELSE IF (TERMINI_RES(J1).EQ.1) THEN428:         ELSE IF (TERMINI_RES(J1).EQ.1) THEN
451:            WRITE(TUNIT,'(A)',ADVANCE='NO') "N" // RESNAMES(J1)429:            WRITE(TUNIT,'(A)',ADVANCE='NO') "N" // RESNAMES(J1)
452:         ELSE430:         ELSE
453:            WRITE(TUNIT,'(A)',ADVANCE='NO') RESNAMES(J1)431:            WRITE(TUNIT,'(A)',ADVANCE='NO') RESNAMES(J1)
454:         ENDIF 432:         ENDIF 
455:      ENDDO433:      ENDDO
456:      WRITE(TUNIT,'(A)') '}'434:      WRITE(TUNIT,'(A)') '}'
457:      !enter bonding for cysteine bonds 
458:      IF (CYX_BONDT) THEN 
459:         DO J1=1,NCYXBONDS 
460:            WRITE(CYX_STRING,'(I6)') CYX_BONDS(J1,1) 
461:            WRITE(TUNIT,'(A)',ADVANCE='NO') "bond mol."//TRIM(ADJUSTL(CYX_STRING))//".SG " 
462:            WRITE(CYX_STRING,'(I6)') CYX_BONDS(J1,2) 
463:            WRITE(TUNIT,'(A)') "mol."//TRIM(ADJUSTL(CYX_STRING))//".SG " 
464:         ENDDO 
465:      ENDIF 
466:      WRITE(TUNIT,'(A)') 'saveamberparm mol coords.prmtop tmp.inpcrd'435:      WRITE(TUNIT,'(A)') 'saveamberparm mol coords.prmtop tmp.inpcrd'
467:      WRITE(TUNIT,'(A)') 'savepdb mol tmp.pdb'436:      WRITE(TUNIT,'(A)') 'savepdb mol tmp.pdb'
468:      WRITE(TUNIT,'(A)') 'quit'437:      WRITE(TUNIT,'(A)') 'quit'
469:      CLOSE(TUNIT)438:      CLOSE(TUNIT)
470:      !finished creating leap input, now run leap and get the right coordinates     439:      !finished creating leap input, now run leap and get the right coordinates     
471:      CALL SYSTEM('tleap -f leap.in >> output')440:      CALL SYSTEM('tleap -f leap.in >> output')
472:      !save the old information441:      !save the old information
473:      STARTATOM = AMBER12_RESSTART(RESNUMBER)442:      STARTATOM = AMBER12_RESSTART(RESNUMBER)
474:      FINALATOM_OLD = AMBER12_RESEND(RESNUMBER)443:      FINALATOM_OLD = AMBER12_RESEND(RESNUMBER)
475:      CALL TOPOLOGY_READER()444:      CALL TOPOLOGY_READER()


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0