comparison overlapping_reads.py @ 7:07771982ef9b draft

planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/small_rna_signatures commit 7276b6b73aef7af4058ad2c1e34c4557e9cccbe0
author artbio
date Sun, 10 Sep 2017 13:50:40 -0400
parents 4da23f009c9e
children 8d3ca9652a5b
comparison
equal deleted inserted replaced
6:4da23f009c9e 7:07771982ef9b
86 return all_query_positions 86 return all_query_positions
87 87
88 def countpairs(self, uppers, lowers): 88 def countpairs(self, uppers, lowers):
89 query_range = self.query_range 89 query_range = self.query_range
90 target_range = self.target_range 90 target_range = self.target_range
91 uppers = [seq for seq in uppers if (len(seq) in query_range or len(seq) in target_range)] 91 uppers = [seq for seq in uppers if (len(seq) in query_range or len(seq)
92 in target_range)]
93 print(uppers)
92 uppers_expanded = [] 94 uppers_expanded = []
93 for seq in uppers: 95 for seq in uppers:
94 expand = [seq for i in range(self.readdic[seq])] 96 expand = [seq for i in range(self.readdic[seq])]
95 uppers_expanded.extend(expand) 97 uppers_expanded.extend(expand)
98 print(uppers_expanded)
96 uppers = uppers_expanded 99 uppers = uppers_expanded
97 lowers = [seq for seq in lowers if (len(seq) in query_range or len(seq) in target_range)] 100 lowers = [seq for seq in lowers if (len(seq) in query_range or len(seq)
101 in target_range)]
98 lowers_expanded = [] 102 lowers_expanded = []
99 for seq in lowers: 103 for seq in lowers:
100 expand = [seq for i in range(self.readdic[seq])] 104 expand = [seq for i in range(self.readdic[seq])]
101 lowers_expanded.extend(expand) 105 lowers_expanded.extend(expand)
102 lowers = lowers_expanded 106 lowers = lowers_expanded
117 target_range = self.target_range 121 target_range = self.target_range
118 overlap = self.overlap 122 overlap = self.overlap
119 stringresult = [] 123 stringresult = []
120 header_template = '>%s|coord=%s|strand %s|size=%s|nreads=%s\n%s\n' 124 header_template = '>%s|coord=%s|strand %s|size=%s|nreads=%s\n%s\n'
121 total_pairs = 0 125 total_pairs = 0
122 print ('Chromosome\tNbre of pairs') 126 print('Chromosome\tNbre of pairs')
123 for chrom in sorted(self.chromosomes): 127 for chrom in sorted(self.chromosomes):
124 number_pairs = 0 128 number_pairs = 0
125 for pos in self.all_query_positions[chrom]: 129 for pos in self.all_query_positions[chrom]:
126 stringbuffer = [] 130 stringbuffer = []
127 uppers = self.alignement_dic[chrom, pos, 'F'] 131 uppers = self.alignement_dic[chrom, pos, 'F']
144 (chrom, pos+overlap-len(downread)+1, '-', 148 (chrom, pos+overlap-len(downread)+1, '-',
145 len(downread), self.readdic[downread], 149 len(downread), self.readdic[downread],
146 self.revcomp(downread))) 150 self.revcomp(downread)))
147 stringresult.extend(sorted(set(stringbuffer))) 151 stringresult.extend(sorted(set(stringbuffer)))
148 print('%s\t%s' % (chrom, number_pairs)) 152 print('%s\t%s' % (chrom, number_pairs))
149 print('Total nbre of pairs that can be simultaneously formed\t%s' % total_pairs) 153 print('Total nbre of pairs that can be simultaneously formed\t%s'
154 % total_pairs)
150 F.write(''.join(stringresult)) 155 F.write(''.join(stringresult))
151 156
152 def revcomp(self, sequence): 157 def revcomp(self, sequence):
153 antidict = {"A": "T", "T": "A", "G": "C", "C": "G", "N": "N"} 158 antidict = {"A": "T", "T": "A", "G": "C", "C": "G", "N": "N"}
154 revseq = sequence[::-1] 159 revseq = sequence[::-1]