Example #1
0
 def check_overlaps(chr1, start1, end1, chr2, start2, end2, expected):
   nbp = end1 - start1
   read = test_utils.make_read(
       'A' * nbp, chrom=chr1, start=start1, cigar='{}M'.format(nbp))
   region = ranges.make_range(chr2, start2, end2)
   self.assertEqual(utils.read_overlaps_region(read, region), expected)
   # This check ensures we get the same result calling ranges.ranges_overlap.
   self.assertEqual(
       ranges.ranges_overlap(region, utils.read_range(read)), expected)
Example #2
0
    def query(self, region):
        """Returns an iterator for going through the reads in the region.

    Args:
      region: nucleus.genomics.v1.Range. The query region.

    Returns:
      An iterator over nucleus.genomics.v1.Read protos.
    """
        # TODO(b/37353140): Add a faster query version for sorted reads.
        return (read for read in self.reads
                if ranges.ranges_overlap(region, utils.read_range(read)))
Example #3
0
    def query(self, region):
        """Iterate over records overlapping a query region.

    Args:
      region: third_party.nucleus.protos.Range, query region.

    Returns:
      An iterator over third_party.nucleus.protos.Read
    """
        # redacted
        return (read for read in self.reads
                if ranges.ranges_overlap(region, read_range(read)))
Example #4
0
  def query(self, region):
    """Iterate over records overlapping a query region.

    Args:
      region: nucleus.genomics.v1.Range, the query region.

    Returns:
      An iterator over nucleus.genomics.v1.Read's.
    """
    # TODO(b/37353140): Add a faster query version for sorted reads.
    return (read for read in self.reads
            if ranges.ranges_overlap(region, utils.read_range(read)))
Example #5
0
def variants_overlap(variant1, variant2):
  """Returns True if the range of variant1 and variant2 overlap.

  This is equivalent to:

    ranges_overlap(variant_range(variant1), variant_range(variant2))

  Args:
    variant1: nucleus.genomics.v1.Variant we want to compare for overlap.
    variant2: nucleus.genomics.v1.Variant we want to compare for overlap.

  Returns:
    True if the variants overlap, False otherwise.
  """
  return ranges.ranges_overlap(variant_range(variant1), variant_range(variant2))
Example #6
0
 def query(self, region):
     return iter(variant for variant in self.variants
                 if ranges.ranges_overlap(
                     variant_utils.variant_range(variant), region))
Example #7
0
 def check_overlaps(chr1, start1, end1, chr2, start2, end2, expected):
     i1 = ranges.make_range(chr1, start1, end1)
     i2 = ranges.make_range(chr2, start2, end2)
     self.assertEqual(ranges.ranges_overlap(i1, i2), expected)
     self.assertEqual(ranges.ranges_overlap(i2, i1), expected)