Changeset bd2278d for contacts.f
- Timestamp:
- 09/05/08 11:49:42 (16 years ago)
- Branches:
- master
- Children:
- fafe4d6
- Parents:
- 2ebb8b6
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
contacts.f
r2ebb8b6 rbd2278d 1 c**************************************************************2 c 3 cThis file contains the subroutines: contacts,c_alfa,c_cont4 c 5 cCopyright 2003-2005 Frank Eisenmenger, U.H.E. Hansmann,6 cShura Hayryan, Chin-Ku7 cCopyright 2007 Frank Eisenmenger, U.H.E. Hansmann,8 cJan H. Meinke, Sandipan Mohanty9 c 10 c**************************************************************1 ! ************************************************************** 2 ! 3 ! This file contains the subroutines: contacts,c_alfa,c_cont 4 ! 5 ! Copyright 2003-2005 Frank Eisenmenger, U.H.E. Hansmann, 6 ! Shura Hayryan, Chin-Ku 7 ! Copyright 2007 Frank Eisenmenger, U.H.E. Hansmann, 8 ! Jan H. Meinke, Sandipan Mohanty 9 ! 10 ! ************************************************************** 11 11 12 12 subroutine contacts(ncn,nham2,dham) 13 13 14 c..............................................................15 c 16 cCALCULATES NUMBER OF CONTACTS IN GIVEN CONFORMATION, NUMBER OF17 cCONTACTS WHICH ARE THE SAME IN GIVEN AND REFERENCE ONFORMATION,18 cAND THE HAMMING DISTANCE BETWEEN GIVEN CONFORMATION AND THE19 cREFERENCE CONFORMATIONa20 c 21 cCALLS: c_cont22 c..............................................................14 ! .............................................................. 15 ! 16 ! CALCULATES NUMBER OF CONTACTS IN GIVEN CONFORMATION, NUMBER OF 17 ! CONTACTS WHICH ARE THE SAME IN GIVEN AND REFERENCE ONFORMATION, 18 ! AND THE HAMMING DISTANCE BETWEEN GIVEN CONFORMATION AND THE 19 ! REFERENCE CONFORMATIONa 20 ! 21 ! CALLS: c_cont 22 ! .............................................................. 23 23 24 24 include 'INCL.H' … … 55 55 56 56 57 c*********************************57 ! ********************************* 58 58 subroutine c_alfa(nmol,ncode) 59 59 60 c......................................................61 cCalculates the indices of C-alpha atoms and62 cstores in the array ind_alf(mxrs)63 c64 cUsage: call c_alfa(nmol,ncode)65 c 66 cnmol - index of the molecule67 cncode ---> not in use in the current version68 c 69 cOUTPUT: ind_alf(mxrs)70 c 71 cCALLS: none72 c......................................................60 ! ...................................................... 61 ! Calculates the indices of C-alpha atoms and 62 ! stores in the array ind_alf(mxrs) 63 ! 64 ! Usage: call c_alfa(nmol,ncode) 65 ! 66 ! nmol - index of the molecule 67 ! ncode ---> not in use in the current version 68 ! 69 ! OUTPUT: ind_alf(mxrs) 70 ! 71 ! CALLS: none 72 ! ...................................................... 73 73 74 74 include 'INCL.H' … … 77 77 do ia=iatrs1(n_res),iatrs2(n_res) ! Over the atoms of res. 78 78 79 cCheck for C_alpha atoms79 ! Check for C_alpha atoms 80 80 81 81 if (nmat(ia)(1:2).eq.'ca') then … … 89 89 end 90 90 91 c**********************************91 ! ********************************** 92 92 subroutine c_cont (nmol,ncode) 93 93 94 c..............................................................95 cCalculates the matrix of contacts between aminoacid residues96 cof the molecule "nmol" according to L.Mirny and E.Domany,97 cPROTEINS:Structure, Function, and Genetics 26:391-410 (1996)98 c99 cTwo residues are in contact if their C_alpha atoms are100 ccloser than 8.5 Angstrem101 c 102 cUsage: call c_cont(nmol,ncode)103 c 104 cWhere nmol is the index of the molecule (always 1, in the105 ccurrent version of SMM)106 cncode ---> not in use in the current version107 c 108 cIMPORTANT: Before the first call of this subroutine "c_alfa"109 cmust be called to calculate the inices of C_alpha atoms.110 c(ONLY ONCE)111 c 112 cOUTPUT: The output of this routine is the contact matrix113 cijcont(mxrs,mxrs)114 c 115 cijcont(i,j)=0---> residues i and j are not in contact116 cijcont(i,j)=1---> ---------''----- are in contact117 cijcont(i,j)=2---> residues i and j are adjacent118 c 119 cNOTE: Adjacent residues are always in contact (and therefore not120 ccounted)121 c 122 cHere "mxrs" is the maximum number of residues for SMM123 cObviously, this subroutine calculates only NxN part124 cof that matrix, N -is the number of res. in "nmol"125 c126 cCALLS: none127 c..............................................................94 !.............................................................. 95 ! Calculates the matrix of contacts between aminoacid residues 96 ! of the molecule "nmol" according to L.Mirny and E.Domany, 97 ! PROTEINS:Structure, Function, and Genetics 26:391-410 (1996) 98 ! 99 ! Two residues are in contact if their C_alpha atoms are 100 ! closer than 8.5 Angstrem 101 ! 102 ! Usage: call c_cont(nmol,ncode) 103 ! 104 ! Where nmol is the index of the molecule (always 1, in the 105 ! current version of SMM) 106 ! ncode ---> not in use in the current version 107 ! 108 ! IMPORTANT: Before the first call of this subroutine "c_alfa" 109 ! must be called to calculate the inices of C_alpha atoms. 110 ! (ONLY ONCE) 111 ! 112 ! OUTPUT: The output of this routine is the contact matrix 113 ! ijcont(mxrs,mxrs) 114 ! 115 ! ijcont(i,j)=0---> residues i and j are not in contact 116 ! ijcont(i,j)=1---> ---------''----- are in contact 117 ! ijcont(i,j)=2---> residues i and j are adjacent 118 ! 119 ! NOTE: Adjacent residues are always in contact (and therefore not 120 ! counted) 121 ! 122 ! Here "mxrs" is the maximum number of residues for SMM 123 ! Obviously, this subroutine calculates only NxN part 124 ! of that matrix, N -is the number of res. in "nmol" 125 ! 126 ! CALLS: none 127 !.............................................................. 128 128 129 129 include 'INCL.H' … … 146 146 do nr_j=nr_i+3,irsml2(nmol) ! Over res. j 147 147 148 cwrite(*,'(2i3)'),nr_i,nr_j148 ! write(*,'(2i3)'),nr_i,nr_j 149 149 150 150 ic=0 … … 154 154 155 155 rij2=(xat(ialf)-xat(jalf))**2 156 #+(yat(ialf)-yat(jalf))**2157 #+ (zat(ialf)-zat(jalf))**2156 & +(yat(ialf)-yat(jalf))**2 157 & + (zat(ialf)-zat(jalf))**2 158 158 if(sqrt(rij2).lt.rcut) ic=1 159 159 160 cwrite(*,'(2i3)'),nr_i,nr_j160 ! write(*,'(2i3)'),nr_i,nr_j 161 161 162 162 ijcont(nr_i,nr_j)=ic
Note:
See TracChangeset
for help on using the changeset viewer.