Ejemplo n.º 1
0
 def test_pairwise_returns_score(self):
     """exercise pairwise local/global returns alignment score"""
     S = make_dna_scoring_dict(10, -1, -8)
     aln, score = local_pairwise(seq1, seq2, S, 10, 2, return_score=True)
     self.assertTrue(score > 100)
     aln, score = global_pairwise(seq1, seq2, S, 10, 2, return_score=True)
     self.assertTrue(score > 100)
Ejemplo n.º 2
0
 def test_local_tiebreak(self):
     """Should pick the first best-equal hit rather than the last one"""
     # so that the Pyrex and Python versions give the same result.
     score_matrix = make_dna_scoring_dict(match=1,
                                          transition=-1,
                                          transversion=-1)
     pattern = DNA.make_seq("cwc", name="pattern")
     two_hit = DNA.make_seq("cactc", name="target")
     aln = local_pairwise(pattern, two_hit, score_matrix, 5, 2)
     hit = aln.named_seqs["target"]
     self.assertEqual(str(hit).lower(), "cac")
Ejemplo n.º 3
0
def test(r=1, **kw):
    S = make_dna_scoring_dict(10, -1, -8)

    seq2 = DNA.make_seq("AAAATGCTTA" * r)
    seq1 = DNA.make_seq("AATTTTGCTG" * r)

    t0 = time.clock()
    try:
        # return_alignment is False in order to emphasise the quadratic part of
        # the work.
        aln = classic_align_pairwise(seq1,
                                     seq2,
                                     S,
                                     10,
                                     2,
                                     local=False,
                                     return_alignment=False,
                                     **kw)
    except ArithmeticError:
        return "*"
    else:
        t = time.clock() - t0
        return int((len(seq1) * len(seq2)) / t / 1000)
Ejemplo n.º 4
0
 def _aligned_both_ways(self, seq1, seq2, **kw):
     S = make_dna_scoring_dict(10, -1, -8)
     a1 = classic_align_pairwise(seq1, seq2, S, 10, 2, **kw)
     a2 = classic_align_pairwise(seq2, seq1, S, 10, 2, **kw)
     return [a1, a2]