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: