def simplify_alleles(variant):
    """Replaces the alleles in variants with their simplified versions.

  This function takes a variant and replaces its ref and alt alleles with those
  produced by a call to variantutils.simplify_alleles() to remove common postfix
  bases in the alleles that may be present due to pruning away alleles.

  Args:
    variant: learning.genomics.genomics.Variant proto we want to simplify.

  Returns:
    variant with its ref and alt alleles replaced with their simplified
      equivalents.
  """
    simplified_alleles = variantutils.simplify_alleles(
        variant.reference_bases, *variant.alternate_bases)
    variant.reference_bases = simplified_alleles[0]
    variant.alternate_bases[:] = simplified_alleles[1:]
    return variant
 def test_simplify_alleles(self, alleles, expected):
     self.assertEqual(variantutils.simplify_alleles(*alleles),
                      tuple(expected))
     self.assertEqual(variantutils.simplify_alleles(*reversed(alleles)),
                      tuple(reversed(expected)))
Exemple #3
0
 def _simplify_alleles(variant, alleles):
   return [
       variantutils.simplify_alleles(variant.reference_bases, allele)
       for allele in alleles
       if allele != variant.reference_bases
   ]