Esempio n. 1
0
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()
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'
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"
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"
gttctgatcctcgagcatcttaagaattc

>468_pCAPs_release_fw (25-mer)
gtcgaggaacgccaggttgcccact
>467_pCAPs_release_re (31-mer) 
ATTTAAatcctgatgcgtttgtctgcacaga

>568_pCAPsAjiIR (22-mer) 
GTGCcatctgtgcagacaaacg
>578_crp42-70 (29-mer)
gttcttgtctcattgccacattcataagt''')

p = pcr(p577, p567, pYPKa_Z_prom)

g = pcr(p468, p467, pYPKa_A_saat)

t = pcr(p568, p578, pYPKa_E_term)

pYPKpw = read("pYPKpw.gb")

from Bio.Restriction import ZraI

pYPKpw_lin = pYPKpw.linearize(ZraI)

asm = Assembly((pYPKpw_lin, p, g, t))

candidate = asm.assemble_circular()[0]

pYPK0_TDH3_FaPDC_TEF1 = candidate.synced(pYPKa)

pYPK0_TDH3_FaPDC_TEF1.write("pYPK0_TDH3_FaPDC_TPI1.gb")
Esempio n. 6
0
def test_reverse_complement(monkeypatch):
    from pydna._pretty import pretty_str
    from pydna.assembly import Assembly
    from pydna.dseqrecord import Dseqrecord
    a = Dseqrecord("acgatgctatactgtgCCNCCtgtgctgtgctcta")
    #12345678901234
    b = Dseqrecord("tgtgctgtgctctaTTTTTTTtattctggctgtatc")
    #123456789012345
    c = Dseqrecord("tattctggctgtatcGGGGGtacgatgctatactgtg")
    a.name = "aaa"  #1234567890123456
    b.name = "bbb"
    c.name = "ccc"
    asm = Assembly((a, b, c), limit=14)
    x = asm.assemble_circular()[0]
    y = x.rc()
    z = y.rc()
    assert x.figure() == z.figure()
    assert x.detailed_figure() == z.detailed_figure()

    xfig = '''\
 -|aaa|14
|      \\/
|      /\\
|      14|bbb|15
|             \\/
|             /\\
|             15|ccc|16
|                    \\/
|                    /\\
|                    16-
|                       |
 -----------------------
     '''.rstrip()

    xdfig = pretty_str('''\
||||||||||||||||
acgatgctatactgtgCCNCCtgtgctgtgctcta
                     TGTGCTGTGCTCTA
                     tgtgctgtgctctaTTTTTTTtattctggctgtatc
                                          TATTCTGGCTGTATC
                                          tattctggctgtatcGGGGGtacgatgctatactgtg
                                                               ACGATGCTATACTGTG
    '''.rstrip() + "\n")

    assert x.figure() == xfig
    assert x.detailed_figure() == xdfig

    yfig = '''\
 -|ccc_rc|15
|         \\/
|         /\\
|         15|bbb_rc|14
|                   \\/
|                   /\\
|                   14|aaa_rc|16
|                             \\/
|                             /\\
|                             16-
|                                |
 --------------------------------
     '''.rstrip()

    ydfig = '''\
||||||||||||||||
cacagtatagcatcgtaCCCCCgatacagccagaata
                      GATACAGCCAGAATA
                      gatacagccagaataAAAAAAAtagagcacagcaca
                                            TAGAGCACAGCACA
                                            tagagcacagcacaGGNGGcacagtatagcatcgt
                                                               CACAGTATAGCATCGT
    '''.rstrip() + "\n"

    assert y.figure() == yfig
    assert y.detailed_figure() == ydfig
Esempio n. 7
0
def test_contig(monkeypatch):
    monkeypatch.setenv("pydna_cached_funcs", "")

    from pydna import contig
    from pydna.assembly import Assembly
    from pydna.dseqrecord import Dseqrecord

    a = Dseqrecord("acgatgctatactgCCCCCtgtgctgtgctcta", name="one")
    b = Dseqrecord("tgtgctgtgctctaTTTTTtattctggctgtatc", name="two")
    c = Dseqrecord("tattctggctgtatcGGGGGtacgatgctatactg", name="three")
    asm = Assembly((a, b, c), limit=14)

    cnt = asm.assemble_circular()[0]

    assert repr(cnt) == "Contig(o59)"

    assert cnt.detailed_figure() == str(
        "||||||||||||||\n"
        "acgatgctatactgCCCCCtgtgctgtgctcta\n"
        "                   TGTGCTGTGCTCTA\n"
        "                   tgtgctgtgctctaTTTTTtattctggctgtatc\n"
        "                                      TATTCTGGCTGTATC\n"
        "                                      tattctggctgtatcGGGGGtacgatgctatactg\n"
        "                                                           ACGATGCTATACTG\n"
    )

    from textwrap import indent

    fig = """ -|one|14
|      \\/
|      /\\
|      14|two|15
|             \\/
|             /\\
|             15|three|14
|                      \\/
|                      /\\
|                      14-
|                         |
 -------------------------"""

    cnt2 = asm.assemble_linear()[0]

    fig = ('one|14\n'
           '    \\/\n'
           '    /\\\n'
           '    14|two|15\n'
           '           \\/\n'
           '           /\\\n'
           '           15|three')

    assert fig == cnt2.figure()

    assert repr(cnt2) == 'Contig(-73)'

    #print(repr(cnt2._repr_html_()))

    assert cnt2._repr_html_(
    ) == '<pre>one|14\n    \\/\n    /\\\n    14|two|15\n           \\/\n           /\\\n           15|three</pre>'

    from unittest.mock import MagicMock

    pp = MagicMock()

    cnt2._repr_pretty_(pp, None)

    pp.text.assert_called_with('Contig(-73)')

    from Bio.Seq import Seq
    from Bio.Alphabet.IUPAC import IUPACAmbiguousDNA
    from pydna.seqrecord import SeqRecord

    arg = SeqRecord(Seq("aaa", IUPACAmbiguousDNA()))

    import networkx as nx

    x = contig.Contig.from_SeqRecord(arg, graph=nx.MultiDiGraph())