コード例 #1
0
def test_primer_Design_given_both_primers():
    b = Dseqrecord(
        "agctactgactattaggggttattctgatcatctgatctactatctgactgtactgatcta")
    with pytest.raises(ValueError):
        primer_design(b,
                      fp=Primer("agctactgactattag"),
                      rp=Primer("tagatcagtacagtca"))
コード例 #2
0
def test_primer_Design_with_linker():
    ''' test_primer_design'''

    b = Dseqrecord(
        "agctactgactattaggggttattctgatcatctgatctactatctgactgtactgatcta")
    l = Dseqrecord("AAATTTCCCGGG")
    c = Dseqrecord(
        "tctgatctactatctgactgtactgatctattgacactgtgatcattctagtgtattactc")

    frags = assembly_fragments((primer_design(b), l, primer_design(c)))

    asm1 = Assembly(frags)

    assert asm1.assemble_linear()[0].seguid(), (
        b + l + c).seguid() == 'l95igKB8iKAKrvvqE9CYksyNx40'

    frags = assembly_fragments(
        (primer_design(b), l, primer_design(c), primer_design(b)))

    b2 = pcr(frags[-1].forward_primer, frags[0].reverse_primer, b)

    asm2 = Assembly((b2, frags[1], frags[2]))

    assert (b + l +
            c).looped().cseguid() == asm2.assemble_circular()[0].cseguid()

    assert (b + l + c).looped().cseguid() == 'jdHXfQI5k4Sk2ESiZYfKv4oP2FI'
コード例 #3
0
ファイル: test_module_design.py プロジェクト: joskid/pydna
def test_primer_design_same_first_and_third_Dseqrecord():
    from pydna.dseqrecord import Dseqrecord

    x = [primer_design(f) for f in frags]
    y = assembly_fragments([frags[0], x[1], frags[0]], 20)
    z = Assembly(y, limit=20)
    result = z.assemble_circular()[0]
    assert result.cseguid() == (frags[0] + frags[1]).looped().cseguid()

    a = Dseqrecord("ccaaggacacaatcgagctccgatccgtactgtcgagaaacttgtatcc",
                   name="a")
    b = Dseqrecord(
        "ctgtcgagaaacttgtatccctctaactagtatggatagccgtgtcttcactgtgctgcggctacccatcccaaggacacaatcgagctc",
        name="b",
    )

    z = Assembly((a, b, a), limit=20)

    result = z.assemble_linear()[0]
    assert (
        str(result.seq) ==
        "ccaaggacacaatcgagctccgatccgtactgtcgagaaacttgtatccctctaactagtatggatagccgtgtcttcactgtgctgcggctacccatcccaaggacacaatcgagctccgatccgtactgtcgagaaacttgtatcc"
    )
    result = z.assemble_circular()[0]
    assert result.cseguid() == (frags[0] + frags[1]).looped().cseguid()
コード例 #4
0
def test_primer_design_four_fragments():
    x = [primer_design(f) for f in frags]
    fourth = Dseqrecord("TAAAAATAAAATTGTTGACAGCAGAAGTGATATAGAAATTTGTTAATTATTA")
    y = assembly_fragments(x + [fourth], 20)
    z = Assembly(y, limit=20)
    result = z.assemble_linear()[0]
    assert result.seq == (frags[0] + frags[1] + frags[2] + fourth).seq
コード例 #5
0
def test_primer_Design_multiple_products():
    b = Dseqrecord(
        "agctactgactattaggggttaagctactgactattaggggtttctgatcatctgatctactatctgactgtactgatcta"
    )
    from pydna import _PydnaWarning
    with pytest.warns(_PydnaWarning):
        a = primer_design(b)
コード例 #6
0
def test_cut_feat():
    from pydna.readers       import read
    from pydna.amplify       import pcr
    
    from pydna.design        import primer_design
    from pydna.dseqrecord    import Dseqrecord
    
    from Bio.Restriction import EcoRI
    
    puc19 = read('pUC19_MarkBudde.gb')
    assert len(puc19.features) == 19
    puc_lin = puc19[:]
    assert len(puc_lin.features) == 19
    ampl = primer_design(puc_lin)
    pf, pr = ampl.forward_primer, ampl.reverse_primer
    pcrProd = pcr(pf, pr, puc19)
    assert len(pcrProd.features) == 21
    assert len(pcrProd.cut(EcoRI)[1].features) == 16

    def amplicon_to_dseqrecord(a):
        d = Dseqrecord(a.seq)
        d.features = a.features
        return d

    pcrProdDseqrecord = amplicon_to_dseqrecord(pcrProd)
    assert len(pcrProdDseqrecord.cut(EcoRI)[1].features) == 16
コード例 #7
0
def test_circular_assembly_fragments2():
    x = [primer_design(f) for f in frags]
    y = circular_assembly_fragments((frags[0], x[1], x[2]), 20)
    z = Assembly(y, limit=20)
    result = z.assemble_circular()[0]
    assert str(
        result.seq
    ) == "ccaaggacacaatcgagctccgatccgtactgtcgagaaacttgtatccctctaactagtatggatagccgtgtcttcactgtgctgcggctacccatcgtagtgaaacatacacgttgctcgggttcaccccggtccgttctgagtcga"
コード例 #8
0
def test_primer_Design():
    ''' test_primer_design'''

    a = Dseqrecord(
        "atgactgctaacccttccttggtgttgaacaagatcgacgacatttcgttcgaaacttacgatg")
    b = Dseqrecord(
        "ccaaacccaccaggtaccttatgtaagtacttcaagtcgccagaagacttcttggtcaagttgcc")
    c = Dseqrecord(
        "tgtactggtgctgaaccttgtatcaagttgggtgttgacgccattgccccaggtggtcgtttcgtt")

    frags = assembly_fragments([primer_design(r) for r in (a, b, c)])

    asm = Assembly(frags)

    assert asm.assemble_linear()[0].seguid() == "1eNv3d_1PqDPP8qJZIVoA45Www8"

    frags = assembly_fragments([primer_design(r) for r in (a, b, c, a)])

    a2 = pcr(frags[-1].forward_primer, frags[0].reverse_primer, a)

    asm = Assembly((a2, frags[1], frags[2]))

    assert asm.assemble_circular()[0].cseguid(
    ) == "V3Mi8zilejgyoH833UbjJOtDMbc"
コード例 #9
0
    def build_primers_for_part(self, part):
        """Build extraction primers and assign them into the part."""
        part_seq_record = part.get_sequence()

        forward_primer = part.extraction_primers.forward_primer if part.has_primers else None
        reverse_primer = part.extraction_primers.reverse_primer if part.has_primers else None

        amplicon = primer_design(Dseqrecord(part_seq_record),
                                 fp=forward_primer,
                                 rp=reverse_primer,
                                 tm_func=self._perform_tm_func,
                                 limit=13)

        if not part.has_primers:
            part.set_extraction_primers(
                PrimerPair.from_sequences(amplicon.forward_primer.seq,
                                          amplicon.reverse_primer.seq))

        return amplicon
コード例 #10
0
ファイル: test_primer_id.py プロジェクト: joskid/pydna
from pydna.design import primer_design
from pydna.dseqrecord import Dseqrecord

t = Dseqrecord("atgactgctaacccttccttggtgttgaacaagatcgacgacatttcgttcgaaacttacgatg")
from pydna.primer import Primer

pf = Primer("atgactgctaacccttccttggtg")
print(pf.name)
ampl = primer_design(t, fp=pf)
print(ampl.forward_primer.name)
コード例 #11
0
from pydna.genbank  import genbank
from pydna.design   import primer_design
from pydna.amplify  import pcr
from pydna.readers  import read
from pydna.parsers  import parse_primers
from pydna.assembly import Assembly
from pydna.gel      import Gel

###############################################################################

saat = genbank("AF193791 REGION: 78..1895")

saat_pcr_prod = primer_design(saat)

pYPKa=read("pYPKa.gb")

from Bio.Restriction import AjiI

pYPKa_AjiI = pYPKa.linearize(AjiI)

pYPKa_A_saat = ( pYPKa_AjiI + saat_pcr_prod ).looped()

pYPKa_Z_prom = read("pYPKa_Z_TEF1.gb")

pYPKa_E_term = read("pYPKa_E_TPI1.gb")

p567,p577,p468,p467,p568,p578  =  parse_primers('''

>567_pCAPsAjiIF (23-mer)
GTcggctgcaggtcactagtgag
>577_crp585-557 (29-mer)
コード例 #12
0
def test_primer_design_first_and_third_Dseqrecord():
    x = [primer_design(f) for f in frags]
    y = assembly_fragments([frags[0], x[1], frags[2]], 20)
    z = Assembly(y, limit=20)
    result = z.assemble_linear()[0]
    assert result.seq == (frags[0] + frags[1] + frags[2]).seq
コード例 #13
0
def test_primer_design_linker_first():
    x = [primer_design(f) for f in frags]
    y = assembly_fragments([bam, x[0], x[1], x[2]], 20)
    z = Assembly(y, limit=20)
    result = z.assemble_linear()[0]
    assert result.seq == (bam + frags[0] + frags[1] + frags[2]).seq
コード例 #14
0
def test_primer_design_linker_third():  #
    x = [primer_design(f) for f in frags]
    y = assembly_fragments([x[0], x[1], bam, x[2]], maxlink=6, overlap=20)
    z = Assembly(y, limit=20)
    result = z.assemble_linear()[0]
    assert result.seq == (frags[0] + frags[1] + bam + frags[2]).seq
コード例 #15
0
def test_primer_design_all_pcr_products():
    x = [primer_design(f) for f in frags]
    y = assembly_fragments(x, 20)
    z = Assembly(y, limit=20)
    result = z.assemble_linear()[0]
    assert result.seq == (frags[0] + frags[1] + frags[2]).seq
コード例 #16
0
def test_primer_design_two_fragments():
    x = [primer_design(f) for f in frags]
    y = assembly_fragments([x[0], x[1]], 20)
    z = Assembly(y, limit=20)
    result = z.assemble_linear()[0]
    assert result.seq == (frags[0] + frags[1]).seq
コード例 #17
0
def test_primer_design_linker_second_before_Dseqrecord():
    x = [primer_design(f) for f in frags]
    y = assembly_fragments([x[0], bam, frags[1], x[2]], 20)
    z = Assembly(y, limit=20)
    result = z.assemble_linear()[0]
    assert result.seq == (frags[0] + bam + frags[1] + frags[2]).seq
コード例 #18
0
def test_primer_Design_given_rv_primer():
    b = Dseqrecord(
        "agctactgactattaggggttattctgatcatctgatctactatctgactgtactgatcta")
    a = primer_design(b, rp=Primer("tagatcagtacagtca"))
    assert str(a.forward_primer.seq) == 'agctactgactattag'  #g
コード例 #19
0
def test_primer_Design_given_fw_primer():
    b = Dseqrecord(
        "agctactgactattaggggttattctgatcatctgatctactatctgactgtactgatcta")
    a = primer_design(b, fp=Primer("agctactgactattag"))
    assert str(a.reverse_primer.seq) == 'tagatcagtacagtca'
コード例 #20
0
def test_primer_design_two_fragments_linker_in_between():  #
    x = [primer_design(f) for f in frags]
    y = assembly_fragments([x[0], bam, x[1]], 20, 20)
    z = Assembly(y, limit=20)
    result = z.assemble_linear()[0]
    assert result.seq == (frags[0] + bam + frags[1]).seq
コード例 #21
0
def test_primer_design_two_fragments_flanking_linkers():
    x = [primer_design(f) for f in frags]
    y = assembly_fragments([bam, x[0], x[1], bam], 20)
    z = Assembly(y, limit=20)
    result = z.assemble_linear()[0]
    assert result.seq == (bam + frags[0] + frags[1] + bam).seq
コード例 #22
0
def test_primer_design_one_fragment_flanking_linkers():
    x = [primer_design(f) for f in frags]
    y = assembly_fragments([bam, x[0], bam], 20)
    assert y[0].seq == (bam + frags[0] + bam).seq