Code Duplication    Length = 58-58 lines in 2 locations

rna_tools/tools/triplexibility/triplexibility.py 1 location

@@ 218-275 (lines=58) @@
215
                        print(p, '', [i + 1 for i in p], end=' ')
216
                        print(seq, 'seq_min: ' + seq_min, rms)
217
218
            if p_min: # found target sequence
219
                # what is this? ;-)
220
                index = [0 ,0 ,0]
221
                index[0] = p_min.index(0)
222
                index[1] = p_min.index(1)
223
                index[2] = p_min.index(2)
224
225
                # ugly re-set 123 to crazy id ! + 100, so this will
226
                # fill up 1 2 3 for the second for
227
                rs = other_rnamodel.struc[0].get_residues()
228
                for i, r in enumerate(rs):
229
                    r.id = (' ', index[i] + 253, ' ') # ugly, some random offset
230
231
                for i, r in enumerate(other_rnamodel.struc[0].get_residues()):
232
                    r.id = (' ', index[i] + 1, ' ')
233
                    if args.debug: print('r', r)
234
235
                io = Bio.PDB.PDBIO()
236
                sup_min.apply(other_rnamodel.struc.get_atoms())
237
                # if args.debug: print(p_min, [i + 1 for i in p_min])
238
                io.set_structure(other_rnamodel.struc)
239
240
                args.save_here = True
241
                if args.save_here and save:
242
                    folder = os.path.basename(self.fpath.replace('.pdb', '_' + args.folder_prefix + '_aligned'))
243
                    # print(f)
244
                    try:
245
                        os.mkdir(folder)
246
                    except:
247
                        pass
248
                    fout = folder + os.sep + "{:1.2f}".format(rmsd_min) + '-' + os.path.basename(other_rnamodel.fpath)#.replace('.pdb', '-' + str(rms) + '.pdb'))
249
                    #_s' + suffix + '.pdb'))
250
                else:
251
                    fout = other_rnamodel.fpath.replace('.pdb', '_aligned.pdb')#_s' + suffix + '.pdb')
252
253
                if args.debug: print(fout)
254
255
                if save:
256
                    io.save(fout)
257
                    # ugly set chain to A
258
                    set_chain_for_struc(fout, 'A', save_file_inplace=True)
259
                    # and now run this to sort into 1 2 3
260
261
                    r = RNAStructure(fout)
262
                    remarks = r.get_remarks_text()
263
                    r1 = r.get_res_text('A', 1)
264
                    r2 = r.get_res_text('A', 2)
265
                    r3 = r.get_res_text('A', 3)
266
                    with open(fout, 'w') as f:
267
                        f.write(remarks)
268
                        f.write(r1)
269
                        f.write(r2)
270
                        f.write(r3)
271
                    r.reload()
272
                    r.get_rnapuzzle_ready()
273
                    if rmsd_min < 1:  # !!!!!!!!!!!! ugly
274
                         r.write()
275
                return str(rmsd_min)# + ',s' + seq_min + ',' + os.path.basename(fout)
276
        else:
277
            # check if number of the same atoms #
278
            # if not the same then return -1    #

rna_tools/tools/triplexibility/triplexibility2.py 1 location

@@ 159-216 (lines=58) @@
156
                        print(p, '', [i + 1 for i in p], end=' ')
157
                        print(seq, 'seq_min: ' + seq_min, rms)
158
159
            if p_min: # found target sequence
160
                # what is this? ;-)
161
                index = [0 ,0 ,0]
162
                index[0] = p_min.index(0)
163
                index[1] = p_min.index(1)
164
                index[2] = p_min.index(2)
165
166
                # ugly re-set 123 to crazy id ! + 100, so this will
167
                # fill up 1 2 3 for the second for
168
                rs = other_rnamodel.struc[0].get_residues()
169
                for i, r in enumerate(rs):
170
                    r.id = (' ', index[i] + 253, ' ') # ugly, some random offset
171
172
                for i, r in enumerate(other_rnamodel.struc[0].get_residues()):
173
                    r.id = (' ', index[i] + 1, ' ')
174
                    if args.debug: print('r', r)
175
176
                io = Bio.PDB.PDBIO()
177
                sup_min.apply(other_rnamodel.struc.get_atoms())
178
                # if args.debug: print(p_min, [i + 1 for i in p_min])
179
                io.set_structure(other_rnamodel.struc)
180
181
                args.save_here = True
182
                if args.save_here and save:
183
                    folder = os.path.basename(self.fpath.replace('.pdb', '_' + args.folder_prefix + '_aligned'))
184
                    # print(f)
185
                    try:
186
                        os.mkdir(folder)
187
                    except:
188
                        pass
189
                    fout = folder + os.sep + "{:1.2f}".format(rmsd_min) + '-' + os.path.basename(other_rnamodel.fpath)#.replace('.pdb', '-' + str(rms) + '.pdb'))
190
                    #_s' + suffix + '.pdb'))
191
                else:
192
                    fout = other_rnamodel.fpath.replace('.pdb', '_aligned.pdb')#_s' + suffix + '.pdb')
193
194
                if args.debug: print(fout)
195
196
                if save:
197
                    io.save(fout)
198
                    # ugly set chain to A
199
                    set_chain_for_struc(fout, 'A', save_file_inplace=True)
200
                    # and now run this to sort into 1 2 3
201
202
                    r = RNAStructure(fout)
203
                    remarks = r.get_remarks_text()
204
                    r1 = r.get_res_text('A', 1)
205
                    r2 = r.get_res_text('A', 2)
206
                    r3 = r.get_res_text('A', 3)
207
                    with open(fout, 'w') as f:
208
                        f.write(remarks)
209
                        f.write(r1)
210
                        f.write(r2)
211
                        f.write(r3)
212
                    r.reload()
213
                    r.get_rnapuzzle_ready()
214
                    if rmsd_min < 1:  # !!!!!!!!!!!! ugly
215
                         r.write()
216
                return str(rmsd_min)# + ',s' + seq_min + ',' + os.path.basename(fout)
217
        else:
218
            # check if number of the same atoms #
219
            # if not the same then return -1    #