Dam/Dcm Methylation Tutorial: Which Restriction Sites Are Blocked in pUC19, pBR322, pACYC184 and Lambda
Dam/Dcm Methylation Tutorial: Which Restriction Sites Are Blocked in pUC19, pBR322, pACYC184 and Lambda
Plasmid DNA from a normal cloning strain such as DH5α is methylated by two E. coli
enzymes: Dam puts a methyl group on the A of every GATC, and Dcm puts one on the
second C of every CCWGG (CCAGG / CCTGG). A restriction enzyme that is sensitive to
that methyl group will not cut a site where the methylated base falls inside its
recognition sequence. That is the whole mechanism, and any search result will tell you so.
What a summary cannot tell you is which of the sites in your DNA that applies to. “XbaI is Dam-sensitive” is true, and XbaI still cuts pUC19 grown in DH5α. “ClaI is Dam-sensitive” is true, and ClaI still cuts pBR322 and pACYC184, but 3 of the 15 ClaI sites in lambda would be blocked if the lambda DNA were fully methylated. Whether a site is blocked depends on the bases around it, so the answer is per site, not per enzyme.
This page does the per-site work for four standard DNAs and the 114 enzymes in the Runcell restriction site finder catalog. The sensitivity data comes from REBASE. The site finder was checked against two independent sources (described under “How the numbers were checked”). The script at the end runs the same check on your own GenBank file.
Environment for every number on this page:
| Component | Version / source |
|---|---|
| Sequences | NCBI L09137.2 (pUC19, 2,686 bp), J01749.1 (pBR322, 4,361 bp), X06403.1 (pACYC184, 4,245 bp), J02459.1 (lambda, 48,502 bp), fetched 2026-11-02 |
| Sensitivity data | REBASE methylation-sensitivity pages for each enzyme, fetched 2026-11-02 |
| Enzyme list | The 114 enzymes listed on the Runcell restriction site finder, 2026-11-02 |
| Software | Python 3.14.2, Biopython 1.88, macOS arm64 |
All of this is computed from sequence and from REBASE’s summary data. No DNA was digested for this page. See the limitations section for what that means.
The answer for each DNA
“Blocked” here means: REBASE marks the enzyme as blocked by Dam or Dcm methylation, and at that particular site a methylated base lies inside the recognition sequence. The methylation is assumed complete. That is the worst case for a prep from a dam⁺ dcm⁺ strain.
pUC19: no unique site is blocked
| Unique cutters (exactly one site) among the 114 enzymes | 26 |
| Unique cutters whose single site is blocked | 0 |
| Unique cutters from enzymes REBASE lists as Dam/Dcm-sensitive | XbaI (pos 423), BsaI (1766), EcoO109I (2674). None of the three sites overlaps a GATC or CCWGG |
Unique site that overlaps a GATC but still cuts | BamHI (GGATCC contains GATC; REBASE: Dam does not block BamHI) |
The pUC19 polylinker is safe to cut from a dam⁺ dcm⁺ prep. The XbaI site sits in
ATCCTCTAGAGTCG. To be blocked it would need GA immediately before it or TC
immediately after it, and it has neither.
The enzymes that are affected in pUC19 are the frequent cutters: MboI and DpnII (all 15
GATC sites blocked; they recognise GATC itself), plus one of 10 Hpy188I sites. One of 11
HaeIII sites overlaps a Dcm site, and REBASE rates HaeIII only “some impaired” by Dcm, so
that site is undetermined.
pBR322: two unique sites are blocked, by the same GATC
| Enzyme | Site | Position | Context | Status |
|---|---|---|---|---|
| BspEI | TCCGGA | 1664 | ATGTTCCGGATCTG | blocked (Dam) |
| BsaBI | GATNNNNATC | 1668 | TCCGGATCTGCATCGCAG | blocked (Dam) |
| ClaI | ATCGAT | 23 | TATCATCGATAAGC | cuts |
| NruI | TCGCGA | 972 | GCGTTCGCGACGCG | cuts |
Out of 31 unique cutters, two are dead in a dam⁺ prep, and both depend on one GATC at
1668–1671. ClaI and NruI are both on REBASE’s Dam-blocked list and both still cut pBR322,
because neither site touches a GATC.
Among the multi-site enzymes: 1 of 7 TaqI sites, 1 of 15 Hpy188I sites and 1 of 8 AvaII sites (Dcm) are blocked.
pACYC184: BclI and BsaBI are blocked; ClaI, NruI and XbaI cut
| Enzyme | Site | Position | Context | Status |
|---|---|---|---|---|
| BclI | TGATCA | 3542 | TAAATGATCATATC | blocked (Dam) |
| BsaBI | GATNNNNATC | 3442 | TCCGGATCTGCATCGCAG | blocked (Dam) |
| ClaI | ATCGAT | 1518 | TATCATCGATAAGC | cuts |
| NruI | TCGCGA | 2467 | GCGTTCGCGACGCG | cuts |
| XbaI | TCTAGA | 1425 | TATTTCTAGATTTC | cuts |
| BspHI | TCATGA | 1984 | GGGCTCATGAGCGC | cuts (no overlap; REBASE rates BspHI “variable”) |
pACYC184 has 22 unique cutters and two of them are blocked. BclI can never cut a
dam⁺ prep anywhere: its site TGATCA contains GATC, so every BclI site is blocked,
not just this one. BsaBI is blocked by the same 18-bp stretch, TCCGGATCTGCATCGCAG, that
blocks it in pBR322. The identical sequence occurs in both vectors.
pACYC184 also carries 12 CCWGG sites, twice as many as pBR322 in a similar length. One of
5 AvaII sites is Dcm-blocked.
Lambda: the enzymes on the “blocked” list, site by site
Lambda’s 48.5 kb has enough sites per enzyme to show the pattern. This table is the fully methylated case. Lambda grown in a dam⁺ host is reported to be only partly Dam-methylated (NEB’s methylation guidance says so; this page could not open that page to check the figure), so a real lambda prep can give partial digests at the “blocked” sites rather than none.
| Enzyme | Site | Sites in lambda | Blocked if fully methylated | Still cut |
|---|---|---|---|---|
| BclI | TGATCA | 8 | 8 | 0 |
| MboI / DpnII | GATC | 116 | 116 | 0 |
| XbaI | TCTAGA | 1 | 1 | 0 |
| ClaI | ATCGAT | 15 | 3 | 12 |
| BspEI | TCCGGA | 24 | 3 | 21 |
| BsaBI | GATNNNNATC | 21 | 3 | 18 |
| TaqI | TCGA | 121 | 8 | 113 |
| Hpy188I | TCNGA | 170 | 17 | 153 |
| AvaII (Dcm) | GGWCC | 35 | 1 | 34 |
| NruI | TCGCGA | 5 | 0 | 5 |
| StuI (Dcm) | AGGCCT | 6 | 0 | 6 |
Lambda’s single XbaI site is ATATTCTAGATCCC: the TC after the site
completes a GATC, so fully methylated lambda has no cuttable XbaI site at all, and
any XbaI cutting in a dam⁺ lambda prep comes from molecules that escaped methylation at
that site. ClaI is the
opposite case. Its three blocked sites (15583, 31990, 32963) read GATCGAT, ATCGATC
and GATCGAT, and the other twelve cut normally. Partial digests like this are hard to
interpret on a gel, because the band pattern looks like a few sites failed at random.
NruI and StuI are on the blocked list, yet none of their lambda sites overlaps a methylation
site.
Which enzymes are affected at all
From the REBASE summaries for the 114 enzymes in the catalog:
| Effect of an overlapping methyl group | Dam (GATC) | Dcm (CCWGG) |
|---|---|---|
| Blocked | BclI, BsaBI, BspEI, ClaI, DpnII, Hpy188I, MboI, NruI, TaqI, XbaI | AvaII, StuI |
| Partial (REBASE: “some blocked”, “some impaired” or “variable”) | BspHI | ApaI, BsaHI, BsaI, BstXI, EcoO109I, FseI, HaeIII, SfiI |
| Overlap possible, but REBASE says it cuts | BamHI, BglII, BstYI, PvuI, DpnI* | AscI, BamHI, BglI, BsaJI, BstEII, BstNI, BstYI, EcoNI, HaeII, KpnI, NarI |
*DpnI is the reverse case: it cuts GATC only when the site is methylated, which is why
site-directed mutagenesis protocols use it to destroy the methylated template.
The partial row is where this page stops predicting. “Some blocked” means REBASE has records in which certain overlap arrangements block the enzyme and others do not. The summary does not say which arrangement does what, so those sites are labelled undetermined here rather than blocked or cut.
MboI vs Sau3AI vs DpnII: all three recognise GATC. REBASE lists MboI and DpnII as
blocked by Dam methylation and Sau3AI as not blocked. To cut every GATC in a
dam⁺ prep, use Sau3AI.
The rule, and why “XbaI is Dam-sensitive” is not enough
A methyl group only matters if it sits inside the recognition sequence. Dam methylates the
A of GATC on both strands, so in top-strand coordinates the methylated bases are the
second and third positions of GATC (the third via the A on the bottom strand). For
XbaI (TCTAGA) that gives exactly two blocking contexts:
G A T C T A G A GATC overlaps the first two bases of TCTAGA
T C T A G A T C GATC overlaps the last two basesSo whether XbaI is blocked at a site depends on the two bases on either side of it. ClaI
(ATCGAT) is blocked by a single base: a G in front (GATCGAT) or a C behind
(ATCGATC). That is why ClaI loses 3 of its 15 sites in fully methylated lambda, while
XbaI’s chance at any given site is much lower.
Where it bites after cloning: the junction
The sites in your parent vector are fixed, so you can check them once. The risk that people miss comes after the ligation. The bases next to a site you cloned into now come from the insert, so a site that cut fine in the empty vector can be blocked in the subclone, and the next round of cloning fails.
At a junction, one side of the site still has the vector’s bases and only the other side
is new. So the script enumerated every 4-bp flank on one side of each blocked enzyme’s
site, with the other side fixed to bases that block nothing (AAAA). Four bases cover any
GATC or CCWGG overlap. It counted the flanks that put a methylated base inside the site.
For comparison it also ran the case where both sides are new (65,536 contexts), for
example a site that sits inside a synthesised or PCR-added adapter:
| Enzyme | Site | Blocking methylation | One new flank (a cloning junction) | Both flanks new |
|---|---|---|---|---|
| BclI, MboI, DpnII | TGATCA, GATC | Dam | 100% (the site contains GATC) | 100% |
| BsaBI | GATNNNNATC | Dam | 43.75–44.1% (see note) | 43.75–44.1% |
| ClaI | ATCGAT | Dam | 25.0% | 43.8% |
| XbaI, NruI, TaqI, BspEI, Hpy188I | Dam | 6.25% each | 12.1% | |
| StuI | AGGCCT | Dcm | 6.25% | 12.1% |
| AvaII | GGWCC | Dcm | 3.1% | 6.2% |
BsaBI note: 113 of its 256 site variants contain a GATC themselves. In 112 of them a
methylated base falls on the fixed GAT/ATC bases. In one, GATGATCATC, the methyl
groups sit only inside the NNNN spacer, and the REBASE records do not cover that
arrangement. Counted as blocked it gives 44.1%; left undetermined it gives 43.75%. None of
the BsaBI sites in the four DNAs above is that variant. The script below counts it as
blocked.
Treat these as rates for uniformly random bases, not a prediction for any particular insert.
They are easy to check by hand. XbaI is blocked by GA immediately before the site or TC
immediately after it, so one new flank blocks it with probability 1/16 = 6.25%, and two
independent new flanks with 1 − (15/16)² = 12.1%. ClaI needs only a G before or a C
after: 1/4 = 25% for one flank, 1 − (3/4)² = 43.75% for two.
In practice: a ClaI site at a cloning junction is blocked about one time in four, and an XbaI site about one time in sixteen. If you plan to reuse the site, check the junction sequence before you transform the construct into a dam⁺ strain.
Check your own plasmid
The restriction site finder gives you
site positions for a pasted sequence in the browser. It does not currently flag Dam/Dcm
overlap (checked 2026-11-02), so for that step use the script below. It needs Biopython
(pip install biopython) and a GenBank file of your construct. The topology is read from the
LOCUS line, so circular plasmids wrap correctly.
import re
from Bio import SeqIO
from Bio.Seq import Seq
# REBASE "blocked by overlapping methylation" (damlist pages, fetched 2026-11-02)
DAM_BLOCKED = {"BclI": "TGATCA", "BsaBI": "GATNNNNATC", "BspEI": "TCCGGA",
"ClaI": "ATCGAT", "DpnII": "GATC", "Hpy188I": "TCNGA",
"MboI": "GATC", "NruI": "TCGCGA", "TaqI": "TCGA", "XbaI": "TCTAGA"}
DCM_BLOCKED = {"AvaII": "GGWCC", "StuI": "AGGCCT"}
IUPAC = dict(A="A", C="C", G="G", T="T", R="[AG]", Y="[CT]", W="[AT]",
S="[CG]", K="[GT]", M="[AC]", N="[ACGT]")
def starts(seq, site, circular):
"""0-based starts of an IUPAC site on either strand."""
hay = seq + seq[:len(site) - 1] if circular else seq
hits = set()
for s in {site, str(Seq(site).reverse_complement())}:
rx = "(?=" + "".join(IUPAC[c] for c in s) + ")"
hits |= {m.start() for m in re.finditer(rx, hay) if m.start() < len(seq)}
return sorted(hits)
def methylated(seq, motif, offsets, circular):
"""Top-strand coordinates carrying a methyl group (either strand)."""
return {(p + o) % len(seq) for p in starts(seq, motif, circular) for o in offsets}
def report(path):
rec = SeqIO.read(path, "genbank")
seq, circ = str(rec.seq).upper(), rec.annotations.get("topology") == "circular"
m6a = methylated(seq, "GATC", (1, 2), circ) # Dam: the A of GATC
m5c = methylated(seq, "CCWGG", (1, 3), circ) # Dcm: the 2nd C of CCWGG
for table, marks, label in ((DAM_BLOCKED, m6a, "Dam"), (DCM_BLOCKED, m5c, "Dcm")):
for enz, site in table.items():
hits = starts(seq, site, circ)
dead = [h + 1 for h in hits
if {(h + i) % len(seq) for i in range(len(site))} & marks]
if hits:
shown = dead if len(dead) <= 4 else f"{len(dead)} of {len(hits)}"
print(f"{enz:8} {len(hits):3} site(s); blocked by {label}: {shown or 'none'}")
report("pBR322.gb")Output on pBR322 (J01749.1 saved as GenBank):
BsaBI 1 site(s); blocked by Dam: [1668]
BspEI 1 site(s); blocked by Dam: [1664]
ClaI 1 site(s); blocked by Dam: none
DpnII 22 site(s); blocked by Dam: 22 of 22
Hpy188I 15 site(s); blocked by Dam: [3731]
MboI 22 site(s); blocked by Dam: 22 of 22
NruI 1 site(s); blocked by Dam: none
TaqI 7 site(s); blocked by Dam: [1127]
AvaII 8 site(s); blocked by Dcm: [1439]Positions are 1-based starts of the recognition sequence on the top strand. If your enzyme is not in the two dictionaries, look it up on REBASE before assuming it is unaffected. The dictionaries only hold the enzymes REBASE marks as fully blocked within the 114-enzyme catalog.
If a site you need is blocked
- Prepare the DNA from a dam⁻ dcm⁻ strain. Strains lacking both methylases are sold for this purpose. DNA prepared from them carries no Dam or Dcm methylation.
- Cut a PCR product instead of the plasmid. PCR does not copy methylation, so an amplicon of the region is unmethylated whatever host the template came from.
- Use an enzyme REBASE lists as insensitive. For
GATCthat means Sau3AI rather than MboI or DpnII. For the other enzymes, look up isoschizomers on REBASE and check their own sensitivity entries, since an isoschizomer is not automatically insensitive. - For a junction you are about to create, choose the flanking bases so they do not
complete a
GATCorCCWGG. The junction table above shows how often a random flank would.
How the numbers were checked
- The site finder against Biopython. For all 114 enzymes on all four sequences, the
per-enzyme site count from this page’s IUPAC scanner was compared with
Bio.Restriction.Analysis(circular for the three plasmids, linear for lambda): 0 mismatches in 456 comparisons. - The site finder against REBASE. REBASE publishes each enzyme’s site count on lambda and pBR322. All 228 counts match (0 mismatches). These are two independent implementations of the same search, and the sequences are the same NCBI records REBASE counts against, so this also confirms that the circular wrap-around is handled.
- Sensitivity labels. Parsed from each enzyme’s REBASE methylation page. For BclI and DpnII the summary page has no row. Their Dam status was read from the detailed REBASE table instead: the entries tested on Dam-methylated DNA sit in the “not cut” column. Dcm status for those two was not parsed and is not used anywhere on this page.
- The junction rates were checked by hand for XbaI (6.25% / 12.1%) and ClaI (25% / 43.75%), as shown above.
What this page does not show
- No digest was run. “Blocked” is a prediction that combines a sequence overlap with REBASE’s summary label. It is not a gel. REBASE summarises published tests, and the label says nothing about how much residual activity an enzyme has under your own conditions.
- Complete methylation is assumed. Every table is the fully methylated case. This page did not measure how completely any real prep is methylated, and lambda from dam⁺ hosts is reported to be only partly methylated. Partial methylation turns “blocked” into a partial digest. Hemimethylated DNA (for example right after replication, or after one round of PCR from a methylated template) can behave differently.
- “Some blocked” and “variable” sites are not resolved. They are counted as undetermined. HaeIII and the Dcm-partial enzymes are where this matters most.
- CpG methylation is out of scope. E. coli does not methylate CpG, so it does not affect plasmid preps. It does matter for mammalian genomic DNA, and REBASE has that data too.
- One sequence version each. Your pUC19 from a given supplier may differ from
L09137.2by a few bases. Run the script on the sequence you actually have. - Lambda is the reference sequence, not a specific commercial preparation.
Related
- DNA Molecular Weight in Python: A Runnable ng/µL → nM Workflow — the same four sequences, converted to molecular weight and nM, including how much the Dam and Dcm methyl groups add to a plasmid’s mass (not much).
- Primer Dimer Check Tutorial: What ΔG Rules Say About the CDC qPCR Primers — another check that is cheap to run on sequence before you go to the bench.
- Differential Expression Analysis: Guide with R & Python Code — runnable analysis code for the downstream side of molecular biology.