Design and validate Type IIS scarless assembly (Golden Gate, MoClo, Golden Braid). The skill screens parts for internal BsaI/BsmBI/BbsI/SapI sites (domestication), previews the fusion overhang a cut exposes, and validates a fusion-overhang set so parts assemble in exactly one order. The principle is that a Type IIS enzyme cuts outside its recognition site, so the overhang is user-defined and the site is removed from the product, letting one tube digest and ligate at once.
pip install biopython
Part sequences in FASTA (or GenBank). For coding parts, know the reading frame so domestication can use synonymous codons.
Tell your AI agent what you want to do: - "Check my parts for internal BsaI sites before Golden Gate assembly" - "Domesticate this CDS by removing its BsmBI site without changing the protein" - "Preview the fusion overhangs my BsaI digest will leave" - "Validate that my four junction overhangs assemble uniquely"
"Scan part.fasta for internal BsaI, BsmBI, BbsI, and SapI sites"
"Remove the internal BsaI site from my coding sequence using a silent mutation"
"Are these four fusion overhangs distinct and non-palindromic: AATG, GCTT, TACT, AGGA?"
"Preview the 4-bp overhangs a BsaI digest of my construct will expose"
"Which Type IIS enzyme should I use for MoClo Level 1 vs Level 2?"
"Compare Golden Gate, classic restriction-ligation, and Gibson for assembling six parts"
from Bio import SeqIO
from Bio.Restriction import BsaI, BsmBI, BbsI, SapI
record = SeqIO.read('part.fasta', 'fasta')
for enzyme in (BsaI, BsmBI, BbsI, SapI):
hits = enzyme.search(record.seq) # both strands
print(enzyme, 'clean' if not hits else f'internal sites at {hits}')
from Bio.Restriction import BsaI
overhangs = [str(record.seq[p - 1:p + 3]) for p in BsaI.search(record.seq)] # forward sites
from Bio.Seq import Seq
def validate(overhangs):
bad = []
if len(set(overhangs)) != len(overhangs):
bad.append('duplicates')
for o in overhangs:
if o == str(Seq(o).reverse_complement()):
bad.append(f'{o} palindromic')
return bad or ['OK']