SeqBench

Golden Gate Overhang Fidelity, Scored Against Real Ligation Data: Three Published Sets vs. Two Naive Designs

11 min read · Updated July 14, 2026

Diagram of a Type IIS enzyme (BsaI) cutting downstream of its GGTCTC recognition site, separated by a one-base spacer, releasing a 4-base single-stranded overhang whose sequence is chosen by the designer rather than fixed by the enzyme — unlike a classic enzyme that cuts within its own recognition site.GGTCTCCAATGCCAGAGGTTAC5′3′3′5′ →BsaI site (GGTCTC)spacer4-base overhang — your choiceCuts downstream of its own site, not within it — unlike EcoRI

This article reports real, computed fidelity scores for three published Golden Gate/MoClo overhang sets and two constructed naive examples, using SeqBench's own overhang fidelity scorer run against real published four-base sticky-end ligation-count data. The honesty point comes first, not buried at the bottom: this scoring methodology does not reproduce NEB's or Potapov's own published aggregate fidelity percentages for named overhang sets. Every number below is SeqBench's own transparent, reproducible per-overhang methodology — useful for finding which pairs in your own candidate set are risky and by how much, not a claim of numeric parity with any vendor's tool.

The practical payoff is a contrast, but a more interesting one than "published good, naive bad". On the generic T4 dataset the split is clean: all three real, peer-reviewed sets — spanning 8 to 20 overhangs across two independent papers — score 98.23% to 99.53% weakest-link fidelity, while a naively constructed four-overhang set that differs only in its last base drops to 87.39% with real, specific pairs flagged for measurable cross-ligation. On the one-pot BsaI-HFv2 dataset the picture is messier and worth knowing about: two of the three published sets fall to 89.43% with four flagged risky pairs, landing them below one of the naive sets. Which reaction chemistry you actually run matters more than which published set you copied from, and either way this is the check to run on a candidate overhang set before ordering synthesized fragments, not after a failed assembly.

What "weakest-link fidelity" and a "risky pair" mean mechanically

In a Golden Gate or MoClo assembly, a Type IIS restriction enzyme (BsaI, BsmBI, etc.) cuts outside its recognition sequence and leaves a 4-nucleotide single-stranded overhang on each fragment end. Two fragments join when their overhangs anneal and get ligated. The enzyme only determines where the cut falls and what overhang sequence is exposed; it is the ligase step (T4 DNA ligase, either as a separate step or as part of a one-pot digestion-ligation with the Type IIS enzyme) that actually decides how specifically that overhang binds and joins to its intended partner versus to some other overhang floating in the same reaction.

Potapov et al. (2018) and Pryor et al. (2020) measured this directly and exhaustively: raw ligation counts for every pairwise combination among all 256 possible four-base overhangs, under real T4 ligase conditions and under real one-pot BsaI-HFv2 conditions respectively. In that data, the count for overhang X ligating to its own perfect complement is the "correct" signal; the counts for X ligating to every other overhang actually present in a given reaction are cross-talk — real, measured mis-ligation events, not a computational estimate of similarity.

SeqBench's scorer (scoreOverhangSet() in the ligase-fidelity module) takes a candidate set of overhangs you actually intend to use together and, for each overhang X in that set, computes fidelity(X) = correctSignal(X) / (correctSignal(X) + crossTalkSignal(X)). The bookkeeping in crossTalkSignal(X) is the part worth being precise about, because a junction is not one sticky end but two: cutting a junction whose top-strand overhang reads X leaves one fragment end presenting X and the other fragment end presenting revcomp(X), and both are floating in the same tube. Two junctions X and Y can therefore mis-ligate in four distinct ways — X against Y, X against revcomp(Y), revcomp(X) against Y, and revcomp(X) against revcomp(Y) — and those four measured counts sit in four different cells of the 256×256 matrix, so all four are summed into the cross-talk between that pair. Added to that is the junction's own two ends mis-joining to a second copy of themselves (an X end meeting another X end, head to head). Only overhangs actually in your set are counted, not all 256 possible ones, since only the ones sharing your tube can cross-react at all.

Two consequences follow from counting both ends. Listing both X and revcomp(X) in a set is rejected rather than scored: they name the same junction written from opposite strands, so a set containing both is a duplicate, not two junctions that happen to cross-react. And a palindromic overhang — one that is its own reverse complement, like GTAC — is scored but capped at 0.5 fidelity, because both of its ends present the identical 4-mer, so the measured diagonal count lumps the intended head-to-tail join together with the equally likely head-to-head join of two copies of the same end. Half of that lump is a mis-ligation, which is exactly the biophysical reason Golden Gate designs avoid palindromic overhangs.

A set's weakest-link fidelity is the minimum of those per-overhang fidelities, not the average; a design is only as reliable as its worst junction, and an average can look fine while one overhang is quietly bad. Mean fidelity is reported alongside for the same reason: to catch cases where the mean and the minimum tell different stories.

A risky pair is an ordered pair (A, B) within your candidate set where the four-way cross-reaction count between the two junctions is at least 5% of A's own correct-signal-plus-that-cross-reaction total (a documented, adjustable default, not a universal biological cutoff). The pair count itself is symmetric, but the threshold is measured against each overhang's own correct signal, so a pair can clear it in one direction and not the other: a junction with a weak correct signal is flagged against a neighbour that, from its own stronger baseline, does not flag back. An (A, A) entry is not a typo either — it means that junction's own two ends are mis-joining to a second copy of themselves. Because the calculation is directional and set-dependent, the same overhang can score cleanly in one candidate set and get flagged in another — cross-talk depends on exactly which other overhangs are competing for the same sticky end in the same reaction, which is why this has to be checked per design, not looked up once as a property of a single overhang.

The honesty point, in full: this does not match NEB's or Potapov's own numbers

SeqBench built this scorer directly from the raw, publicly mirrored 256×256 ligation-count matrices underlying Potapov et al. 2018 and Pryor et al. 2020 — not from NEB's or the papers' own aggregate scoring code, which is not published. An attempt was made to re-derive the exact formula NEB's Ligase Fidelity Tools and the papers themselves use to collapse a whole overhang set down to a single published aggregate fidelity percentage, using these same raw counts. That attempt did not reproduce their published numbers, and the exact aggregation formula is not disclosed anywhere accessible.

The clearest illustration is Pryor et al. 2020's own 20-overhang set (Figure 4, an 11-overhang plant-standard core plus 9 GetSet-added overhangs). The paper itself reports roughly 80% aggregate fidelity for this set using NEB's undisclosed formula. Scoring the identical 20 overhangs against the identical underlying raw counts with SeqBench's transparent per-overhang correct-signal-versus-cross-talk methodology gives 98.23% weakest-link fidelity (generic T4 dataset) and 89.43% (BsaI-HFv2 dataset) — see the next section. Neither number is "wrong"; they answer different questions using different formulas, and only one of those formulas (SeqBench's) is documented well enough for a third party to reproduce from the raw data. Do not compare a weakest-link percentage from this methodology directly against an aggregate percentage from NEB's tool or from a paper's own reported figure as if they were the same statistic — they are not, and no conversion factor between them is published.

What this methodology is useful for is comparing your own candidate overhangs against a documented, reproducible calculation, and against the real published-set benchmarks computed the same way in this article.

Two real ligation datasets, two different reaction chemistries

Every set below is scored against two independently generated real datasets, because "Golden Gate fidelity" is not one fixed property of a ligase — it depends on the actual reaction conditions.

  • generic-t4-37c-1h — T4 DNA ligase alone, 1 hour at 37°C, enzyme-agnostic. Source: Potapov V, Ong JL, Kucera RB, Langhorst BW, Bilotti K, Pryor JM, Cantor EJ, Canton B, Knight TF, Evans TC Jr, Lohman GJS. "Comprehensive Profiling of Four Base Overhang Ligation Fidelity by T4 DNA Ligase and Application to DNA Assembly." ACS Synth Biol. 2018;7(11):2665-2674. doi:10.1021/acssynbio.8b00333. Because the Type IIS enzyme only determines the cut site, not the ligation chemistry, this dataset applies to any Type IIS Golden Gate enzyme paired with a standard T4 ligation step.
  • bsai-hfv2 — real one-pot BsaI-HFv2 digestion-ligation, where enzyme and ligase act together in the same reaction rather than as separate steps. Source: Pryor JM, Potapov V, Kucera RB, Bilotti K, Cantor EJ, Lohman GJS. "Enabling one-pot Golden Gate assemblies of unprecedented complexity using data-optimized assembly design." PLOS ONE. 2020;15(9):e0238592. doi:10.1371/journal.pone.0238592. Use this dataset specifically when your actual protocol uses BsaI-HFv2 in a one-pot format; it is not a generic proxy for other enzymes.

Three published overhang sets, scored

These are real, previously published Golden Gate/MoClo overhang sets, scored exactly as specified in their source figures/tables (or, for the CIDAR set, cross-validated against secondary sources where noted).

  • 11 standard plant-synbio overhangs — GGAG, TGAC, TCCC, TACT, CCAT, AATG, AGCC, TTCG, GCTT, GGTA, CGCT. Source: Pryor et al. 2020, PLOS ONE 15(9):e0238592, Figure 4. generic-t4-37c-1h: weakest-link fidelity 98.23% (TACT), mean fidelity 99.68%, 0 risky pairs. bsai-hfv2: weakest-link fidelity 89.43% (GGTA), mean fidelity 96.57%, 4 risky pairs — TACT↔GGTA (count 39 in each direction) and AGCC↔CGCT (count 37 in each direction).
  • 20-overhang set (the 11 above plus 9 GetSet-added overhangs: ACCT, CCGC, ACAA, AACA, GAAA, CAAG, GCAC, TAGA, AAAT) — same source, Figure 4. This is the set the paper itself scores at roughly 80% aggregate fidelity using NEB's undisclosed formula; see the honesty-point section above for why SeqBench's methodology gives a different number by design. generic-t4-37c-1h: weakest-link fidelity 98.23%, mean fidelity 99.73%, 0 risky pairs. bsai-hfv2: weakest-link fidelity 89.43%, mean fidelity 97.96%, the same 4 risky pairs as the 11-set. The weakest link and the flagged pairs are identical to the 11-overhang core on both datasets: the 9 added overhangs are cleaner than the core they were added to, which lifts the mean without touching the minimum.
  • CIDAR MoClo fusion sites — GGAG, TACT, AATG, AGGT, GCTT, CGCT, TGCC, ACTA. Source: Iverson SV, Haddock TL, Beal J, Densmore DM. "CIDAR MoClo: Improved MoClo Assembly Standard and New E. coli Part Library Enable Rapid Combinatorial Design for Synthetic and Traditional Biology." ACS Synth Biol. 2016;5(1):99-103. PMID: 26479688. This set was cross-validated via secondary sources (moclo.readthedocs.io and an Addgene kit guide); the original paper's own table was not independently re-verified against the primary source by SeqBench. generic-t4-37c-1h: weakest-link fidelity 99.53%, mean fidelity 99.86%, 0 risky pairs. bsai-hfv2: weakest-link fidelity 99.03% (TACT), mean fidelity 99.76%, 0 risky pairs. This is the one set of the three that stays clean on both chemistries — it contains TACT but not GGTA, so the pair that sinks the plant sets under one-pot conditions never forms.

The baseline this establishes: the dataset moves the number more than the set does

Across three independent, peer-reviewed overhang sets, ranging from 8 to 20 overhangs, scored against two chemically distinct ligation datasets — six scores in total — the generic T4 scores cluster tightly (98.23% to 99.53% weakest-link, zero risky pairs anywhere) while the one-pot BsaI-HFv2 scores spread out badly (89.43% to 99.03%, with four flagged pairs in two of the three sets). The same overhang list, scored against a different real reaction chemistry, moves nearly ten points. That is the most useful thing this exercise establishes, and it is not what you would guess from the fact that all three sets are published and functionally validated.

It also means there is no single universal threshold to quote. Against generic-t4-37c-1h, a candidate set that lands below roughly 98% weakest-link fidelity is scoring worse than every published set tested here and deserves a hard look. Against bsai-hfv2 the published baseline itself runs down to 89.43%, so a candidate in the low 90s there is unremarkable and the flagged risky-pair list is the more informative output than the headline percentage. Score against the chemistry you will actually run, and compare against the published sets on that same dataset — not against a number carried over from the other one.

The published sets are also not evidence that a flagged pair dooms an assembly. Both plant sets carry four flagged pairs under one-pot BsaI-HFv2 conditions and are nonetheless real, working, widely used standards. A flag marks a junction whose measured mis-ligation rate is worth designing around if you have the freedom to; it is not a prediction that the assembly fails.

Two naive sets, worked in full

These two sets are constructed illustrative examples, not published or field-used sets — they exist purely to show how a naive, "looks fine to the eye" overhang choice degrades under real ligation data.

  • Naive near-identical set: AAAA, AAAT, AATA, ATAA. Constructed as a single-base-shift pattern (each overhang looks like a one-position slide of the last) over a low-complexity, all-A/T background. generic-t4-37c-1h: weakest-link fidelity 95.90% (AAAA), mean fidelity 98.34%, 0 risky pairs. bsai-hfv2: weakest-link fidelity 93.11%, mean fidelity 96.19%, 0 risky pairs. Note where that bsai-hfv2 number sits: 93.11% is better than the 89.43% both published plant sets score on the same dataset. A naive-looking set is not automatically the riskier one.
  • Naive single-base-swap set: GGAG, GGAT, GGAC, GGAA. Constructed by holding the first three bases fixed ("GGA") and varying only the last base — a pattern that looks systematic and readable on paper but gives the ligase very little distinguishing sequence to work with. generic-t4-37c-1h: weakest-link fidelity 87.39% (GGAC), mean fidelity 91.71%, 2 risky pairs flagged — GGAT↔GGAC, cross-reaction count 539 in each direction. bsai-hfv2: weakest-link fidelity 73.53% (GGAT), mean fidelity 78.52%, 7 risky pairs flagged — GGAT↔GGAC (count 109 each way), GGAT↔GGAA (count 75 each way), GGAG↔GGAA (count 61 each way), and GGAG→GGAT (count 23), which clears the threshold only in that one direction because GGAG's own correct signal is the smallest in the set.

What a flagged risky pair means for your actual assembly

A risky pair is not a similarity score or a computational guess — it is a real, measured ligation event count from an actual T4 ligase or BsaI-HFv2 reaction. Under bsai-hfv2 conditions, for example, the GGAC and GGAT junctions together account for 109 measured mis-ligation events across the four ways their ends can meet; against GGAT's own correct-partner signal of 575 that clears the 5% risk threshold comfortably, which is why the pair is flagged. GGAT↔GGAA, GGAG↔GGAA, and GGAG→GGAT each independently clear the same threshold in the same set — seven distinct flagged directions among just four overhangs.

Mechanically, in a real one-pot Golden Gate reaction built on this four-overhang set, that means a fraction of the fragment ends presenting one of these overhangs will ligate to the wrong neighbor rather than failing to ligate at all. The resulting molecule still gets built and can still transform a cell; it is simply assembled at the wrong junction. That produces colonies that pass a crude "did anything grow" check but carry a misassembled construct, which then surfaces later as a failed functional screen or a sequence-verification mismatch rather than as an obvious ligation failure. This is the concrete, mechanical reason a low-diversity overhang choice is a design risk and not a stylistic nitpick: it changes measured molecular behavior, not just how the sequences look side by side.

It is also worth noting what the two naive examples show by contrast with each other: the near-identical AAAA-family set (differing from its neighbors by a one-base shift at varying positions) actually scores better than the GGAG-family set (differing from its neighbors only at the fixed last position), despite looking like the more repetitive, riskier-looking design on paper. Real ligation specificity is not a simple function of overall string similarity or edit distance — which position varies, and what the flanking bases are, changes measured outcomes in ways that are not obvious from eyeballing a list of four-letter codes. That is precisely why this needs to be checked against real ligation data rather than judged by inspection.

A workflow for checking your own overhangs before ordering fragments

This exact check is exposed directly as the golden_gate_fidelity tool on SeqBench's REST API and MCP server, so it can be called programmatically from a design script against a candidate overhang list rather than typed in by hand each time. A lighter, standalone check for basic overhang uniqueness and palindrome collisions is also available in the Golden Gate mode of SeqBench's Cloning & Assembly Simulator, useful as a quick sanity pass before running the fuller ligation-fidelity comparison described here.

  1. Identify the real reaction chemistry you will actually use — a standard T4 ligation step after Type IIS digestion (score against generic-t4-37c-1h), or a genuine one-pot BsaI-HFv2 digestion-ligation (score against bsai-hfv2). Do not default to whichever dataset is listed first.
  2. List the exact overhangs as you plan to order/synthesize them for one reaction — one entry per junction, written consistently from the same strand. A repeated overhang is a design error the scorer refuses to score, since it can't tell which fragment a repeated overhang belongs to, and so is listing both X and revcomp(X): those are the same junction written from opposite strands, and the scorer says so by name rather than scoring them as two junctions that cross-react perfectly.
  3. Score the set and read the weakest-link fidelity first, not the mean. Compare it against the published-set baseline on the same dataset you just used — roughly 98.2%+ on generic-t4-37c-1h, but as low as 89.4% on bsai-hfv2. Comparing a bsai-hfv2 score against the T4 baseline will make a perfectly ordinary set look broken.
  4. If any risky pairs are flagged, treat the flagged list as a prioritized set of specific overhangs to reconsider, not a single pass/fail verdict on the whole design. Swap only the flagged overhangs where possible.
  5. Re-score after each change. A set that clears both the weakest-link threshold and has zero flagged risky pairs against the chemistry you're actually using is a reasonable candidate to move forward with synthesizing fragments for.
  6. If you must keep an overhang that shows some flagged cross-talk (for example because it is fixed by a required promoter or part-standard convention), make that a documented, deliberate trade-off rather than an unnoticed default.

Common mistakes and what this scoring does not tell you

  • It does not reproduce NEB's or Potapov's own published aggregate fidelity percentages for named sets, as covered above — do not directly compare a weakest-link percentage from this methodology against a vendor-reported aggregate percentage for the same set.
  • It only reflects the specific conditions actually measured in the underlying papers — T4 ligase alone at 1 hour/37°C, or real one-pot BsaI-HFv2 digestion-ligation. A different Type IIS enzyme's real one-pot chemistry, a different incubation time or temperature, a different buffer, or a different ligase entirely was not measured and is not modeled by either dataset.
  • It only scores pairwise cross-talk among the overhangs you actually list. It does not model full combinatorial behavior in a shared reagent pool against all 256 possible overhang sequences, and it does not capture higher-order, multi-way ligation effects beyond the pairwise counts in the underlying matrices.
  • A palindromic overhang is capped at 0.5 fidelity and flagged against itself, which is a structural verdict rather than a measurement of that particular sequence. Both ends of such a junction present the same 4-mer, so the correct join and the head-to-head mis-join are indistinguishable in the underlying data — the 0.5 says the geometry is broken, and no ligation dataset can rescue it. Do not read a 0.5 as "half of these assemble correctly" in the same sense as a measured 89% or 98%.
  • It does not check anything else about your fragments: no scanning for internal Type IIS recognition sites, no GC-content or secondary-structure assessment of the overhang region itself, and no prediction of overall assembly efficiency, which depends heavily on fragment stoichiometry, backbone linearization/dropout efficiency, transformation efficiency, and colony-screening depth — none of which this scorer touches.
  • The 5% risk threshold is a documented, adjustable default, not a universal biological cutoff. A ten-fragment assembly amplifies the practical cost of even one borderline overhang far more than a two-fragment assembly does, so tightening the threshold for larger assemblies is a reasonable choice, not a workaround.
  • Zero flagged risky pairs does not mean zero mis-assembly risk. It means no single pairwise cross-reaction in the underlying published data cleared the chosen threshold; smaller cross-reaction counts below that threshold still exist in the raw matrices and are already folded into the reported mean and weakest-link fidelity numbers, just not called out individually as "risky."
  • This is in vitro biochemical ligation data. It says nothing about how a correctly assembled construct behaves after transformation — plasmid toxicity, low-copy origin effects, or mutation during propagation are entirely outside its scope, and a perfect fidelity score is not a guarantee that your construct will work in vivo.

Frequently asked questions

What does weakest-link fidelity mean for a Golden Gate overhang set?

It is the minimum, not the average, of the per-overhang fidelity scores across every overhang in a candidate set, where each overhang's fidelity is its correct-partner ligation signal divided by that signal plus its cross-talk signal with every other overhang actually in the set. Cross-talk counts both ends of every junction — the top-strand 4-mer and its reverse complement are both in the tube, so two junctions are compared across all four ways their ends can meet. A set is only as reliable as its worst-behaved junction, so weakest-link fidelity is reported ahead of the mean.

Why doesn't a Golden Gate fidelity score match NEB's published number for the same overhang set?

Because it is computed with a different, documented methodology, not NEB's or Potapov's own undisclosed aggregate formula. Re-deriving their exact scoring formula from the same raw published ligation counts did not reproduce their published numbers, and that formula isn't disclosed anywhere accessible, so the two kinds of scores answer related but different questions and shouldn't be compared directly.

What is a risky pair in Golden Gate overhang ligation and what causes it?

A risky pair is two overhangs in your candidate set where real, measured ligation cross-talk between them (from actual T4 ligase or BsaI-HFv2 reaction data), summed over all four ways their two junctions' ends can meet, is at least a defined fraction — 5% by default — of one overhang's own correct-partner ligation signal. It reflects a real biochemical mis-ligation rate measured in vitro, not a sequence-similarity heuristic. A pair flagged in only one direction means the cross-talk is large relative to one junction's correct signal but not the other's.

Should I score my overhangs against generic T4 ligase data or BsaI-HFv2 data?

Use the BsaI-HFv2 dataset only if your actual protocol runs BsaI-HFv2 in a real one-pot digestion-ligation format, since that dataset was generated under those specific conditions. For a standard Type IIS digestion followed by a separate T4 ligation step, or for other Type IIS enzymes, the generic T4 ligase dataset is the more relevant proxy, since the enzyme determines the cut site rather than ligation specificity.

Does a perfect overhang fidelity score guarantee my Golden Gate assembly will work?

No. It only reflects measured in vitro ligation specificity between the sticky ends under the specific conditions in the source datasets. It says nothing about overall assembly efficiency, which depends on fragment concentration ratios, backbone dropout, transformation efficiency, or in vivo behavior of the finished construct after transformation.

How much can a naive overhang choice actually degrade fidelity compared to a published set?

In the constructed examples here, a naive four-overhang set that varied only its last base (GGAG, GGAT, GGAC, GGAA) dropped to 73.53% weakest-link fidelity on the BsaI-HFv2 dataset and 87.39% on the generic T4 dataset, with 7 and 2 risky pairs flagged respectively, versus 98.23%-99.53% (T4) and 89.43%-99.03% (BsaI-HFv2) across three real published sets scored the same way. Note that the spread among published sets on the BsaI-HFv2 dataset is nearly as wide as the gap to the naive set, so score against the chemistry you will actually run rather than assuming a published set is safe on both.

Related tools

Related guides