Ejemplo n.º 1
0
    def get_closest_reverse_read(self, read):

        closest_reverse_read = None
        if read.query_name.split('_')[-1] == '1':
            positions = sorted(list(self.reverse_reads_mate2_positions[read.reference_name].keys()))
            closest_pos = misc.takeClosestLarger(positions, read.reference_start)
            if closest_pos is not None:
                closest_reverse_read = self.reverse_reads_mate2_positions[read.reference_name][closest_pos]
        else:
            positions = sorted(list(self.reverse_reads_mate1_positions[read.reference_name].keys()))
            closest_pos = misc.takeClosestLarger(positions, read.reference_start)
            if closest_pos is not None:
                closest_reverse_read = self.reverse_reads_mate1_positions[read.reference_name][closest_pos]

        return closest_reverse_read
Ejemplo n.º 2
0
 def has_nearby_5p_mate(self, pos, positions):
     closest_5p = misc.takeClosestLarger(positions, pos)
     if closest_5p is None:
         return False
     if closest_5p - pos <= self.min_distance_to_mate:
         return True
     else:
         return False