Mercurial > repos > mheinzl > variant_analyzer2
comparison mut2read.py @ 11:84a1a3f70407 draft
planemo upload for repository https://github.com/Single-Molecule-Genetics/VariantAnalyzerGalaxy/tree/master/tools/variant_analyzer commit ee4a8e6cf290e6c8a4d55f9cd2839d60ab3b11c8
| author | mheinzl |
|---|---|
| date | Mon, 15 Feb 2021 21:53:24 +0000 |
| parents | e18c5293aac7 |
| children | d21960b45a6b |
comparison
equal
deleted
inserted
replaced
| 10:e18c5293aac7 | 11:84a1a3f70407 |
|---|---|
| 9 all tags of reads that carry the mutation to a user specified output file. | 9 all tags of reads that carry the mutation to a user specified output file. |
| 10 Creates fastq file of reads of tags with mutation. | 10 Creates fastq file of reads of tags with mutation. |
| 11 | 11 |
| 12 ======= ========== ================= ================================ | 12 ======= ========== ================= ================================ |
| 13 Version Date Author Description | 13 Version Date Author Description |
| 14 0.2.1 2019-10-27 Gundula Povysil - | 14 2.0.0 2020-10-30 Gundula Povysil - |
| 15 ======= ========== ================= ================================ | 15 ======= ========== ================= ================================ |
| 16 | 16 |
| 17 USAGE: python mut2read.py DCS_Mutations.tabular DCS.bam Aligned_Families.tabular Interesting_Reads.fastq tag_count_dict.json | 17 USAGE: python mut2read.py DCS_Mutations.tabular DCS.bam Aligned_Families.tabular Interesting_Reads.fastq tag_count_dict.json |
| 18 """ | 18 """ |
| 19 | 19 |
| 60 | 60 |
| 61 if os.path.isfile(file3) is False: | 61 if os.path.isfile(file3) is False: |
| 62 sys.exit("Error: Could not find '{}'".format(file3)) | 62 sys.exit("Error: Could not find '{}'".format(file3)) |
| 63 | 63 |
| 64 # read dcs bam file | 64 # read dcs bam file |
| 65 # pysam.index(file2) | |
| 66 bam = pysam.AlignmentFile(file2, "rb") | 65 bam = pysam.AlignmentFile(file2, "rb") |
| 67 | 66 |
| 68 # get tags | 67 # get tags |
| 69 tag_dict = {} | 68 tag_dict = {} |
| 70 cvrg_dict = {} | 69 cvrg_dict = {} |
| 72 for variant in VCF(file1): | 71 for variant in VCF(file1): |
| 73 chrom = variant.CHROM | 72 chrom = variant.CHROM |
| 74 stop_pos = variant.start | 73 stop_pos = variant.start |
| 75 #chrom_stop_pos = str(chrom) + "#" + str(stop_pos) | 74 #chrom_stop_pos = str(chrom) + "#" + str(stop_pos) |
| 76 ref = variant.REF | 75 ref = variant.REF |
| 77 if len(variant.ALT) == 0: | 76 alt = variant.ALT[0] |
| 78 continue | |
| 79 else: | |
| 80 alt = variant.ALT[0] | |
| 81 print(alt) | |
| 82 chrom_stop_pos = str(chrom) + "#" + str(stop_pos) + "#" + ref + "#" + alt | 77 chrom_stop_pos = str(chrom) + "#" + str(stop_pos) + "#" + ref + "#" + alt |
| 83 | |
| 84 | |
| 85 dcs_len = [] | 78 dcs_len = [] |
| 86 if len(ref) == len(alt): | 79 if len(ref) == len(alt): |
| 87 for pileupcolumn in bam.pileup(chrom, stop_pos - 1, stop_pos + 1, max_depth=100000000): | 80 for pileupcolumn in bam.pileup(chrom, stop_pos - 1, stop_pos + 1, max_depth=100000000): |
| 88 if pileupcolumn.reference_pos == stop_pos: | 81 if pileupcolumn.reference_pos == stop_pos: |
| 89 count_alt = 0 | 82 count_alt = 0 |
| 150 out.write(curr_qual + "\n") | 143 out.write(curr_qual + "\n") |
| 151 | 144 |
| 152 | 145 |
| 153 if __name__ == '__main__': | 146 if __name__ == '__main__': |
| 154 sys.exit(mut2read(sys.argv)) | 147 sys.exit(mut2read(sys.argv)) |
| 155 |
