Edinburgh-Genome-Foundry / DnaCauldron

:alembic: Simple cloning simulator (Golden Gate etc.) for single and combinatorial assemblies
https://edinburgh-genome-foundry.github.io/DnaCauldron/
MIT License
50 stars 11 forks source link

Purpose of OligoPairAnnealing class (oligo_annealing method in assembly plan) #14

Closed veghp closed 1 year ago

veghp commented 2 years ago

Is this used only for BASIC assembly adapters?

What is the best way to simulate assembly of DNA Weaver's oligo output? Currently using Gibson (gibson_oligo) to simulate their assembly.

Zulko commented 2 years ago

Is this used only for BASIC assembly adapters?

Yes I think so.

What is the best way to simulate assembly of DNA Weaver's oligo output? Currently using Gibson (gibson_oligo) to simulate their assembly.

From memory I don't think there's a better way than gibson oligo :thinking:

veghp commented 2 years ago

Thanks! I'll put here a solution for future reference. I'll close this issue once I added a note in the docstring.

import dnacauldron as dc
from Bio import SeqIO

seq_folder = "oligos/"
parts = dc.biotools.load_records_from_files(folder=seq_folder, use_file_names_as_ids=True)
repository = dc.SequenceRepository()
repository.import_records(folder=seq_folder, use_file_names_as_ids=True, topology="linear")
assembly = dc.GibsonAssembly(repository.get_all_part_names())
simulation = assembly.simulate(repository)
mix = simulation.mixes[0]
counter = 0
for assembly in mix.compute_linear_assemblies(min_parts=3):
    filename = "results/record_" + str(counter) + ".gb"
    SeqIO.write(assembly, filename, format="genbank")  # assembly should be a biopython record
    counter += 1
ax = mix.plot_connections_graph()
ax.figure.savefig("results/connections_graph.pdf")