def test_primers(): '''Test primers function.''' seq = 'ATGGTGAGCAAGGGCGAGGAGCTGTTCACCGGGGTGGTGCCCATCCTGGTCGAGCTGGACGGC' + \ 'GACGTAAACGGCCACAAGTTCAGCGTGTCCGGCGAGGGCGAGGGCGATGCCACCTACGGCAAG' + \ 'CTGACCCTGAAGTTCATCTGCACCACCGGCAAGCTGCCCGTGCCCTGGCCCACCCTCGTGACC' + \ 'ACCTTCGGCTACGGCCTGCAGTGCTTCGCCCGCTACCCCGACCACATGAAGCAGCACGACTTC' + \ 'TTCAAGTCCGCCATGCCCGAAGGCTACGTCCAGGAGCGCACCATCTTCTTCAAGGACGACGGC' + \ 'AACTACAAGACCCGCGCCGAGGTGAAGTTCGAGGGCGACACCCTGGTGAACCGCATCGAGCTG' + \ 'AAGGGCATCGACTTCAAGGAGGACGGCAACATCCTGGGGCACAAGCTGGAGTACAACTACAAC' + \ 'AGCCACAACGTCTATATCATGGCCGACAAGCAGAAGAACGGCATCAAGGTGAACTTCAAGATC' + \ 'CGCCACAACATCGAGGACGGCAGCGTGCAGCTCGCCGACCACTACCAGCAGAACACCCCCATC' + \ 'GGCGACGGCCCCGTGCTGCTGCCCGACAACCACTACCTGAGCTACCAGTCCGCCCTGAGCAAA' + \ 'GACCCCAACGAGAAGCGCGATCACATGGTCCTGCTGGAGTTCGTGACCGCCGCCGGGATCACT' + \ 'CTCGGCATGGACGAGCTGTACAAGTAA' dna_seq = DNA(seq) primers_list = design.primers(dna_seq, tm=72, min_len=10, tm_undershoot=1, tm_overshoot=3, end_gc=False, tm_parameters='cloning', overhangs=None) primers = [str(x.primer()) for x in primers_list] assert_equals(primers, ['ATGGTGAGCAAGGGCGAGGAG', 'TTACTTGTACAGCTCGTCCATGCCG'])
def test_basic(): to_amplify = 'atgtctaaaggtgaagaattattcactggtgttgtcccaatgctgctggtattacc' + \ 'catggtattgatgaattgtacaaatag' template = DNA(to_amplify) forward, reverse = design.primers(template) amplicon = reaction.pcr(template, forward, reverse) assert_equal(amplicon, template)
def test_primer_bind_error(): to_amplify = 'atgtctaaaggtgaagaattattcactggtgttgtcccaatgctgctggtattacc' + \ 'catggtattgatgaattgtacaaatag' template = DNA(to_amplify) primer1, primer2 = design.primers(template) # Mess up the second primer so it doesn't bind primer2.anneal[0:10] = "AAAAAAAAAA" assert_raises(reaction._pcr.PrimerBindError, reaction.pcr, template, primer1, primer2)