comparison read2mut.py @ 19:858ca8b7ad43 draft

planemo upload for repository https://github.com/Single-Molecule-Genetics/VariantAnalyzerGalaxy/tree/master/tools/variant_analyzer commit ee4a8e6cf290e6c8a4d55f9cd2839d60ab3b11c8
author mheinzl
date Mon, 22 Feb 2021 15:02:21 +0000
parents d910b6dfd826
children ac07ff15dcfd
comparison
equal deleted inserted replaced
18:d910b6dfd826 19:858ca8b7ad43
14 ======= ========== ================= ================================ 14 ======= ========== ================= ================================
15 15
16 16
17 USAGE: python read2mut.py --mutFile DCS_Mutations.tabular --bamFile Interesting_Reads.trim.bam 17 USAGE: python read2mut.py --mutFile DCS_Mutations.tabular --bamFile Interesting_Reads.trim.bam
18 --inputJson tag_count_dict.json --sscsJson SSCS_counts.json 18 --inputJson tag_count_dict.json --sscsJson SSCS_counts.json
19 --outputFile mutant_reads_summary_short_trim.xlsx --thresh 10 --phred 20 --trim 10 --chimera_correction 19 --outputFile mutant_reads_summary_short_trim.xlsx --thresh 10 --phred 20 --trim5 10 --trim3 10 --chimera_correction
20 20
21 """ 21 """
22 22
23 from __future__ import division 23 from __future__ import division
24 24
57 help='Output xlsx file with examples of the tier classification.') 57 help='Output xlsx file with examples of the tier classification.')
58 parser.add_argument('--thresh', type=int, default=0, 58 parser.add_argument('--thresh', type=int, default=0,
59 help='Integer threshold for displaying mutations. Only mutations occuring less than thresh times are displayed. Default of 0 displays all.') 59 help='Integer threshold for displaying mutations. Only mutations occuring less than thresh times are displayed. Default of 0 displays all.')
60 parser.add_argument('--phred', type=int, default=20, 60 parser.add_argument('--phred', type=int, default=20,
61 help='Integer threshold for Phred score. Only reads higher than this threshold are considered. Default 20.') 61 help='Integer threshold for Phred score. Only reads higher than this threshold are considered. Default 20.')
62 parser.add_argument('--trim', type=int, default=10, 62 parser.add_argument('--trim5', type=int, default=10,
63 help='Integer threshold for assigning mutations at start and end of reads to lower tier. Default 10.') 63 help='Integer threshold for assigning mutations at start of reads to lower tier. Default 10.')
64 parser.add_argument('--trim3', type=int, default=10,
65 help='Integer threshold for assigning mutations at end of reads to lower tier. Default 10.')
64 parser.add_argument('--chimera_correction', action="store_true", 66 parser.add_argument('--chimera_correction', action="store_true",
65 help='Count chimeric variants and correct the variant frequencies') 67 help='Count chimeric variants and correct the variant frequencies')
66 return parser 68 return parser
67 69
68 70
83 outfile2 = args.outputFile2 85 outfile2 = args.outputFile2
84 outfile3 = args.outputFile3 86 outfile3 = args.outputFile3
85 outputFile_csv = args.outputFile_csv 87 outputFile_csv = args.outputFile_csv
86 thresh = args.thresh 88 thresh = args.thresh
87 phred_score = args.phred 89 phred_score = args.phred
88 trim = args.trim 90 trim5 = args.trim5
91 trim3 = args.trim3
89 chimera_correction = args.chimera_correction 92 chimera_correction = args.chimera_correction
90 93
91 if os.path.isfile(file1) is False: 94 if os.path.isfile(file1) is False:
92 sys.exit("Error: Could not find '{}'".format(file1)) 95 sys.exit("Error: Could not find '{}'".format(file1))
93 if os.path.isfile(file2) is False: 96 if os.path.isfile(file2) is False:
273 counter_tier31 = 0 276 counter_tier31 = 0
274 counter_tier32 = 0 277 counter_tier32 = 0
275 counter_tier41 = 0 278 counter_tier41 = 0
276 counter_tier42 = 0 279 counter_tier42 = 0
277 counter_tier5 = 0 280 counter_tier5 = 0
281 counter_tier6 = 0
278 row = 1 282 row = 1
279 tier_dict = {} 283 tier_dict = {}
280 chimera_dict = {} 284 chimera_dict = {}
281 for key1, value1 in sorted(mut_dict.items()): 285 for key1, value1 in sorted(mut_dict.items()):
282 counts_mut = 0 286 counts_mut = 0
288 alt = mut_array[i, 3] 292 alt = mut_array[i, 3]
289 dcs_median = cvrg_dict[key1][2] 293 dcs_median = cvrg_dict[key1][2]
290 whole_array = list(pure_tags_dict_short[key1].keys()) 294 whole_array = list(pure_tags_dict_short[key1].keys())
291 295
292 tier_dict[key1] = {} 296 tier_dict[key1] = {}
293 values_tier_dict = [("tier 1.1", 0), ("tier 1.2", 0), ("tier 2.1", 0), ("tier 2.2", 0), ("tier 2.3", 0), ("tier 2.4", 0), ("tier 3.1", 0), ("tier 3.2", 0), ("tier 4.1", 0), ("tier 4.2", 0), ("tier 5", 0)] 297 values_tier_dict = [("tier 1.1", 0), ("tier 1.2", 0), ("tier 2.1", 0), ("tier 2.2", 0), ("tier 2.3", 0), ("tier 2.4", 0), ("tier 3.1", 0), ("tier 3.2", 0), ("tier 4.1", 0), ("tier 4.2", 0), ("tier 5", 0), ("tier 6", 0)]
294 for k, v in values_tier_dict: 298 for k, v in values_tier_dict:
295 tier_dict[key1][k] = v 299 tier_dict[key1][k] = v
296 300
297 used_keys = [] 301 used_keys = []
298 if 'ab' in mut_pos_dict[key1].keys(): 302 if 'ab' in mut_pos_dict[key1].keys():
506 beg1 = beg4 = beg2 = beg3 = 0 510 beg1 = beg4 = beg2 = beg3 = 0
507 511
508 details1 = (total1, total4, total1new, total4new, ref1, ref4, alt1, alt4, ref1f, ref4f, alt1f, alt4f, na1, na4, lowq1, lowq4, beg1, beg4) 512 details1 = (total1, total4, total1new, total4new, ref1, ref4, alt1, alt4, ref1f, ref4f, alt1f, alt4f, na1, na4, lowq1, lowq4, beg1, beg4)
509 details2 = (total2, total3, total2new, total3new, ref2, ref3, alt2, alt3, ref2f, ref3f, alt2f, alt3f, na2, na3, lowq2, lowq3, beg2, beg3) 513 details2 = (total2, total3, total2new, total3new, ref2, ref3, alt2, alt3, ref2f, ref3f, alt2f, alt3f, na2, na3, lowq2, lowq3, beg2, beg3)
510 514
511 trimmed = False 515 trimmed_five = False
516 trimmed_three = False
512 contradictory = False 517 contradictory = False
513 518
514 if ((all(float(ij) >= 0.5 for ij in [alt1ff, alt4ff]) & all(float(ij) == 0. for ij in [alt2ff, alt3ff])) | (all(float(ij) >= 0.5 for ij in [alt2ff, alt3ff]) & all(float(ij) == 0. for ij in [alt1ff, alt4ff]))): 519 if ((all(float(ij) >= 0.5 for ij in [alt1ff, alt4ff]) & all(float(ij) == 0. for ij in [alt2ff, alt3ff])) | (all(float(ij) >= 0.5 for ij in [alt2ff, alt3ff]) & all(float(ij) == 0. for ij in [alt1ff, alt4ff]))):
515 alt1ff = 0 520 alt1ff = 0
516 alt4ff = 0 521 alt4ff = 0
517 alt2ff = 0 522 alt2ff = 0
518 alt3ff = 0 523 alt3ff = 0
519 trimmed = False 524 trimmed_five = False
525 trimmed_three = False
520 contradictory = True 526 contradictory = True
521 else: 527 else:
522 if ((read_pos1 >= 0) and ((read_pos1 <= trim) | (abs(read_len_median1 - read_pos1) <= trim))): 528 if ((read_pos1 >= 0) and (read_pos1 <= trim5)):
523 beg1 = total1new 529 beg1 = total1new
524 total1new = 0 530 total1new = 0
525 alt1ff = 0 531 alt1ff = 0
526 alt1f = 0 532 alt1f = 0
527 trimmed = True 533 trimmed_five = True
528 534 if ((read_pos1 >= 0) and (abs(read_len_median1 - read_pos1) <= trim3)):
529 if ((read_pos4 >= 0) and ((read_pos4 <= trim) | (abs(read_len_median4 - read_pos4) <= trim))): 535 beg1 = total1new
536 total1new = 0
537 alt1ff = 0
538 alt1f = 0
539 trimmed_three = True
540
541 if ((read_pos4 >= 0) and (read_pos4 <= trim5)):
530 beg4 = total4new 542 beg4 = total4new
531 total4new = 0 543 total4new = 0
532 alt4ff = 0 544 alt4ff = 0
533 alt4f = 0 545 alt4f = 0
534 trimmed = True 546 trimmed_five = True
535 547
536 if ((read_pos2 >= 0) and ((read_pos2 <= trim) | (abs(read_len_median2 - read_pos2) <= trim))): 548 if ((read_pos4 >= 0) and (abs(read_len_median4 - read_pos4) <= trim3)):
549 beg4 = total4new
550 total4new = 0
551 alt4ff = 0
552 alt4f = 0
553 trimmed_three = True
554
555 if ((read_pos2 >= 0) and (read_pos2 <= trim5)):
537 beg2 = total2new 556 beg2 = total2new
538 total2new = 0 557 total2new = 0
539 alt2ff = 0 558 alt2ff = 0
540 alt2f = 0 559 alt2f = 0
541 trimmed = True 560 trimmed_five = True
542 561
543 if ((read_pos3 >= 0) and ((read_pos3 <= trim) | (abs(read_len_median3 - read_pos3) <= trim))): 562 if ((read_pos2 >= 0) and (abs(read_len_median2 - read_pos2) <= trim3)):
563 beg2 = total2new
564 total2new = 0
565 alt2ff = 0
566 alt2f = 0
567 trimmed_three = True
568
569 if ((read_pos3 >= 0) and (read_pos3 <= trim5)):
544 beg3 = total3new 570 beg3 = total3new
545 total3new = 0 571 total3new = 0
546 alt3ff = 0 572 alt3ff = 0
547 alt3f = 0 573 alt3f = 0
548 trimmed = True 574 trimmed_five = True
575
576 if ((read_pos3 >= 0) and (abs(read_len_median3 - read_pos3) <= trim3)):
577 beg3 = total3new
578 total3new = 0
579 alt3ff = 0
580 alt3f = 0
581 trimmed_three = True
582
549 details1 = (total1, total4, total1new, total4new, ref1, ref4, alt1, alt4, ref1f, ref4f, alt1f, alt4f, na1, na4, lowq1, lowq4, beg1, beg4) 583 details1 = (total1, total4, total1new, total4new, ref1, ref4, alt1, alt4, ref1f, ref4f, alt1f, alt4f, na1, na4, lowq1, lowq4, beg1, beg4)
550 details2 = (total2, total3, total2new, total3new, ref2, ref3, alt2, alt3, ref2f, ref3f, alt2f, alt3f, na2, na3, lowq2, lowq3, beg2, beg3) 584 details2 = (total2, total3, total2new, total3new, ref2, ref3, alt2, alt3, ref2f, ref3f, alt2f, alt3f, na2, na3, lowq2, lowq3, beg2, beg3)
551 585
552 # assign tiers 586 # assign tiers
553 if ((all(int(ij) >= 3 for ij in [total1new, total4new]) & all(float(ij) >= 0.75 for ij in [alt1ff, alt4ff])) | (all(int(ij) >= 3 for ij in [total2new, total3new]) & all(float(ij) >= 0.75 for ij in [alt2ff, alt3ff]))): 587 if ((all(int(ij) >= 3 for ij in [total1new, total4new]) & all(float(ij) >= 0.75 for ij in [alt1ff, alt4ff])) | (all(int(ij) >= 3 for ij in [total2new, total3new]) & all(float(ij) >= 0.75 for ij in [alt2ff, alt3ff]))):
593 | (all(int(ij) >= 1 for ij in [total2new, total3new]) & all(float(ij) >= 0.5 for ij in [alt2ff, alt3ff]))): 627 | (all(int(ij) >= 1 for ij in [total2new, total3new]) & all(float(ij) >= 0.5 for ij in [alt2ff, alt3ff]))):
594 tier = "3.2" 628 tier = "3.2"
595 counter_tier32 += 1 629 counter_tier32 += 1
596 tier_dict[key1]["tier 3.2"] += 1 630 tier_dict[key1]["tier 3.2"] += 1
597 631
598 elif (trimmed): 632 elif trimmed_five:
599 tier = "4.1" 633 tier = "4.1"
600 counter_tier41 += 1 634 counter_tier41 += 1
601 tier_dict[key1]["tier 4.1"] += 1 635 tier_dict[key1]["tier 4.1"] += 1
602 636
603 elif (contradictory): 637 elif trimmed_three:
604 tier = "4.2" 638 tier = "4.2"
605 counter_tier42 += 1 639 counter_tier42 += 1
606 tier_dict[key1]["tier 4.2"] += 1 640 tier_dict[key1]["tier 4.2"] += 1
607 641
608 else: 642 elif contradictory:
609 tier = "5" 643 tier = "5"
610 counter_tier5 += 1 644 counter_tier5 += 1
611 tier_dict[key1]["tier 5"] += 1 645 tier_dict[key1]["tier 5"] += 1
646 else:
647 tier = "6"
648 counter_tier6 += 1
649 tier_dict[key1]["tier 6"] += 1
612 650
613 chrom, pos, ref_a, alt_a = re.split(r'\#', key1) 651 chrom, pos, ref_a, alt_a = re.split(r'\#', key1)
614 var_id = '-'.join([chrom, str(int(pos) + 1), ref, alt]) 652 var_id = '-'.join([chrom, str(int(pos) + 1), ref, alt])
615 sample_tag = key2[:-5] 653 sample_tag = key2[:-5]
616 array2 = np.unique(whole_array) # remove duplicate sequences to decrease running time 654 array2 = np.unique(whole_array) # remove duplicate sequences to decrease running time
728 766
729 # sheet 2 767 # sheet 2
730 if chimera_correction: 768 if chimera_correction:
731 header_line2 = ('variant ID', 'cvrg', 'AC alt (all tiers)', 'AF (all tiers)', 'chimeras in AC alt (all tiers)', 'chimera-corrected cvrg', 'chimera-corrected AF (all tiers)', 'cvrg (tiers 1.1-2.4)', 'AC alt (tiers 1.1-2.4)', 'AF (tiers 1.1-2.4)', 'chimeras in AC alt (tiers 1.1-2.4)', 'chimera-corrected cvrg (tiers 1.1-2.4)', 'chimera-corrected AF (tiers 1.1-2.4)', 'AC alt (orginal DCS)', 'AF (original DCS)', 769 header_line2 = ('variant ID', 'cvrg', 'AC alt (all tiers)', 'AF (all tiers)', 'chimeras in AC alt (all tiers)', 'chimera-corrected cvrg', 'chimera-corrected AF (all tiers)', 'cvrg (tiers 1.1-2.4)', 'AC alt (tiers 1.1-2.4)', 'AF (tiers 1.1-2.4)', 'chimeras in AC alt (tiers 1.1-2.4)', 'chimera-corrected cvrg (tiers 1.1-2.4)', 'chimera-corrected AF (tiers 1.1-2.4)', 'AC alt (orginal DCS)', 'AF (original DCS)',
732 'tier 1.1', 'tier 1.2', 'tier 2.1', 'tier 2.2', 'tier 2.3', 'tier 2.4', 770 'tier 1.1', 'tier 1.2', 'tier 2.1', 'tier 2.2', 'tier 2.3', 'tier 2.4',
733 'tier 3.1', 'tier 3.2', 'tier 4.1', 'tier 4.2', 'tier 5', 'AF 1.1-1.2', 'AF 1.1-2.1', 'AF 1.1-2.2', 771 'tier 3.1', 'tier 3.2', 'tier 4.1', 'tier 4.2', 'tier 5', 'tier 6', 'AF 1.1-1.2', 'AF 1.1-2.1', 'AF 1.1-2.2',
734 'AF 1.1-2.3', 'AF 1.1-2.4', 'AF 1.1-3.1', 'AF 1.1-3.2', 'AF 1.1-4.1', 'AF 1.1-4.2', 'AF 1.1-5') 772 'AF 1.1-2.3', 'AF 1.1-2.4', 'AF 1.1-3.1', 'AF 1.1-3.2', 'AF 1.1-4.1', 'AF 1.1-4.2', 'AF 1.1-5', 'AF 1.1-6')
735 else: 773 else:
736 header_line2 = ('variant ID', 'cvrg', 'AC alt (all tiers)', 'AF (all tiers)', 'cvrg (tiers 1.1-2.4)', 'AC alt (tiers 1.1-2.4)', 'AF (tiers 1.1-2.4)', 'AC alt (orginal DCS)', 'AF (original DCS)', 774 header_line2 = ('variant ID', 'cvrg', 'AC alt (all tiers)', 'AF (all tiers)', 'cvrg (tiers 1.1-2.4)', 'AC alt (tiers 1.1-2.4)', 'AF (tiers 1.1-2.4)', 'AC alt (orginal DCS)', 'AF (original DCS)',
737 'tier 1.1', 'tier 1.2', 'tier 2.1', 'tier 2.2', 'tier 2.3', 'tier 2.4', 775 'tier 1.1', 'tier 1.2', 'tier 2.1', 'tier 2.2', 'tier 2.3', 'tier 2.4',
738 'tier 3.1', 'tier 3.2', 'tier 4.1', 'tier 4.2', 'tier 5', 'AF 1.1-1.2', 'AF 1.1-2.1', 'AF 1.1-2.2', 776 'tier 3.1', 'tier 3.2', 'tier 4.1', 'tier 4.2', 'tier 5', 'tier 6', 'AF 1.1-1.2', 'AF 1.1-2.1', 'AF 1.1-2.2',
739 'AF 1.1-2.3', 'AF 1.1-2.4', 'AF 1.1-3.1', 'AF 1.1-3.2', 'AF 1.1-4.1', 'AF 1.1-4.2', 'AF 1.1-5') 777 'AF 1.1-2.3', 'AF 1.1-2.4', 'AF 1.1-3.1', 'AF 1.1-3.2', 'AF 1.1-4.1', 'AF 1.1-4.2', 'AF 1.1-5', 'AF 1.1-6')
740 778
741 ws2.write_row(0, 0, header_line2) 779 ws2.write_row(0, 0, header_line2)
742 row = 0 780 row = 0
743 781
744 for key1, value1 in sorted(tier_dict.items()): 782 for key1, value1 in sorted(tier_dict.items()):
797 835
798 # sheet 3 836 # sheet 3
799 sheet3 = [("tier 1.1", counter_tier11), ("tier 1.2", counter_tier12), ("tier 2.1", counter_tier21), 837 sheet3 = [("tier 1.1", counter_tier11), ("tier 1.2", counter_tier12), ("tier 2.1", counter_tier21),
800 ("tier 2.2", counter_tier22), ("tier 2.3", counter_tier23), ("tier 2.4", counter_tier24), 838 ("tier 2.2", counter_tier22), ("tier 2.3", counter_tier23), ("tier 2.4", counter_tier24),
801 ("tier 3.1", counter_tier31), ("tier 3.2", counter_tier32), ("tier 4.1", counter_tier41), 839 ("tier 3.1", counter_tier31), ("tier 3.2", counter_tier32), ("tier 4.1", counter_tier41),
802 ("tier 4.2", counter_tier42), ("tier 5", counter_tier5)] 840 ("tier 4.2", counter_tier42), ("tier 5", counter_tier5), ("tier 6", counter_tier6)]
803 841
804 header = ("tier", "count") 842 header = ("tier", "count")
805 ws3.write_row(0, 0, header) 843 ws3.write_row(0, 0, header)
806 844
807 for i in range(len(sheet3)): 845 for i in range(len(sheet3)):
817 ws3.conditional_format('A{}:B{}'.format(i + 2, i + 2), 855 ws3.conditional_format('A{}:B{}'.format(i + 2, i + 2),
818 {'type': 'formula', 856 {'type': 'formula',
819 'criteria': '=$A${}>="3"'.format(i + 2), 857 'criteria': '=$A${}>="3"'.format(i + 2),
820 'format': format2}) 858 'format': format2})
821 859
822 description_tiers = [("Tier 1.1", "both ab and ba SSCS present (>75% of the sites with alternative base) and minimal FS>=3 for both SSCS in at least one mate"), ("", ""), ("Tier 1.2", "both ab and ba SSCS present (>75% of the sites with alt. base) and mate pair validation (min. FS=1) and minimal FS>=3 for at least one of the SSCS"), ("Tier 2.1", "both ab and ba SSCS present (>75% of the sites with alt. base) and minimal FS>=3 for at least one of the SSCS in at least one mate"), ("Tier 2.2", "both ab and ba SSCS present (>75% of the sites with alt. base) and mate pair validation (min. FS=1)"), ("Tier 2.3", "both ab and ba SSCS present (>75% of the sites with alt. base) and minimal FS=1 for both SSCS in one mate and minimal FS>=3 for at least one of the SSCS in the other mate"), ("Tier 2.4", "both ab and ba SSCS present (>75% of the sites with alt. base) and minimal FS=1 for both SSCS in at least one mate"), ("Tier 3.1", "both ab and ba SSCS present (>50% of the sites with alt. base) and recurring mutation on this position"), ("Tier 3.2", "both ab and ba SSCS present (>50% of the sites with alt. base) and minimal FS>=1 for both SSCS in at least one mate"), ("Tier 4.1", "variants at the start or end of the reads"), ("Tier 4.2", "mates with contradictory information"), ("Tier 5", "remaining variants")] 860 description_tiers = [("Tier 1.1", "both ab and ba SSCS present (>75% of the sites with alternative base) and minimal FS>=3 for both SSCS in at least one mate"), ("", ""),
861 ("Tier 1.2", "both ab and ba SSCS present (>75% of the sites with alt. base) and mate pair validation (min. FS=1) and minimal FS>=3 for at least one of the SSCS"),
862 ("Tier 2.1", "both ab and ba SSCS present (>75% of the sites with alt. base) and minimal FS>=3 for at least one of the SSCS in at least one mate"),
863 ("Tier 2.2", "both ab and ba SSCS present (>75% of the sites with alt. base) and mate pair validation (min. FS=1)"),
864 ("Tier 2.3", "both ab and ba SSCS present (>75% of the sites with alt. base) and minimal FS=1 for both SSCS in one mate and minimal FS>=3 for at least one of the SSCS in the other mate"),
865 ("Tier 2.4", "both ab and ba SSCS present (>75% of the sites with alt. base) and minimal FS=1 for both SSCS in at least one mate"),
866 ("Tier 3.1", "both ab and ba SSCS present (>50% of the sites with alt. base) and recurring mutation on this position"),
867 ("Tier 3.2", "both ab and ba SSCS present (>50% of the sites with alt. base) and minimal FS>=1 for both SSCS in at least one mate"),
868 ("Tier 4.1", "variants at the start of the reads"),
869 ("Tier 4.2", "variants at the end of the reads"),
870 ("Tier 5", "mates with contradictory information"),
871 ("Tier 6", "remaining variants")]
823 examples_tiers = [[("Chr5:5-20000-11068-C-G", "1.1", "AAAAAGATGCCGACTACCTT", "ab1.ba2", "254", "228", "287", "288", "289", 872 examples_tiers = [[("Chr5:5-20000-11068-C-G", "1.1", "AAAAAGATGCCGACTACCTT", "ab1.ba2", "254", "228", "287", "288", "289",
824 "3", "6", "3", "6", "0", "0", "3", "6", "0", "0", "1", "1", "0", "0", "0", "0", "0", "0", 873 "3", "6", "3", "6", "0", "0", "3", "6", "0", "0", "1", "1", "0", "0", "0", "0", "0", "0",
825 "4081", "4098", "5", "10", "", ""), 874 "4081", "4098", "5", "10", "", ""),
826 ("", "", "AAAAAGATGCCGACTACCTT", "ab2.ba1", None, None, None, None, 875 ("", "", "AAAAAGATGCCGACTACCTT", "ab2.ba1", None, None, None, None,
827 "289", "0", "0", "0", "0", "0", "0", "0", "0", None, None, None, None, 876 "289", "0", "0", "0", "0", "0", "0", "0", "0", None, None, None, None,
872 "2", "3", "2", "3", "0", "1", "2", "2", "0", "0.333333333333333", "1", 921 "2", "3", "2", "3", "0", "1", "2", "2", "0", "0.333333333333333", "1",
873 "0.666666666666667", "0", "0", "0", "0", "0", "0", "1", "1", "6584", "6482", "", ""), 922 "0.666666666666667", "0", "0", "0", "0", "0", "0", "1", "1", "6584", "6482", "", ""),
874 ("", "", "ACAACATCACGTATTCAGGT", "ab2.ba1", "35", "35", "240", "258", "271", 923 ("", "", "ACAACATCACGTATTCAGGT", "ab2.ba1", "35", "35", "240", "258", "271",
875 "2", "3", "2", "3", "0", "1", "2", "2", "0", "0.333333333333333", "1", 924 "2", "3", "2", "3", "0", "1", "2", "2", "0", "0.333333333333333", "1",
876 "0.666666666666667", "0", "0", "0", "0", "0", "0", "1", "1", "6584", "6482", "", "")], 925 "0.666666666666667", "0", "0", "0", "0", "0", "0", "1", "1", "6584", "6482", "", "")],
877 [("Chr5:5-20000-13983-G-C", "4.1", "AAAAAAAGAATAACCCACAC", "ab1.ba2", "0", "100", "255", "276", "269", 926 [("Chr5:5-20000-13983-G-C", "4.1", "AAAAAAAGAATAACCCACAC", "ab1.ba2", "1", "5", "255", "276", "269",
878 "5", "6", "0", "6", "0", "0", "5", "6", "0", "0", "0", "1", "0", "0", "0", "0", "5", "0", "1", "1", "5348", "5350", "", ""), 927 "5", "6", "0", "6", "0", "0", "5", "6", "0", "0", "0", "1", "0", "0", "0", "0", "5", "0", "1", "1", "5348", "5350", "", ""),
879 ("", "", "AAAAAAAGAATAACCCACAC", "ab2.ba1", None, None, None, None, 928 ("", "", "AAAAAAAGAATAACCCACAC", "ab2.ba1", None, None, None, None,
880 "269", "0", "0", "0", "0", "0", "0", "0", "0", None, None, None, None, "0", 929 "269", "0", "0", "0", "0", "0", "0", "0", "0", None, None, None, None, "0",
881 "0", "0", "0", "0", "0", "1", "1", "5348", "5350", "", "")], 930 "0", "0", "0", "0", "0", "1", "1", "5348", "5350", "", "")],
882 [("Chr5:5-20000-13963-T-C", "4.2", "TTTTTAAGAATAACCCACAC", "ab1.ba2", "38", "38", "240", "283", "263", 931 [("Chr5:5-20000-13983-G-C", "4.2", "AAAAAAAGAATAACCCACAC", "ab1.ba2", "250", "270", "255", "276", "269",
932 "5", "6", "0", "6", "0", "0", "5", "6", "0", "0", "0", "1", "0", "0", "0", "0", "5", "0", "1", "1", "5348", "5350", "", ""),
933 ("", "", "AAAAAAAGAATAACCCACAC", "ab2.ba1", None, None, None, None,
934 "269", "0", "0", "0", "0", "0", "0", "0", "0", None, None, None, None, "0",
935 "0", "0", "0", "0", "0", "1", "1", "5348", "5350", "", "")],
936 [("Chr5:5-20000-13963-T-C", "5", "TTTTTAAGAATAACCCACAC", "ab1.ba2", "38", "38", "240", "283", "263",
883 "110", "54", "110", "54", "0", "0", "110", "54", "0", "0", "1", "1", "0", "0", "0", 937 "110", "54", "110", "54", "0", "0", "110", "54", "0", "0", "1", "1", "0", "0", "0",
884 "0", "0", "0", "1", "1", "5348", "5350", "", ""), 938 "0", "0", "0", "1", "1", "5348", "5350", "", ""),
885 ("", "", "TTTTTAAGAATAACCCACAC", "ab2.ba1", "100", "112", "140", "145", "263", 939 ("", "", "TTTTTAAGAATAACCCACAC", "ab2.ba1", "100", "112", "140", "145", "263",
886 "7", "12", "7", "12", "7", "12", "0", "0", "1", "1", "0", 940 "7", "12", "7", "12", "7", "12", "0", "0", "1", "1", "0",
887 "0", "0", "0", "0", "0", "0", "0", "1", "1", "5348", "5350", "", "")], 941 "0", "0", "0", "0", "0", "0", "0", "1", "1", "5348", "5350", "", "")],
888 [("Chr5:5-20000-13983-G-C", "5", "ATGTTGTGAATAACCCACAC", "ab1.ba2", None, "186", None, "276", "269", 942 [("Chr5:5-20000-13983-G-C", "6", "ATGTTGTGAATAACCCACAC", "ab1.ba2", None, "186", None, "276", "269",
889 "0", "6", "0", "6", "0", "0", "0", "6", "0", "0", "0", "1", "0", "0", "0", "0", "0", 943 "0", "6", "0", "6", "0", "0", "0", "6", "0", "0", "0", "1", "0", "0", "0", "0", "0",
890 "0", "1", "1", "5348", "5350", "", ""), 944 "0", "1", "1", "5348", "5350", "", ""),
891 ("", "", "ATGTTGTGAATAACCCACAC", "ab2.ba1", None, None, None, None, 945 ("", "", "ATGTTGTGAATAACCCACAC", "ab2.ba1", None, None, None, None,
892 "269", "0", "0", "0", "0", "0", "0", "0", "0", None, None, None, None, "0", 946 "269", "0", "0", "0", "0", "0", "0", "0", "0", None, None, None, None, "0",
893 "0", "0", "0", "0", "0", "1", "1", "5348", "5350", "", "")]] 947 "0", "0", "0", "0", "0", "1", "1", "5348", "5350", "", "")]]