Choose restriction enzymes for cloning or diagnostics by composing constraints: cut frequency, overhang type, recognition-site length, commercial availability, compatible ends, and methylation sensitivity. The skill helps pick enzymes to linearize a vector, drop in an insert directionally, set up a diagnostic digest, or avoid an enzyme silenced by Dam/Dcm methylation.
pip install biopython
Vector and/or insert sequences in FASTA or GenBank. Know which strain the DNA was prepped in (dam+ dcm+ is standard) when methylation matters.
Tell your AI agent what you want to do: - "Find enzymes that cut my plasmid exactly once for linearization" - "Which commercial enzymes cut the vector once but not my insert?" - "Find enzymes with sticky ends compatible with BamHI" - "Which of these enzymes are blocked by Dam methylation?"
"Find all commercial enzymes that cut my plasmid exactly once for linearization"
"Which single-cutters in pUC19 leave a 5' overhang?"
"Find enzymes that don't cut my insert but do cut the vector"
"Which enzymes should I avoid because they cut inside my insert?"
"Find enzymes with sticky ends compatible with BamHI"
"Which enzymes leave the same overhang as EcoRI?"
"Find enzyme pairs for directional cloning of my insert into pET28a"
"Suggest a single-cutter and a non-cutting partner for my construct"
"Which of these enzymes are blocked by Dam methylation in DH5-alpha DNA?"
"Find a methylation-insensitive alternative to MboI for GATC"
CommOnly so recommendations can be purchased.from Bio import SeqIO
from Bio.Restriction import Analysis, CommOnly
record = SeqIO.read('plasmid.fasta', 'fasta')
analysis = Analysis(CommOnly, record.seq, linear=False)
single_cutters = analysis.with_N_sites(1)
print(f'Found {len(single_cutters)} single-cutters')
non_cutters = Analysis(CommOnly, insert_seq).without_site()
from Bio.Restriction import BamHI
partners = BamHI.compatible_end() # ANY enzyme that can leave a 5'-GATC end
fixed = [e for e in partners if e.is_palindromic()] # keep Type IIP isocaudomers (BglII, BclI, MboI, Sau3AI)
compatible_end() also lists Type IIS enzymes (user-defined overhang); filter to fixed-overhang Type IIP enzymes before treating one as a drop-in ligation partner.
vec_once = set(Analysis(CommOnly, vector_seq, linear=False).with_N_sites(1))
ins_none = set(Analysis(CommOnly, insert_seq).without_site())
candidates = vec_once & ins_none
five_prime = [e for e in candidates if e.is_5overhang()]
three_prime = [e for e in candidates if e.is_3overhang()]
blunt = [e for e in candidates if e.is_blunt()]
Note: with_N_sites(n) / without_site() / with_sites() are the current API. Older once_cutters() / only_dont_cut() raise AttributeError.
eight_cutters = [e for e in CommOnly if len(e.site) == 8]
BioPython's enzyme.is_methylable() is a coarse REBASE flag (it returns True for the Dam-INSENSITIVE Sau3AI and for EcoRI), does not distinguish Dam/Dcm/CpG, and does not give the direction of the effect. Use the curated tables below and consult REBASE for the specific methyltransferase rather than relying on the flag.
from Bio.Restriction import BsaI
if not BsaI.search(insert_seq):
print('No internal BsaI sites: part is Golden Gate ready for BsaI')
# Full Type IIS selection, domestication, and overhang design -> golden-gate-assembly
| Type | Example | Use Case |
|---|---|---|
| 5' overhang | EcoRI, BamHI | Most common cloning |
| 3' overhang | PstI, KpnI | Specific strategies (note PstI is a 3' overhang) |
| Blunt | EcoRV, SmaI | When no compatible sticky sites; inefficient, non-directional |
| Length | Naive frequency | Use |
|---|---|---|
| 4 bp | ~256 bp | Frequent cutting (fingerprinting, RFLP) |
| 6 bp | ~4096 bp | Standard cloning |
| 8 bp | ~65536 bp | Rare cutting; large constructs and mapping |
Real genomes deviate: vertebrate CpG suppression makes CpG-containing sites (NotI especially) far rarer than the naive figure.
Standard cloning strains are dam+ dcm+, so plasmid/insert DNA is methylated at GATC (Dam) and CCWGG (Dcm). Re-prep in a dam- dcm- strain (GM2163, JM110, INV110) to use a blocked enzyme.
| Methyltransferase | Site | Blocked | Insensitive | Requires methylation |
|---|---|---|---|---|
| Dam (GATC, m6A) | GATC | MboI, DpnII | Sau3AI | DpnI (cuts only methylated) |
| Dcm (CCWGG, 5mC) | CCWGG | EcoRII | BstNI | - |
| CpG (mammalian, 5mC) | CCGG | HpaII | MspI | - |
| Enzyme | Recognition | Overhang |
|---|---|---|
| BsaI | GGTCTC | 4 bp 5' |
| BsmBI | CGTCTC | 4 bp 5' |
| BbsI | GAAGAC | 4 bp 5' |
| SapI | GCTCTTC | 3 bp 5' |
Selecting, domesticating, and designing fusion overhangs for these is its own analysis -> golden-gate-assembly.
CommOnly for practical, buyable recommendations.