Example #1
0
  def test_realign_read(self, read_seq, target_seq, expected_align_start,
                        expected_cigar, comment):
    """Test Aligner.test_align_read_to_target()."""
    read = aligner.Read(
        test_utils.make_read(
            read_seq,
            chrom='ref',
            start=0,
            cigar=[(len(read_seq), 'M')],
            quals=[64] * len(read_seq),
            name='read'))
    align_reads = self.make_test_aligner(ref_seq=target_seq)
    align_reads.set_targets([target_seq])

    align_reads.realign_read(read)

    if expected_align_start:
      self.assertEqual(align_reads.targets[0], read.target, comment)
      self.assertEqual(expected_align_start,
                       read.target_offset + read.alignment.target_begin,
                       comment)
      self.assertEqual(expected_cigar, read.alignment.cigar, comment)
    else:
      self.assertIsNone(read.target, comment)
      self.assertIsNone(read.target_offset, comment)
      self.assertIsNone(read.alignment, comment)
Example #2
0
 def test_sw_start_offsets(self):
   """Test Aligner._sw_start_offsets()."""
   k = 3
   read = aligner.Read(
       test_utils.make_read(
           'AaGAt', start=0, cigar=[(5, 'M')], quals=[64] * 5, name='read_1'))
   read.set_read_kmers(k)
   target = aligner.Target('TgATCAGATAAG')
   target.build_target_index(k)
   self.assertEqual([-1, 4, 9],
                    aligner._sw_start_offsets(target.kmer_index, read.kmers))