Edinburgh-Genome-Foundry / DnaWeaver

A route planner for DNA assembly
https://dnaweaver.genomefoundry.org
MIT License
29 stars 9 forks source link

SBOL => Automation MoClo Assembly tool => Optimal assembly report #4

Open andrewshvv opened 3 years ago

andrewshvv commented 3 years ago

Context I am trying to create/use an automated design tool that will take the SBOL file of the desired construct and create an optimal way of assembling it using the MoClo standard.

After playing some time with DNAWeawer I believe I am not able to achieve that with this library, though I am still not 100% sure.

Question Q: Have you seen libraries like that?

Zulko commented 3 years ago

Here is a relevant project using DNA Weaver. It takes in a SBOL file with different constructs (each construct having a list of parts), extracts the parts, reconstructs the final sequences of the constructs (without MoClo overhangs though), then send to DNA weaver to create an assembly plan. The advantages of using Weaver in this case is that it would automatically cut very large parts into smaller fragments, design primers to domesticate parts, detect if one part contains BsaI and the assembly must be done with BsmBI, etc. But as you'll see it is not straightforward, and it would require some work to adapt to your using exclusively MoClo (and its specific sets of overhangs).

In general, Weaver is best if you have a long arbitratry DNA sequence (so you don't know what the parts will be in advance) and you are not tied to a particular standard like MoClo. If you already know what parts you will use (since SBOL can suggest parts) and you know you want to use MoClo (which would assume that you know in advance that your parts are free of BsaI/BsmBI sites), then you could potentially use other tools. For instance genedom to domesticate the parts / add the right overhangs depending on the part type. Then dnacauldron to check the final assembly. Maybe this moclo library can help too (I haven't used it myself but it looks very relevant).

veghp commented 3 years ago

Just to add a comment, if you don't have the parts already (as sequence files / in the freezer) and you do a 1-level assembly, then you can also use GoldenHinges or the corresponding CUBA app to find a sequence decomposition.

As for using SBOL files, you can also convert them into a sequence file with synbiopython or some other tool.