from pydna.parsers import parse_primers from pydna.readers import read from pydna.design import primer_design from pydna.amplify import pcr from pydna.assembly import Assembly p = { x.id: x for x in parse_primers("standard_primers.txt") } pYPKpw = read("pYPKpw.gb") from Bio.Restriction import EcoRV pYPK_EcoRV = pYPKpw.linearize(EcoRV) promoter_template = read("pYPKa_Z_TDH3.gb") gene_template = read("SsXYL2.gb") terminator_template = read("pYPKa_E_PGI.gb") prom = pcr( p['577'], p['567'], promoter_template) fp_tail = "tgcccactttctcactagtgacctgcagccgacAA" rp_tail = "AAatcctgatgcgtttgtctgcacagatggCAC" ins = primer_design(gene_template) fp = fp_tail + ins.forward_primer rp = rp_tail + ins.reverse_primer print(fp.format("fasta")) print(rp.format("fasta")) with open("new_primers.txt", "a+") as f: f.write(fp.format("fasta")) f.write(rp.format("fasta")) gene = pcr( fp, rp, gene_template) term = pcr( p['568'], p['578'], terminator_template) asm = Assembly( (pYPK_EcoRV, prom, gene, term), limit=31 ) asm candidate = asm.assemble_circular()[0] candidate.figure() result = candidate.synced(pYPKpw) product = pcr( p['577'], p['467'], result) print(len(product)) print(len(product) - len(prom)) print(len(product) - len(gene)) product2 = pcr( p['468'], p['578'], result) print(len(product2)) print(len(product2) - len(gene)) print(len(product2) - len(term)) result.cseguid() result.locus = "pYPK0_tp_g_tp" result.definition = "pYPK0_TDH3_SsXYL2_PGI" result.stamp() result.write("pYPK0_TDH3_SsXYL2_PGI.gb") prom.program() gene.program() term.program() import pydna reloaded = read("pYPK0_TDH3_SsXYL2_PGI.gb") reloaded.verify_stamp()