| @@ 357-411 (lines=55) @@ | ||
| 354 | return parser |
|
| 355 | ||
| 356 | # main |
|
| 357 | if __name__ == '__main__': |
|
| 358 | parser = get_parser() |
|
| 359 | args = parser.parse_args() |
|
| 360 | if not args.debug: |
|
| 361 | ic.disable() |
|
| 362 | ||
| 363 | target = RNAmodel(args.target) |
|
| 364 | ||
| 365 | # a trick to get files be default if there is only a path (so a string ;-)) |
|
| 366 | if not isinstance(args.files, str): |
|
| 367 | models = args.files |
|
| 368 | else: |
|
| 369 | import glob |
|
| 370 | models = glob.glob(args.files) # opts.input_dir |
|
| 371 | ||
| 372 | ## tmp = [] |
|
| 373 | ## if args.ignore_files: |
|
| 374 | ## for f in args.files: |
|
| 375 | ## if args.debug: print(f) |
|
| 376 | ## if args.ignore_files in f: |
|
| 377 | ## continue |
|
| 378 | ## tmp.append(f) |
|
| 379 | ## models = tmp |
|
| 380 | ||
| 381 | print('# of models:', len(models)) |
|
| 382 | ||
| 383 | c = 1 |
|
| 384 | t = 'fn,' + args.column_name + '\n' # ,aligned_seq, aligned_fn\n' |
|
| 385 | for m in models: |
|
| 386 | mrna = RNAmodel(m) |
|
| 387 | #print r1.fn, r2.fn, r1.get_rmsd_to(r2)#, 'tmp.pdb') |
|
| 388 | # print(m) |
|
| 389 | rmsd = target.get_rmsd_to(mrna, args.way, args.triple_mode, args.save, args.tseq) #, 'tmp.pdb') |
|
| 390 | #except: |
|
| 391 | if 0: |
|
| 392 | print(m) |
|
| 393 | sys.exit(1) |
|
| 394 | #print rmsd |
|
| 395 | t += mrna.fn + ',' + str(rmsd) + '\n' |
|
| 396 | #break |
|
| 397 | ||
| 398 | print(t.strip()) |
|
| 399 | ||
| 400 | if args.result: |
|
| 401 | with open(args.result, 'w') as f: |
|
| 402 | f.write(t) |
|
| 403 | ||
| 404 | if args.sort: |
|
| 405 | import pandas as pd |
|
| 406 | df = pd.read_csv(args.result) |
|
| 407 | df = df[df.rmsd != -1] |
|
| 408 | df = df.sort_values('rmsd') |
|
| 409 | df.to_csv(args.result, index=False) |
|
| 410 | print('saved: %s' % args.result) |
|
| 411 | print(df.to_string(index=False)) |
|
| 412 | ||
| @@ 299-353 (lines=55) @@ | ||
| 296 | return parser |
|
| 297 | ||
| 298 | # main |
|
| 299 | if __name__ == '__main__': |
|
| 300 | parser = get_parser() |
|
| 301 | args = parser.parse_args() |
|
| 302 | if not args.debug: |
|
| 303 | ic.disable() |
|
| 304 | ||
| 305 | target = RNAmodel(args.target) |
|
| 306 | ||
| 307 | # a trick to get files be default if there is only a path (so a string ;-)) |
|
| 308 | if not isinstance(args.files, str): |
|
| 309 | models = args.files |
|
| 310 | else: |
|
| 311 | import glob |
|
| 312 | models = glob.glob(args.files) # opts.input_dir |
|
| 313 | ||
| 314 | ## tmp = [] |
|
| 315 | ## if args.ignore_files: |
|
| 316 | ## for f in args.files: |
|
| 317 | ## if args.debug: print(f) |
|
| 318 | ## if args.ignore_files in f: |
|
| 319 | ## continue |
|
| 320 | ## tmp.append(f) |
|
| 321 | ## models = tmp |
|
| 322 | ||
| 323 | print('# of models:', len(models)) |
|
| 324 | ||
| 325 | c = 1 |
|
| 326 | t = 'fn,' + args.column_name + '\n' # ,aligned_seq, aligned_fn\n' |
|
| 327 | for m in models: |
|
| 328 | mrna = RNAmodel(m) |
|
| 329 | #print r1.fn, r2.fn, r1.get_rmsd_to(r2)#, 'tmp.pdb') |
|
| 330 | # print(m) |
|
| 331 | rmsd = target.get_rmsd_to(mrna, args.way, args.triple_mode, args.save, args.tseq) #, 'tmp.pdb') |
|
| 332 | #except: |
|
| 333 | if 0: |
|
| 334 | print(m) |
|
| 335 | sys.exit(1) |
|
| 336 | #print rmsd |
|
| 337 | t += mrna.fn + ',' + str(rmsd) + '\n' |
|
| 338 | #break |
|
| 339 | ||
| 340 | if args.show: |
|
| 341 | print(t.strip()) # all the data |
|
| 342 | ||
| 343 | if args.result: |
|
| 344 | with open(args.result, 'w') as f: |
|
| 345 | f.write(t) |
|
| 346 | ||
| 347 | if args.sort: |
|
| 348 | import pandas as pd |
|
| 349 | df = pd.read_csv(args.result) |
|
| 350 | df = df[df.rmsd != -1] |
|
| 351 | df = df.sort_values('rmsd') |
|
| 352 | df.to_csv(args.result, index=False) |
|
| 353 | print('saved: %s' % args.result) |
|
| 354 | # print(df.to_string(index=False)) |
|
| 355 | ||