SeqBench

Oligo Cofold — Primer-Dimer & Hairpin ΔG with ViennaRNA

Fold one oligo, or two together, with ViennaRNA's loop model at your annealing temperature — hairpin, self-dimer and heterodimer ΔG, plus the interaction ΔG.

🌐 Nothing you paste is logged or stored — every tool is also callable via REST & MCP, and in bulk from the batch tools

Predicted, not measured
How good is it?
No skill statistic is claimed for predicting whether a PCR fails. Loop-model MFE folding reproduces measured structure well for short duplexes and progressively worse with length; the ΔG itself carries roughly kcal/mol-scale uncertainty and the MFE structure is one structure out of an ensemble — request `partition` for the ensemble free energy, which is the more honest single number when several structures compete.
Only valid for:
short oligos, at most 200 nt per strand, at the temperature given. It models two strands in isolation at no particular concentration: it does not know your primer concentration, salt, or cycling programme, so it cannot say whether a dimer will actually form in your tube.
Fitted on:
Nearest-neighbour and loop free energies from optical melting experiments: Mathews et al. 2004 for DNA, Turner et al. 2004 for RNA, as shipped in ViennaRNA. These are measured thermodynamic parameters, not a regression on an assay outcome.

Paste one oligo to fold it on its own, or two to fold them together, and get ViennaRNA's minimum-free-energy structure and ΔG for each: the hairpin inside a single primer, a self-dimer against a second copy of itself, or the heterodimer between a forward and a reverse primer. The headline number is the interaction ΔG — ΔG(duplex) − ΔG(A) − ΔG(B) — what the two strands gain by pairing with each other rather than folding alone, which is what a primer-dimer screen actually wants rather than the duplex energy itself, since that includes whatever structure each strand had anyway. Set the temperature to the annealing temperature you will really run: the energy parameters are rescaled to whatever you give it, and a dimer that looks harmless at 37 °C can be the one that matters at 55 °C. One thing worth keeping straight if you have two tabs open: these are Mathews 2004 (DNA) or Turner 2004 (RNA) loop energies, with mismatch, bulge, internal-loop and dangling-end terms, while the Tm and ΔG next to them in the Oligo Analyzer and Primer Tm tools come from the SantaLucia 1998 nearest-neighbour stack table. Neither is wrong — they are different parameter sets on different scales, so compare a candidate with another candidate inside one tool, and never average or subtract numbers across the two.

°C
Parameters
Runs ViennaRNA on a shared service — rate limited, so it is a screen you run per design, not per keystroke.

How to use the Oligo Cofold tool

  1. 1Pick a mode: Hairpin folds one oligo alone, Self-dimer folds it against a second copy of itself, and Two oligos folds a forward and reverse primer together.
  2. 2Paste your oligo (raw or FASTA, up to 200 nt per strand), plus the second one in two-oligo mode — or load the M13 forward/reverse example.
  3. 3Set the temperature to your annealing temperature, choose DNA (Mathews 2004) or RNA (Turner 2004) parameters, and tick the ensemble free energy if you want the whole ensemble rather than the single MFE structure.
  4. 4Click Fold, then read the interaction ΔG and the dot-bracket structures under their sequences — in the duplex, "&" marks the strand break and brackets pairing across it are the inter-strand pairs.

Frequently asked questions

What is the interaction ΔG, and why not just use the duplex ΔG?

The interaction ΔG is ΔG(duplex) − ΔG(A) − ΔG(B): the free energy the two strands gain by pairing with each other rather than each folding alone. The duplex ΔG on its own double-counts whatever intramolecular structure each strand already had, so two primers that are individually hairpin-prone can show a very negative duplex ΔG while gaining almost nothing from each other. Subtracting the monomers isolates the part that is actually about the two of them interacting.

Why can't I compare this ΔG with the Tm or ΔG from the Oligo Analyzer?

Because they are computed from different measured parameter sets. This tool returns ViennaRNA loop-model energies — Mathews et al. 2004 for DNA, Turner et al. 2004 for RNA — which include mismatch, bulge, internal-loop and dangling-end terms. The Oligo Analyzer and Primer Tm tools use the SantaLucia 1998 unified nearest-neighbour table, summing contiguous Watson-Crick stacks, and the Tm they report is on that scale too. Neither is wrong and neither is a correction of the other; they are simply different scales, so the same 20-mer can differ by several kcal/mol between them. Rank candidates within one tool and never average, subtract or plot numbers from the two together.

What temperature should I use?

The one the oligos actually have to work at — usually your annealing temperature. 37 °C is only ViennaRNA's default, and it is the wrong question to ask about a primer that anneals at 60 °C. The energy parameters are rescaled to the temperature you set, so the same pair can look quite different at 37 and at 60, and the presets in the tool cover the usual annealing range.

Is there a ΔG cut-off that means my primer pair will fail?

This tool deliberately doesn't give one. Whether a dimer actually forms in your tube depends on primer concentration, salt, Mg²⁺ and your cycling programme, and the model is given none of them — it is a two-strand equilibrium in isolation. Nor is any skill statistic published for using it to predict a failed PCR. Use it comparatively: fold your candidates at the same temperature and prefer the pair with the least favourable interaction. And note that overall ΔG is not the whole story for extension — a 3′ overlap of a few bases can prime off a dimer that scores unremarkably overall, which the Oligo Analyzer flags explicitly.

What does the ensemble free energy option do?

The MFE is a single structure drawn from an ensemble of structures the sequence can adopt. Ticking the ensemble free energy runs ViennaRNA's partition function as well, giving the free energy over all of them — the more honest single number when several structures compete and no one of them dominates. It costs a second pass over the sequence, which is why it is opt-in rather than always on.

How is this different from the RNA Structure (MFE) tool?

RNA Structure (MFE) is a from-scratch Zuker implementation with a deliberately simplified loop model, folding one strand of up to a few hundred nucleotides. This one is ViennaRNA itself with its full published parameter set, it folds two strands together (cofold) as well as one, it lets you pick DNA or RNA parameters and the temperature, and it is capped at 200 nt per strand because it is meant for oligos — primers, probes, adapters — not for a whole transcript.

Can I use degenerate bases like N, R or Y?

No, and the refusal is on purpose. ViennaRNA accepts an N quite happily and simply lets it pair with nothing, so a degenerate oligo would come back as a confidently weaker duplex rather than as an error — the worst kind of wrong answer. Substitute a concrete base (or fold each variant you care about) instead.

Is my data stored, and can I run this from code?

Your oligos are sent to SeqBench's own ViennaRNA service over a private network to be folded — not to any third party — and nothing is persisted to disk. The oligo_cofold tool is also callable from the REST API and the MCP server. Because each run is an O(n³) fold on a shared always-on service, it is rate limited; the error tells you how long to wait if you hit it.

More