jane* docs

Restriction enzymes

The dataset four tools share, where it comes from, and the two properties that decide whether a digest, a ligation or an assembly is right.

This page exists because more than one tool needs the same facts. Restriction Digest, Golden Gate, Gibson's linearize control and Manage Enzymes all read the same enzyme records, and each of their pages links here rather than restating it.

What an enzyme record has to say

A restriction enzyme is not "a sequence it cuts". Four facts, and getting any of them wrong produces a result that looks entirely plausible:

FactWhy it decides the answer
Recognition siteWhere it binds — often degenerate (IUPAC), so GGTNACC matches four sequences
Cut positionWhere it cuts, which is frequently not the middle of the site and for Type-IIS is outside it entirely
OverhangWhat the cut ends look like: blunt, 5′-recessed, or 3′-recessed — and how many bases
Methylation sensitivityWhether it will cut DNA from a dam+/dcm+ strain at all

The third is the one that silently ruins downstream work, and it did so here. See below.

The authority is REBASE, not us

Enzyme data is exactly the case CLAUDE.md §1b was written for: an authoritative registry exists, so we do not maintain a competing one. REBASE is the authority for restriction enzymes — recognition sequences, cut positions, isoschizomers, methylation sensitivity, commercial availability.

What ships in the app is a documented offline cache of REBASE data, not a curated list. That distinction has consequences the rules make explicit: a cache preserves the original identifier, the source authority, the version, and the retrieval date, and it must be refreshable from the original source.

Where a published library disagrees with REBASE, REBASE wins — and both values are pinned in a test, the one adopted and the one left behind, so neither a silent revert nor a further drift can pass unnoticed.

The overhang bug, and why the golden discipline exists

This is the standing example in this codebase of why a dataset is validated over every record rather than a sample of them, and it is worth reading before trusting any enzyme table anywhere.

The digest engine's tests did assert overhangs against real Biopython — over 24 hand-picked enzymes out of roughly 250. Under a fully green test suite:

  • MboI shipped as a blunt cutter. It leaves a 4-nucleotide 5′ GATC overhang.
  • HhaI's overhang was inverted, 3′ recorded as 5′.

Both were wrong for months. An overhang decides ligation compatibility, so every digest and every assembly involving those enzymes was computing the wrong answer — and nothing failed, because nothing was looking. It was found on 2026-08-03 when the validation was extended from 24 enzymes to all of them.

The rule that came out of it: when the thing under test is a dataset, the golden runs over every record, and the test asserts the exact accounting — how many were checked, how many skipped and why. toBeGreaterThan(150) hides the same hole a second time. "23 of 250 validated" is a sentence; "validated" is a claim.

One dataset, four copies — the other half of the story

The same audit found the enzyme data existed in four places in this repo: the scanner's alias table, the cloning cut-site data, the collections catalogue, and a constants file with no importers at all. Three of the four disagreed with REBASE until they were reconciled.

That is why the rule is not "keep them in sync" but "one declaration, everything derives" (CLAUDE.md §12): two tables nobody compares will diverge, and the day they do, one surface draws a cut where another computes a different one. Adding a fifth copy now requires a stated reason it cannot be derived from an existing one, plus a test tying it to the others.

How a site is found

  • Recognition sites are compiled to a regex over the IUPAC alphabet, so a degenerate site matches every sequence it should and nothing it should not.
  • Both strands are searched. A non-palindromic site occurs on the reverse strand too, and missing those undercounts every cutter.
  • Circular molecules are searched across the origin, which linear-only matching silently misses — the site spanning position 1 is a real site.
  • Type-IIS enzymes cut at a distance from their recognition site, which is the entire basis of Golden Gate: the overhang is arbitrary sequence chosen by the designer, not part of the enzyme's site. The cut position is stored per enzyme rather than derived from the site.

Where each tool uses it

ToolWhat it takes from here
Restriction DigestSites, cut positions, fragment ends, and the cut count shown per enzyme in the picker
Golden GateType-IIS cut geometry and overhang compatibility; enzyme autoselection
GibsonThe Linearize control — opening a circular backbone, complete or partial
Manage EnzymesThe catalogue itself, and custom enzyme sets
Codon OptimizerEnzymeSitePattern — removing or requiring sites, reusing the same dataset
Site-Directed MutagenesisSilent-site scrubbing: adding or removing a site without changing the protein

Limitations

  • Methylation sensitivity covers the 380 enzymes REBASE has tested, against Dam, Dcm, CpG, EcoBI and EcoKI. Every other enzyme reads not tested, which is deliberately not a fourth verdict meaning "fine" — a wrong answer here reads exactly like a right one. See Restriction digest for how to read it and what to use instead when an enzyme is blocked.
  • The cache is a snapshot. It carries its retrieval date and is refreshable, but it is not live — a newly characterised enzyme is not in it until it is refreshed.
  • Buffer compatibility and double-digest recommendations are not modelled. Those are vendor-specific and belong to the vendor's own tables. Star activity is not in that group and is shown: REBASE reports it experimentally for 117 of the 4,062 enzymes in the catalogue, and each of those carries a warning on its record.
  • Commercial availability is shown, and it is thin on purpose. Each record lists the companies REBASE names as selling that enzyme, across the 13 suppliers REBASE tracks. Only 572 of the 4,062 enzymes have one, because most characterised enzymes have never been sold; an enzyme with no supplier says so rather than leaving the field blank.
  • About a third of enzymes have a determined cleavage position, and the rest say so. REBASE records where an enzyme cuts for roughly 1,400 of the enzymes in the catalogue; for the others it records the recognition sequence only, because nobody has determined the cut. Those enzymes are listed and searchable but cannot be used to cut, and they are labelled cut site unknown rather than given a number. Where one is blocked from cutting this way, its record names the enzymes on the same recognition sequence whose cleavage REBASE does state.

Sources

Tools: Restriction Digest · Golden Gate · Manage Enzymes · Enzyme info · Ligation

Workflows: Clone an insert into a vector, and prove it worked

Canvas: the sequence map, where cut sites are drawn

On this page