Mercurial > repos > artbio > small_rna_maps
comparison small_rna_maps.py @ 1:40972a8dfab9 draft
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_maps commit ad60e6655aabe30246043d95f14646b2527c9255
author | artbio |
---|---|
date | Mon, 24 Jul 2017 12:31:04 -0400 |
parents | 6d48150495e3 |
children | 507383cce5a8 |
comparison
equal
deleted
inserted
replaced
0:6d48150495e3 | 1:40972a8dfab9 |
---|---|
49 for read in bam_object.fetch(chrom): | 49 for read in bam_object.fetch(chrom): |
50 positions = read.positions # a list of covered positions | 50 positions = read.positions # a list of covered positions |
51 for pos in positions: | 51 for pos in positions: |
52 if not map_dictionary[(chrom, pos+1, 'F')]: | 52 if not map_dictionary[(chrom, pos+1, 'F')]: |
53 map_dictionary[(chrom, pos+1, 'F')] = [] | 53 map_dictionary[(chrom, pos+1, 'F')] = [] |
54 if not map_dictionary[(chrom, pos+1, 'R')]: | |
55 map_dictionary[(chrom, pos+1, 'R')] = [] | |
56 if read.is_reverse: | 54 if read.is_reverse: |
57 map_dictionary[(chrom, positions[-1]+1, | 55 map_dictionary[(chrom, positions[-1]+1, |
58 'R')].append(read.query_alignment_length) | 56 'R')].append(read.query_alignment_length) |
59 else: | 57 else: |
60 map_dictionary[(chrom, positions[0]+1, | 58 map_dictionary[(chrom, positions[0]+1, |
111 ''' | 109 ''' |
112 coverage_dictionary = dict() | 110 coverage_dictionary = dict() |
113 for chrom in self.chromosomes: | 111 for chrom in self.chromosomes: |
114 coverage_dictionary[(chrom, 1, 'F')] = 0 | 112 coverage_dictionary[(chrom, 1, 'F')] = 0 |
115 coverage_dictionary[(chrom, self.chromosomes[chrom], 'F')] = 0 | 113 coverage_dictionary[(chrom, self.chromosomes[chrom], 'F')] = 0 |
116 | |
117 for key in map_dictionary: | 114 for key in map_dictionary: |
118 coverage = self.bam_object.count_coverage( | 115 coverage = self.bam_object.count_coverage( |
119 reference=key[0], | 116 reference=key[0], |
120 start=key[1]-1, | 117 start=key[1]-1, |
121 end=key[1], | 118 end=key[1], |
130 ''' | 127 ''' |
131 Takes a map_dictionary and returns a dictionary of sizes: | 128 Takes a map_dictionary and returns a dictionary of sizes: |
132 {chrom: {polarity: {size: nbre of reads}}} | 129 {chrom: {polarity: {size: nbre of reads}}} |
133 ''' | 130 ''' |
134 size_dictionary = defaultdict(lambda: defaultdict( | 131 size_dictionary = defaultdict(lambda: defaultdict( |
135 lambda: defaultdict( int ))) | 132 lambda: defaultdict(int))) |
136 # to track empty chromosomes | 133 # to track empty chromosomes |
137 for chrom in self.chromosomes: | 134 for chrom in self.chromosomes: |
138 if self.bam_object.count(chrom) == 0: | 135 if self.bam_object.count(chrom) == 0: |
139 size_dictionary[chrom]['F'][10] = 0 | 136 size_dictionary[chrom]['F'][10] = 0 |
140 for key in map_dictionary: | 137 for key in map_dictionary: |