hdiff output

r33479/amber_mutations.F90 2017-11-14 18:30:20.247857421 +0000 r33478/amber_mutations.F90 2017-11-14 18:30:21.523874349 +0000
594:         QMINP(1:NSAVE,1:3*NATOMS)=0.0D0 ! to prevent reading from uninitialised memory594:         QMINP(1:NSAVE,1:3*NATOMS)=0.0D0 ! to prevent reading from uninitialised memory
595:         QMINT(1:NSAVE,1:NATOMS)=1 ! to prevent reading from uninitialised memory595:         QMINT(1:NSAVE,1:NATOMS)=1 ! to prevent reading from uninitialised memory
596:         QMINNATOMS(1:NSAVE)=NATOMS ! to prevent reading from uninitialised memory596:         QMINNATOMS(1:NSAVE)=NATOMS ! to prevent reading from uninitialised memory
597:         COORDSO(1:3*NATOMS,1:NPAR)=0.0D0597:         COORDSO(1:3*NATOMS,1:NPAR)=0.0D0
598:         VT(1:NATOMS)=0.0D0598:         VT(1:NATOMS)=0.0D0
599:         VAT(1:NATOMS,1:NPAR)=0.0D0599:         VAT(1:NATOMS,1:NPAR)=0.0D0
600:         DO J1=1,NSAVE600:         DO J1=1,NSAVE
601:            QMIN(J1)=1.0D10601:            QMIN(J1)=1.0D10
602:            NPCALL_QMIN(J1)=0602:            NPCALL_QMIN(J1)=0
603:         ENDDO603:         ENDDO
604:         !this is assuming we do not use frozen atoms, but the genrigid 
605:         !framework 
606:         IF (ALLOCATED(FROZEN)) DEALLOCATE(FROZEN) 
607:         ALLOCATE(FROZEN(NATOMS)) 
608:         FROZEN(:) = .FALSE. 
609:   END SUBROUTINE REINITIALISE_AMBER604:   END SUBROUTINE REINITIALISE_AMBER
610: 605: 
611:   SUBROUTINE REVERSE_MUTATION(RESNUMBER)606:   SUBROUTINE REVERSE_MUTATION(RESNUMBER)
612:      CHARACTER(LEN=6) :: NMUT_STRING607:      CHARACTER(LEN=6) :: NMUT_STRING
613:      INTEGER :: STARTATOM, FINALATOM_OLD,FINALATOM_NEW,SHIFT608:      INTEGER :: STARTATOM, FINALATOM_OLD,FINALATOM_NEW,SHIFT
614:      INTEGER , INTENT(IN) :: RESNUMBER    609:      INTEGER , INTENT(IN) :: RESNUMBER    
615: 610: 
616:      611:      
617:      !save structures and reload the correct information into MUTATION_INFO612:      !save structures and reload the correct information into MUTATION_INFO
618:      CALL AMBERMUT_REJ_LOWEST()613:      CALL AMBERMUT_REJ_LOWEST()


r33479/genrigid_input.py 2017-11-14 18:30:21.027867769 +0000 r33478/genrigid_input.py 2017-11-14 18:30:22.351885332 +0000
1834:         if CG_CD in ['y', 'yes']:1834:         if CG_CD in ['y', 'yes']:
1835:             check_file.write('Group rotation for CG - CD' + "\n")1835:             check_file.write('Group rotation for CG - CD' + "\n")
1836:             group_rotations[4] = True1836:             group_rotations[4] = True
1837:             CG_CD_def = raw_input('Use default values (y/n)? ')1837:             CG_CD_def = raw_input('Use default values (y/n)? ')
1838:             if CG_CD_def not in ['y', 'yes']:1838:             if CG_CD_def not in ['y', 'yes']:
1839:                 def_values[4] = False1839:                 def_values[4] = False
1840: 1840: 
1841:         for res_gr in grot_res:1841:         for res_gr in grot_res:
1842:             gr_res_name = loaded_mol.get_residue_name(res_gr)1842:             gr_res_name = loaded_mol.get_residue_name(res_gr)
1843:             if gr_res_name in protein_res:1843:             if gr_res_name in protein_res:
1844:                 if group_rotations[0] and gr_res_name not in ['PRO','CYX']:1844:                 if group_rotations[0] and gr_res_name not in ['PRO']:
1845:                     # N-CA rotation1845:                     # N-CA rotation
1846:                     if def_values[0]:1846:                     if def_values[0]:
1847:                         prob = prob_uni1847:                         prob = prob_uni
1848:                         amp = 0.1  # use default amplitude1848:                         amp = 0.1  # use default amplitude
1849:                     else:1849:                     else:
1850:                         prob, amp = get_prob_amb()1850:                         prob, amp = get_prob_amb()
1851:                     ax1 = loaded_mol.get_atom_id_from_name('N', res_gr)1851:                     ax1 = loaded_mol.get_atom_id_from_name('N', res_gr)
1852:                     ax2 = loaded_mol.get_atom_id_from_name('CA', res_gr)1852:                     ax2 = loaded_mol.get_atom_id_from_name('CA', res_gr)
1853:                     gr_name = 'NCA' + str(res_gr)1853:                     gr_name = 'NCA' + str(res_gr)
1854:                     gr_atoms = []1854:                     gr_atoms = []
1855:                     for gr_atom in loaded_mol.get_atom_list(res_gr):1855:                     for gr_atom in loaded_mol.get_atom_list(res_gr):
1856:                         if atom_dic[gr_atom][0] not in ['N',  'C', 'CA', 'HA', 'O', 'OXT', 'H1', 'H2', 'H3']:1856:                         if atom_dic[gr_atom][0] not in ['N',  'C', 'CA', 'HA', 'O', 'OXT', 'H1', 'H2', 'H3']:
1857:                             gr_atoms.append(gr_atom)1857:                             gr_atoms.append(gr_atom)
1858:                     grot_dic[len(grot_dic) + 1] = [gr_name, ax1, ax2, len(gr_atoms), amp, prob, gr_atoms]1858:                     grot_dic[len(grot_dic) + 1] = [gr_name, ax1, ax2, len(gr_atoms), amp, prob, gr_atoms]
1859: 1859: 
1860:                 if group_rotations[1] and gr_res_name not in ['PRO','CYX']:1860:                 if group_rotations[1] and gr_res_name not in ['PRO']:
1861:                     # C-CA rotation1861:                     # C-CA rotation
1862:                     if def_values[1]:1862:                     if def_values[1]:
1863:                         prob = prob_uni1863:                         prob = prob_uni
1864:                         amp = 0.1  # use default amplitude1864:                         amp = 0.1  # use default amplitude
1865:                     else:1865:                     else:
1866:                         prob, amp = get_prob_amb()1866:                         prob, amp = get_prob_amb()
1867:                     ax1 = loaded_mol.get_atom_id_from_name('C', res_gr)1867:                     ax1 = loaded_mol.get_atom_id_from_name('C', res_gr)
1868:                     ax2 = loaded_mol.get_atom_id_from_name('CA', res_gr)1868:                     ax2 = loaded_mol.get_atom_id_from_name('CA', res_gr)
1869:                     gr_name = 'CCA' + str(res_gr)1869:                     gr_name = 'CCA' + str(res_gr)
1870:                     gr_atoms = []1870:                     gr_atoms = []
1871:                     for gr_atom in loaded_mol.get_atom_list(res_gr):1871:                     for gr_atom in loaded_mol.get_atom_list(res_gr):
1872:                         if atom_dic[gr_atom][0] not in ['N',  'C', 'CA', 'HA', 'O', 'OXT', 'H1', 'H2', 'H3']:1872:                         if atom_dic[gr_atom][0] not in ['N',  'C', 'CA', 'HA', 'O', 'OXT', 'H1', 'H2', 'H3']:
1873:                             gr_atoms.append(gr_atom)1873:                             gr_atoms.append(gr_atom)
1874:                     grot_dic[len(grot_dic) + 1] = [gr_name, ax1, ax2, len(gr_atoms), amp, prob, gr_atoms]1874:                     grot_dic[len(grot_dic) + 1] = [gr_name, ax1, ax2, len(gr_atoms), amp, prob, gr_atoms]
1875: 1875: 
1876:                 if group_rotations[2] and gr_res_name not in ['PRO', 'ALA', 'GLY','CYX']:1876:                 if group_rotations[2] and gr_res_name not in ['PRO', 'ALA', 'GLY']:
1877:                     # CA-CB rotation1877:                     # CA-CB rotation
1878:                     if def_values[2]:1878:                     if def_values[2]:
1879:                         prob = prob_uni1879:                         prob = prob_uni
1880:                         try:1880:                         try:
1881:                             amp = amp_dic[gr_res_name][0]  # use default amplitude1881:                             amp = amp_dic[gr_res_name][0]  # use default amplitude
1882:                         except KeyError:1882:                         except KeyError:
1883:                             print 'No default data available for ' + gr_res_name1883:                             print 'No default data available for ' + gr_res_name
1884:                             prob, amp = get_prob_amb()1884:                             prob, amp = get_prob_amb()
1885:                     else:1885:                     else:
1886:                         prob, amp = get_prob_amb()1886:                         prob, amp = get_prob_amb()
1887:                     ax1 = loaded_mol.get_atom_id_from_name('CA', res_gr)1887:                     ax1 = loaded_mol.get_atom_id_from_name('CA', res_gr)
1888:                     ax2 = loaded_mol.get_atom_id_from_name('CB', res_gr)1888:                     ax2 = loaded_mol.get_atom_id_from_name('CB', res_gr)
1889:                     gr_name = 'CACB' + str(res_gr)1889:                     gr_name = 'CACB' + str(res_gr)
1890:                     gr_atoms = []1890:                     gr_atoms = []
1891:                     for gr_atom in loaded_mol.get_atom_list(res_gr):1891:                     for gr_atom in loaded_mol.get_atom_list(res_gr):
1892:                         if atom_dic[gr_atom][0] not in ['N', 'H', 'C', 'CA', 'HA', 'CB', 'O', 'OXT', 'H1', 'H2', 'H3']:1892:                         if atom_dic[gr_atom][0] not in ['N', 'H', 'C', 'CA', 'HA', 'CB', 'O', 'OXT', 'H1', 'H2', 'H3']:
1893:                             gr_atoms.append(gr_atom)1893:                             gr_atoms.append(gr_atom)
1894:                     grot_dic[len(grot_dic) + 1] = [gr_name, ax1, ax2, len(gr_atoms), amp, prob, gr_atoms]1894:                     grot_dic[len(grot_dic) + 1] = [gr_name, ax1, ax2, len(gr_atoms), amp, prob, gr_atoms]
1895: 1895: 
1896:                 if group_rotations[3] and gr_res_name not in ['PRO', 'ILE', 'ALA', 'GLY', 'SER', 'CYS', 'THR', 'VAL','CYX']:1896:                 if group_rotations[3] and gr_res_name not in ['PRO', 'ILE', 'ALA', 'GLY', 'SER', 'CYS', 'THR', 'VAL']:
1897:                     # CB-CG rotation1897:                     # CB-CG rotation
1898:                     if def_values[3]:1898:                     if def_values[3]:
1899:                         prob = prob_uni1899:                         prob = prob_uni
1900:                         try:1900:                         try:
1901:                             amp = amp_dic[gr_res_name][1]  # use default amplitude1901:                             amp = amp_dic[gr_res_name][1]  # use default amplitude
1902:                         except KeyError:1902:                         except KeyError:
1903:                             print 'No default data available for ' + gr_res_name1903:                             print 'No default data available for ' + gr_res_name
1904:                             prob, amp = get_prob_amb()1904:                             prob, amp = get_prob_amb()
1905:                     else:1905:                     else:
1906:                         prob, amp = get_prob_amb()1906:                         prob, amp = get_prob_amb()


r33479/grouprotations.py 2017-11-14 18:30:20.511860923 +0000 r33478/grouprotations.py 2017-11-14 18:30:21.787877850 +0000
 87:            'VAL': (1.0,), 87:            'VAL': (1.0,),
 88:            'AMB0': (0.1,)  # default for all non residue specific rotations 88:            'AMB0': (0.1,)  # default for all non residue specific rotations
 89:           } 89:           }
 90:  90: 
 91:  91: 
 92: # number: [name, ax_atom1, ax_atom2, natom, amp, prob, [atom1, atom2, ...]] 92: # number: [name, ax_atom1, ax_atom2, natom, amp, prob, [atom1, atom2, ...]]
 93: grot_dic = {} 93: grot_dic = {}
 94: residues = res_dic.keys() 94: residues = res_dic.keys()
 95: for res in residues: 95: for res in residues:
 96:     gr_res_name = loaded_mol.get_residue_name(res) 96:     gr_res_name = loaded_mol.get_residue_name(res)
 97:     if gr_res_name not in ['PRO' , 'HYP' , 'CYX']: 97:     if gr_res_name not in ['PRO' , 'HYP']:
 98:         #N-CA rotation 98:         #N-CA rotation
 99:         prob = prob_uni 99:         prob = prob_uni
100:         amp = 0.1  # use default amplitude100:         amp = 0.1  # use default amplitude
101: 101: 
102:         ax1 = loaded_mol.get_atom_id_from_name('N', res)102:         ax1 = loaded_mol.get_atom_id_from_name('N', res)
103:         ax2 = loaded_mol.get_atom_id_from_name('CA', res)103:         ax2 = loaded_mol.get_atom_id_from_name('CA', res)
104:         gr_name = 'NCA' + str(res)104:         gr_name = 'NCA' + str(res)
105:         gr_atoms = []105:         gr_atoms = []
106:         for gr_atom in loaded_mol.get_atom_list(res):106:         for gr_atom in loaded_mol.get_atom_list(res):
107:             if atom_dic[gr_atom][0] not in ['N',  'C', 'CA', 'HA', 'O', 'OXT', 'H1', 'H2', 'H3']:107:             if atom_dic[gr_atom][0] not in ['N',  'C', 'CA', 'HA', 'O', 'OXT', 'H1', 'H2', 'H3']:
108:                 gr_atoms.append(gr_atom)108:                 gr_atoms.append(gr_atom)
109:         grot_dic[len(grot_dic) + 1] = [gr_name, ax1, ax2, len(gr_atoms), amp, prob, gr_atoms]109:         grot_dic[len(grot_dic) + 1] = [gr_name, ax1, ax2, len(gr_atoms), amp, prob, gr_atoms]
110: 110: 
111:     if gr_res_name not in ['PRO' , 'HYP' , 'CYX']:111:     if gr_res_name not in ['PRO' , 'HYP']:
112:         #C-CA rotation112:         #C-CA rotation
113:         prob = prob_uni113:         prob = prob_uni
114:         amp = 0.1  # use default amplitude114:         amp = 0.1  # use default amplitude
115:         ax1 = loaded_mol.get_atom_id_from_name('C', res)115:         ax1 = loaded_mol.get_atom_id_from_name('C', res)
116:         ax2 = loaded_mol.get_atom_id_from_name('CA', res)116:         ax2 = loaded_mol.get_atom_id_from_name('CA', res)
117:         gr_name = 'CCA' + str(res)117:         gr_name = 'CCA' + str(res)
118:         gr_atoms = []118:         gr_atoms = []
119:         for gr_atom in loaded_mol.get_atom_list(res):119:         for gr_atom in loaded_mol.get_atom_list(res):
120:             if atom_dic[gr_atom][0] not in ['N',  'C', 'CA', 'HA', 'O', 'OXT', 'H1', 'H2', 'H3']:120:             if atom_dic[gr_atom][0] not in ['N',  'C', 'CA', 'HA', 'O', 'OXT', 'H1', 'H2', 'H3']:
121:                 gr_atoms.append(gr_atom)121:                 gr_atoms.append(gr_atom)
122:         grot_dic[len(grot_dic) + 1] = [gr_name, ax1, ax2, len(gr_atoms), amp, prob, gr_atoms]122:         grot_dic[len(grot_dic) + 1] = [gr_name, ax1, ax2, len(gr_atoms), amp, prob, gr_atoms]
123: 123: 
124:     if gr_res_name not in ['PRO', 'HYP' , 'ALA', 'GLY' , 'CYX'[]:124:     if gr_res_name not in ['PRO', 'HYP' , 'ALA', 'GLY']:
125:         # CA-CB rotation125:         # CA-CB rotation
126:         prob = prob_uni126:         prob = prob_uni
127:         try:127:         try:
128:             amp = amp_dic[gr_res_name][0]  # use default amplitude128:             amp = amp_dic[gr_res_name][0]  # use default amplitude
129:         except KeyError:129:         except KeyError:
130:             amp = 0.1130:             amp = 0.1
131:         ax1 = loaded_mol.get_atom_id_from_name('CA', res)131:         ax1 = loaded_mol.get_atom_id_from_name('CA', res)
132:         ax2 = loaded_mol.get_atom_id_from_name('CB', res)132:         ax2 = loaded_mol.get_atom_id_from_name('CB', res)
133:         gr_name = 'CACB' + str(res)133:         gr_name = 'CACB' + str(res)
134:         gr_atoms = []134:         gr_atoms = []
135:         for gr_atom in loaded_mol.get_atom_list(res):135:         for gr_atom in loaded_mol.get_atom_list(res):
136:             if atom_dic[gr_atom][0] not in ['N', 'H', 'C', 'CA', 'HA', 'CB', 'O', 'OXT', 'H1', 'H2', 'H3']:136:             if atom_dic[gr_atom][0] not in ['N', 'H', 'C', 'CA', 'HA', 'CB', 'O', 'OXT', 'H1', 'H2', 'H3']:
137:                 gr_atoms.append(gr_atom)137:                 gr_atoms.append(gr_atom)
138:         grot_dic[len(grot_dic) + 1] = [gr_name, ax1, ax2, len(gr_atoms), amp, prob, gr_atoms]138:         grot_dic[len(grot_dic) + 1] = [gr_name, ax1, ax2, len(gr_atoms), amp, prob, gr_atoms]
139: 139: 
140:     if gr_res_name not in ['PRO', 'HYP' , 'ILE', 'ALA', 'GLY', 'SER', 'CYS', 'THR', 'VAL' , 'CYX']:140:     if gr_res_name not in ['PRO', 'HYP' , 'ILE', 'ALA', 'GLY', 'SER', 'CYS', 'THR', 'VAL']:
141:         # CB-CG rotation141:         # CB-CG rotation
142:         prob = prob_uni142:         prob = prob_uni
143:         try:143:         try:
144:             amp = amp_dic[gr_res_name][1]  # use default amplitude144:             amp = amp_dic[gr_res_name][1]  # use default amplitude
145:         except KeyError:145:         except KeyError:
146:             amp = 0.1146:             amp = 0.1
147:         ax1 = loaded_mol.get_atom_id_from_name('CB', res)147:         ax1 = loaded_mol.get_atom_id_from_name('CB', res)
148:         ax2 = loaded_mol.get_atom_id_from_name('CG', res)148:         ax2 = loaded_mol.get_atom_id_from_name('CG', res)
149:         gr_name = 'CBCG' + str(res)149:         gr_name = 'CBCG' + str(res)
150:         gr_atoms = []150:         gr_atoms = []


r33479/rbody_grot.py 2017-11-14 18:30:20.767864320 +0000 r33478/rbody_grot.py 2017-11-14 18:30:22.051881351 +0000
114:     rboutput.write("GROUP " + str(len(rb_dict[key])) + "\n")114:     rboutput.write("GROUP " + str(len(rb_dict[key])) + "\n")
115:     for atom in rb_dict[key]:115:     for atom in rb_dict[key]:
116:         rboutput.write(str(atom) + "\n")116:         rboutput.write(str(atom) + "\n")
117: rboutput.close()117: rboutput.close()
118: 118: 
119: # number: [name, ax_atom1, ax_atom2, natom, amp, prob, [atom1, atom2, ...]]119: # number: [name, ax_atom1, ax_atom2, natom, amp, prob, [atom1, atom2, ...]]
120: grot_dic = {}120: grot_dic = {}
121: residues = res_dic.keys()121: residues = res_dic.keys()
122: for res in residues:122: for res in residues:
123:     gr_res_name = loaded_mol.get_residue_name(res)123:     gr_res_name = loaded_mol.get_residue_name(res)
124:     if gr_res_name not in ['PRO' , 'HYP' , 'CYX']:124:     if gr_res_name not in ['PRO' , 'HYP']:
125:         #N-CA rotation125:         #N-CA rotation
126:         prob = prob_uni126:         prob = prob_uni
127:         amp = 0.1  # use default amplitude127:         amp = 0.1  # use default amplitude
128: 128: 
129:         ax1 = loaded_mol.get_atom_id_from_name('N', res)129:         ax1 = loaded_mol.get_atom_id_from_name('N', res)
130:         ax2 = loaded_mol.get_atom_id_from_name('CA', res)130:         ax2 = loaded_mol.get_atom_id_from_name('CA', res)
131:         gr_name = 'NCA' + str(res)131:         gr_name = 'NCA' + str(res)
132:         gr_atoms = []132:         gr_atoms = []
133:         for gr_atom in loaded_mol.get_atom_list(res):133:         for gr_atom in loaded_mol.get_atom_list(res):
134:             if atom_dic[gr_atom][0] not in ['N',  'C', 'CA', 'HA', 'O', 'OXT', 'H1', 'H2', 'H3']:134:             if atom_dic[gr_atom][0] not in ['N',  'C', 'CA', 'HA', 'O', 'OXT', 'H1', 'H2', 'H3']:
135:                 gr_atoms.append(gr_atom)135:                 gr_atoms.append(gr_atom)
136:         inrbody = False136:         inrbody = False
137:         for atom in gr_atoms:137:         for atom in gr_atoms:
138:             if atom in used_atoms:138:             if atom in used_atoms:
139:                 inrbody = True139:                 inrbody = True
140:         if not(inrbody):140:         if not(inrbody):
141:             grot_dic[len(grot_dic) + 1] = [gr_name, ax1, ax2, len(gr_atoms), amp, prob, gr_atoms]141:             grot_dic[len(grot_dic) + 1] = [gr_name, ax1, ax2, len(gr_atoms), amp, prob, gr_atoms]
142: 142: 
143:     if gr_res_name not in ['PRO' , 'HYP' , 'CYX']:143:     if gr_res_name not in ['PRO' , 'HYP']:
144:         #C-CA rotation144:         #C-CA rotation
145:         prob = prob_uni145:         prob = prob_uni
146:         amp = 0.1  # use default amplitude146:         amp = 0.1  # use default amplitude
147:         ax1 = loaded_mol.get_atom_id_from_name('C', res)147:         ax1 = loaded_mol.get_atom_id_from_name('C', res)
148:         ax2 = loaded_mol.get_atom_id_from_name('CA', res)148:         ax2 = loaded_mol.get_atom_id_from_name('CA', res)
149:         gr_name = 'CCA' + str(res)149:         gr_name = 'CCA' + str(res)
150:         gr_atoms = []150:         gr_atoms = []
151:         for gr_atom in loaded_mol.get_atom_list(res):151:         for gr_atom in loaded_mol.get_atom_list(res):
152:             if atom_dic[gr_atom][0] not in ['N',  'C', 'CA', 'HA', 'O', 'OXT', 'H1', 'H2', 'H3']:152:             if atom_dic[gr_atom][0] not in ['N',  'C', 'CA', 'HA', 'O', 'OXT', 'H1', 'H2', 'H3']:
153:                 gr_atoms.append(gr_atom)153:                 gr_atoms.append(gr_atom)
154:         inrbody = False154:         inrbody = False
155:         for atom in gr_atoms:155:         for atom in gr_atoms:
156:             if atom in used_atoms:156:             if atom in used_atoms:
157:                 inrbody = True157:                 inrbody = True
158:         if not(inrbody):158:         if not(inrbody):
159:             grot_dic[len(grot_dic) + 1] = [gr_name, ax1, ax2, len(gr_atoms), amp, prob, gr_atoms]159:             grot_dic[len(grot_dic) + 1] = [gr_name, ax1, ax2, len(gr_atoms), amp, prob, gr_atoms]
160: 160: 
161:     if gr_res_name not in ['PRO', 'HYP' , 'ALA', 'GLY' , 'CYX']:161:     if gr_res_name not in ['PRO', 'HYP' , 'ALA', 'GLY']:
162:         # CA-CB rotation162:         # CA-CB rotation
163:         prob = prob_uni163:         prob = prob_uni
164:         try:164:         try:
165:             amp = amp_dic[gr_res_name][0]  # use default amplitude165:             amp = amp_dic[gr_res_name][0]  # use default amplitude
166:         except KeyError:166:         except KeyError:
167:             amp = 0.1167:             amp = 0.1
168:         ax1 = loaded_mol.get_atom_id_from_name('CA', res)168:         ax1 = loaded_mol.get_atom_id_from_name('CA', res)
169:         ax2 = loaded_mol.get_atom_id_from_name('CB', res)169:         ax2 = loaded_mol.get_atom_id_from_name('CB', res)
170:         gr_name = 'CACB' + str(res)170:         gr_name = 'CACB' + str(res)
171:         gr_atoms = []171:         gr_atoms = []
172:         for gr_atom in loaded_mol.get_atom_list(res):172:         for gr_atom in loaded_mol.get_atom_list(res):
173:             if atom_dic[gr_atom][0] not in ['N', 'H', 'C', 'CA', 'HA', 'CB', 'O', 'OXT', 'H1', 'H2', 'H3']:173:             if atom_dic[gr_atom][0] not in ['N', 'H', 'C', 'CA', 'HA', 'CB', 'O', 'OXT', 'H1', 'H2', 'H3']:
174:                 gr_atoms.append(gr_atom)174:                 gr_atoms.append(gr_atom)
175:         inrbody = False175:         inrbody = False
176:         for atom in gr_atoms:176:         for atom in gr_atoms:
177:             if atom in used_atoms:177:             if atom in used_atoms:
178:                 inrbody = True178:                 inrbody = True
179:         if not(inrbody):179:         if not(inrbody):
180:             grot_dic[len(grot_dic) + 1] = [gr_name, ax1, ax2, len(gr_atoms), amp, prob, gr_atoms]180:             grot_dic[len(grot_dic) + 1] = [gr_name, ax1, ax2, len(gr_atoms), amp, prob, gr_atoms]
181: 181: 
182:     if gr_res_name not in ['PRO', 'HYP' , 'ILE', 'ALA', 'GLY', 'SER', 'CYS', 'THR', 'VAL' , 'CYX']:182:     if gr_res_name not in ['PRO', 'HYP' , 'ILE', 'ALA', 'GLY', 'SER', 'CYS', 'THR', 'VAL']:
183:         # CB-CG rotation183:         # CB-CG rotation
184:         prob = prob_uni184:         prob = prob_uni
185:         try:185:         try:
186:             amp = amp_dic[gr_res_name][1]  # use default amplitude186:             amp = amp_dic[gr_res_name][1]  # use default amplitude
187:         except KeyError:187:         except KeyError:
188:             amp = 0.1188:             amp = 0.1
189:         ax1 = loaded_mol.get_atom_id_from_name('CB', res)189:         ax1 = loaded_mol.get_atom_id_from_name('CB', res)
190:         ax2 = loaded_mol.get_atom_id_from_name('CG', res)190:         ax2 = loaded_mol.get_atom_id_from_name('CG', res)
191:         gr_name = 'CBCG' + str(res)191:         gr_name = 'CBCG' + str(res)
192:         gr_atoms = []192:         gr_atoms = []


r33479/shake.F90 2017-11-14 18:30:19.987853973 +0000 r33478/shake.F90 2017-11-14 18:30:21.259870845 +0000
616: #if defined(AMBMPI) && !defined(CUDA)616: #if defined(AMBMPI) && !defined(CUDA)
617:     end if617:     end if
618: #endif618: #endif
619:   end if619:   end if
620: 620: 
621:   call nonfastwat_shake_setup621:   call nonfastwat_shake_setup
622:   622:   
623: #ifdef CUDA623: #ifdef CUDA
624:   !allocate my_fast_res_lst if fastwat_res_cnt = 0, only needed for CUDA due to624:   !allocate my_fast_res_lst if fastwat_res_cnt = 0, only needed for CUDA due to
625:   !lack of exception handling625:   !lack of exception handling
626:   if (fastwat_res_cnt .eq. 0) then626:   if (fastwat_res_cnt .eq. 0) allocate(my_fastwat_res_lst(0))
627:      if (allocated(my_fastwat_res_lst)) deallocate(my_fastwat_res_lst) 
628:      allocate(my_fastwat_res_lst(0)) 
629:   endif 
630:   call gpu_shake_setup(atm_mass, my_nonfastwat_bond_cnt, my_nonfastwat_bond_dat, my_fastwat_res_cnt, iorwat, my_fastwat_res_lst)627:   call gpu_shake_setup(atm_mass, my_nonfastwat_bond_cnt, my_nonfastwat_bond_dat, my_fastwat_res_cnt, iorwat, my_fastwat_res_lst)
631: #endif  628: #endif  
632: 629: 
633:   return630:   return
634: 631: 
635: ! Format statements:632: ! Format statements:
636: 633: 
637: 9000 format(' Error: Fast 3-point water residue, name and bond data incorrect!')634: 9000 format(' Error: Fast 3-point water residue, name and bond data incorrect!')
638: 9001 format(' Number of triangulated 3-point waters found: ', i8)635: 9001 format(' Number of triangulated 3-point waters found: ', i8)
639: 636: 
683: 680: 
684:   else681:   else
685: 682: 
686:     ! shake not done on anything.683:     ! shake not done on anything.
687: 684: 
688:     nonfastwat_bond_cnt = 0685:     nonfastwat_bond_cnt = 0
689:     my_nonfastwat_bond_cnt = 0686:     my_nonfastwat_bond_cnt = 0
690: #ifdef CUDA687: #ifdef CUDA
691:     ! need the allocations routines to be called as we need them for CUDA688:     ! need the allocations routines to be called as we need them for CUDA
692:     ! (gdb and valgrind break otherwise)689:     ! (gdb and valgrind break otherwise)
693:     if (allocated(my_nonfastwat_bond_dat)) deallocate(my_nonfastwat_bond_dat) 
694:     allocate(my_nonfastwat_bond_dat(nonfastwat_bond_cnt))690:     allocate(my_nonfastwat_bond_dat(nonfastwat_bond_cnt))
695: #endif691: #endif
696:     return692:     return
697: 693: 
698:   end if694:   end if
699: 695: 
700:   ! Determine how many nonfastwater bonds there are.696:   ! Determine how many nonfastwater bonds there are.
701: 697: 
702:   nonfastwat_bond_cnt = 0698:   nonfastwat_bond_cnt = 0
703: 699: 


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0