Closed gjerman closed 2 years ago
Hey! Gibson assembly from parts is possible but not straightforward. I'm not sure what doesn't work for you, but here are some tricks:
PcrExtractionStation
rather than a PartsLibrary
. The PCR station is more powerful. It will design primers to PCR your parts and so can either use a whole part, or a fragment of a part (by using primers that anneal inside the part), or a part with some added nucleotides on the flank (by adding these nucleotides to the ends of the primers). prepare_network_on_sequence(sequence)
before you compute the quote. This will recognize your part in the sequence to build, accelerate the computations and increase your chances of success:... create your network
main_station.prepare_network_on_sequence(sequence)
quote = main_station.get_quote(sequence)
There's an example of Gibson assembly from parts in the SynBioCad project. Here's the problem description, here is how it defines the network and here is how it uses it. It may be less minimal than what you are after, it does a few extra things like reusing previously-built primers, handling circular sequences, having a Golden Gate alternative, etc.
Does that help?
Thanks for the swift response @Zulko, this is a big help! I had not discovered the SynBioCad repo. This looks very similiar to what I want to achieve, so I will try to start from there and modify it slightly.
I want to make a PartsLibrary that consists of basic stock PCR products that will be assembled with a DnaAssemblyStation based on the GibsonAssemblyMethod and any missing parts should come from a CommercialDnaOffer.
I have tried to make my own PartsLibrary class which inherets from the PartsLibrary base class, but am not able to make it work.
Do you have any examples availible of using a PartsLibrary that does not consists of GoldenGate parts, which is all that i can find in the documentation?