def toDSEQ(self, graph, edges, nodes): complements = self.generateComplements(nodes) dna = [] offset = -10 for edge in edges: seq = Dseq(edges[edge], complements[edge[1]], ovhg=offset) x = Dseqrecord(seq) x.name = edge[0] + "_" + edge[1] x.seq = seq dna.append(x) return dna
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