Ejemplo n.º 1
0
 def convert(self):
     seg_num = self.segments.num
     
     process_num = self.process_num
     
     if process_num > seg_num:
         process_num = seg_num
     
     pool = Pool(processes = process_num)
     
     args_list = []
     
     for j in range(0, seg_num):
         seg_name = self.segments[j][0]
         chrom = self.segments[j][1]
         start = self.segments[j][2]
         end = self.segments[j][3]
         
         args_tuple = (seg_name, chrom, start, end, self.normal_bam_filename,
                       self.tumor_bam_filename, self.reference_genome_filename,
                       self.min_depth, self.min_bqual, self.min_mqual)
         
         args_list.append(args_tuple)
         
     counts_tuple_list = pool.map(process_by_segment, args_list)
     
     paired_counts = []
     BAF_counts = []
     
     for counts_tuple_j in counts_tuple_list:
         paired_counts_j, BAF_counts_j = counts_tuple_j
         paired_counts.append(paired_counts_j)
         BAF_counts.append(BAF_counts_j)
     
     BAF_heatmap = BAFHeatMap(BAF_counts)
     BAF_heatmap.write_heatmap(self.filename_base)
     
     data = Data(self.segments, paired_counts)
     data.tumor_LOH_test(self.WES_flag)
     data.write_data(self.filename_base)