Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assembling fragments digested by different enzymes #15

Open
AubinF opened this issue Jun 3, 2022 · 5 comments
Open

Assembling fragments digested by different enzymes #15

AubinF opened this issue Jun 3, 2022 · 5 comments

Comments

@AubinF
Copy link

AubinF commented Jun 3, 2022

Hi, thank you for the great package and documentation. I would like to simulate a Type2s-like assembly where the acceptor and the inserts are digested by different enzymes. In other words, the acceptor is digested with enzyme A, and the insert (or inserts) are digested with enzyme B. Is it possible to simulate that using dnacauldron? Thanks

@veghp
Copy link
Member

veghp commented Jun 5, 2022

Hi thanks for the feedback. I think that should be possible using the RestrictionLigationMix class, and specifying multiple enzymes in a list.

If that doesn't work, you can try creating StickyEndFragments and feeding them to the StickyEndAssemblyMix class.

This file shows how the classes work together in a simulation: https://github.com/Edinburgh-Genome-Foundry/DnaCauldron/blob/master/dnacauldron/README.md

Let me know if you have trouble with the implementation and I'll try and look into it.

@toriapetrova
Copy link

Hi, thank you for the great package and documentation. I would like to simulate a Type2s-like assembly where the acceptor and the inserts are digested by different enzymes. In other words, the acceptor is digested with enzyme A, and the insert (or inserts) are digested with enzyme B. Is it possible to simulate that using dnacauldron? Thanks

Hi, I am currently trying to do the same thing. Did it work for you and if yes which approach did you use? Thank you!

@toriapetrova
Copy link

Sorry for asking again but would it be possible to do a simulation of Type2s-restriction assembly from an assembly plan , but in the case where the backbone and the insert are digested by different enzymes?

@veghp
Copy link
Member

veghp commented May 21, 2024

Hi @toriapetrova , this is a problem that interests us as well, and I have planned making a script that will do it using DNA Cauldron elements.

I'll update on progress here.

@veghp
Copy link
Member

veghp commented May 31, 2024

An example code answer to the original question, digesting with multiple enzymes (at the same time):

from Bio import SeqIO
import dnacauldron as dc

records = dc.biotools.load_records_from_files(folder="part_records/", use_file_names_as_ids=True)
mix = dc.RestrictionLigationMix(
        parts=records,
        enzymes=["BsmBI", "BsaI"],
        fragment_filters=[dc.Filter.NoRestrictionSiteFilter("BsmBI"), dc.Filter.NoRestrictionSiteFilter("BsaI")],
        name="restriction_mix",
        annotate_fragments_with_parts=True,)

counter = 0  #  in case there are more than one product
for assembly_record in mix.compute_circular_assemblies():
    name = "record_" + str(counter) + ".gb"
    SeqIO.write(assembly_record, name), format="genbank")
    counter += 1

For using the assembly class, or an assembly plan, the original classes will have to be extended. I'll look into that as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants