Design primers, simulate the PCR, and predict the band
The route: pick the region → design a pair → check it against the whole template → simulate the reaction → read the band you should see on the gel you are actually going to run.
Every number on this page came from running the tools on data/samples/Genbank/PBR322.gb, the
real 4,361 bp pBR322 record that the Primer test starter opens. You can reproduce all of them.
Before you start: open the Primer test starter from the lobby. It carries pBR322 plus a second GenBank plasmid and the two Gibson FASTA files, and it opens with pBR322 in front.
Step 1 — Say what you want to amplify
Tool: Primer Designer. Where: Tools → Amplify, the right-rail, or right-click a selection on the map.
The panel designs against the open sequence, so there is no template box to paste into. What you
choose instead is a region (where primers may anneal) and optionally a target (a stretch the
amplicon must flank without a primer sitting on it — Primer3's SEQUENCE_TARGET).
Select the tet CDS on the map — pBR322 annotates it at 86..1276 — and set the source to
Selection. The panel mirrors the editor's selection, so the region follows what you highlighted.
Check before moving on: the region readout matches the feature you clicked. On a circular
plasmid a selection that crosses the origin reports end < start; that is valid here and the scan
wraps, which is why the control accepts it.
Step 2 — Design, and read the empty result when you get one
Leave the defaults — they are Primer3's: product 300–700 bp, target Tm 60 °C in a 57–63 °C window, length 18–27 nt, GC 40–60%, 50 mM Na⁺ / 1.5 mM Mg²⁺ / 0.6 mM dNTPs, 250 nM primers. Press Design primers.
Targeting the small ROP CDS (1915..2106) with exactly those defaults returns four ranked pairs:
#1 score 95.7 700 bp Ta 60.0 °C
F ATCCATACCGCCAGTTGT 18 nt Tm 60.0 GC 50.0% @1770–1787
R TTTCCTGCGTTATCCCCT 18 nt Tm 59.7 GC 50.0% @2452–2469
cross-dimer ΔG −2.5 3'-end cross-dimer ΔG 0.0
#2 score 95.4 373 bp Ta 60.2 °C
F TACCCCCATGAACAGAAATCC 21 nt Tm 61.1 GC 47.6% @1874–1894
R ATACACTCCGCTATCGCTAC 20 nt Tm 60.2 GC 50.0% @2227–2246
cross-dimer ΔG 0.0 3'-end cross-dimer ΔG 0.0The score is not a quality certificate — it is a weighted sum you can see and change. Fifteen weights, all adjustable, all shown: Tm distance, pair Tm mismatch, GC, length, self-dimer, 3'-end self-dimer, hairpin, cross-dimer, 3'-end cross-dimer, 3'-end stability, poly-X, dinucleotide repeats, GC clamp, template specificity, and repeat-library mispriming. Specificity carries the heaviest default weight (6.0) and 3'-end dimers the next (3.0), because those are the two failures that produce a smeared lane rather than a slightly worse one.
When it returns nothing
Ask for the whole tet CDS as the target instead and the same defaults return zero pairs —
and the panel now tells you which knob is responsible rather than guessing:
| What you set | What comes back |
|---|---|
tet as target, product 300–700 bp | …no amplicon of the requested size flanks the target without a primer sitting on it — widen the product-size window, or shrink the target. The CDS is 1,191 bp; nothing 700 bp long can flank it |
tet as target, product 1200–1500 bp | …the GC window is what rejected them — widen it. pBR322 is AT-rich where tet starts, and the only primer that reaches there is 36% GC against a 40% floor |
| GC widened to 30–70% | One pair: TTCTCATGTTTGACAGCTTATCATC / TGAATCCGTTAGCGAGGT, 1,309 bp, Ta 61.8 °C |
This matters more than it looks. Until 2026-08-10 the panel said "widen the size or Tm window" for every empty run, which is the wrong instruction in both of the first two rows. The message is now derived from which window actually rejected the candidates — specifically from the pairs rejected by one window and no other, since those are the ones a single widening would rescue. A run that succeeds still logs hundreds of rejections, so a plain count would blame the wrong control.
Step 3 — Check the pair against the whole molecule, not just the region
Tool: PCR Simulation.
Designing inside a region and amplifying from a plasmid are different questions. The designer scores specificity across the full template, but the simulation is where you see it: every binding site for each primer, on both strands, and every product they could make together.
Running the tet pair against the whole circular pBR322:
Template pBR322 4361 bp circular limit=13:
fwd anneals forward (--->) at 105
rev anneals reverse (<---) at 1262
products 1 1191 bp
forward sites 1 reverse sites 1
specificity 1 (0 = no product · 1 = clean · >1 = non-specific)Read the site counts before the product. One product with three forward sites is not a clean
reaction — it is a clean reaction plus two primers waiting to misprime on a slightly different
template. limit (the minimum 3′ footprint match, default 13, straight from pydna) is the knob that
decides how permissive that search is; lower it to see the marginal sites, raise it to see only the
ones that will really prime.
The panel also reports per-primer QC on the oligos you entered: length, GC, Tm, ΔH, ΔS, ΔG, the 3′ ΔG, the GC clamp, the longest homopolymer, and hairpin / self-dimer / 3′-self-dimer structures against Primer3's own limits. For the forward primer above: ΔG −22.76 kcal/mol, 3′ ΔG −5.89, GC clamp 4, longest homopolymer 3, no hairpin found.
Nested PCR lives here too — turn it on and the outer pair's products become the templates for the inner pair, with round 1's product count reported so you can tell a real nesting from a coincidence.
Step 4 — Get the cycling program, not just the primers
The designer prints two, because the polymerase changes the answer:
Taq (SantaLucia Tm) Phusion / DBD
|95°C|95°C | |tmf:55.7 |98°C|98°C | |tmf:52.6
|____|_____ 72°C|72°C|tmr:54.1 |____|_____ 72°C|72°C|tmr:49.3
|3min|30s \ 60.5°C _____|____|45s/kb |30s |10s \ 52.3°C _____|____|15s/kb
| | \______/ 0:53|5min|GC 61% | | \______/ 0:17|5min|GC 61%
| | 30s | |1191bp | | 10s | |1191bpThe two Ta values differ by 8 °C on the same pair, because a processivity-domain polymerase and Taq
do not read the same duplex the same way. Both programs are computed under your buffer, not
pydna's defaults — the tmf:/tmr: printed in the program are the same numbers the panel shows
beside the primers, and a test pins that they cannot drift apart.
For a Tm you intend to defend rather than a program to run, go to Melting Temperature, which implements eight published models and will show you a ~21 °C spread on a single 20-mer.
Step 5 — Predict the band on the gel you are going to run
Tool: Virtual Gel Bench, or send to gel from the PCR panel.
Load the product as a lane, pick a ladder, and set the agarose percentage you actually have. Ten calibrated ladders ship (GeneRuler 1 kb Plus, Hi-Lo, NEB 1 kb and 100 bp, Lambda/HindIII, …).
At 1% agarose against GeneRuler 1 kb Plus, the 1,191 bp product runs at 400.7 px from the well, between the ladder's 1,500 bp (358.3 px) and 1,000 bp (432.7 px) marks — which is what you want to see, because a band bracketed by two marks is a band you can call.
The percentage is not cosmetic, and the engine will show you why. Distance between two bands, in pixels, on the same gel:
| Fragments | 0.8% | 1% | 1.5% | 2% |
|---|---|---|---|---|
| 300 vs 200 bp | 0.5 | 0.5 | 74.4 | 74.4 |
| 1,191 vs 1,000 bp | 35.5 | 32.1 | 32.1 | 32.1 |
| 6,000 vs 5,000 bp | 37.0 | 33.5 | 0.3 | 0.2 |
A 300/200 bp pair is unresolvable below 1.5% and obvious above it. A 6,000/5,000 bp pair is the exact opposite. Run the wrong percentage and you will conclude your reaction failed when it did not. This comes from the Helling–Goodman–Boyer log-linear mobility law with its per-percentage resolution windows, not from a curve fitted by eye.
Check: your product's band is not sitting on a ladder mark you would mistake it for, and the diagnostic pair you care about is separated at the percentage you own.
What you did, and where each piece lives
| Step | Tool | Hand-off |
|---|---|---|
| 1 | Map selection | The region, mirrored into the designer |
| 2 | Primer Designer | A ranked pair, drawable on the map |
| 3 | PCR Simulation | Products, binding sites, per-primer QC |
| 4 | Primer Designer · Melting Temperature | Two cycling programs, one defensible Tm |
| 5 | Virtual Gel Bench | The band pattern to expect |
Add to map writes the chosen pair onto the sequence as real primer annotations, and Open product as project turns the amplicon into its own project — which is how a PCR product becomes a Gibson fragment in clone-and-verify without anyone copying a sequence.
If it does not work
| Symptom | Where to look |
|---|---|
| No pairs returned | Read the message — it names the window that rejected them. Widen that one first |
| Pairs returned, but all low-scoring | Open the score breakdown: it is per-component, so you can see whether it is dimers, specificity or Tm spread |
| More than one forward site in the simulation | Real mispriming. Raise limit to see whether the extra site would prime, or redesign — specificity is the heaviest default weight for a reason |
| Two products from one pair | Your primers bracket two places. On a circular template this includes the way round you did not intend |
| Product length is not what you designed | You designed on a region and simulated on the whole molecule; check where the primers actually annealed in the report |
| Bands you cannot separate | Step 5's table — change the agarose percentage, not the reaction |
Related
The tools, in depth: Primer Designer · PCR Simulation · Melting Temperature · Virtual Gel Bench · Primer Library
Variants of step 3: Fusion PCR for overlap-extension joins · Multiplex PCR for a pool that must not cross-dimerize · qPCR Design when the product is a probe assay rather than a band.
What follows: clone-and-verify — the amplicon as an assembly fragment.
The canvases this draws on: the sequence map · the gel.
Clone an insert into a vector, and prove it worked
The route: open the parts → open the vector → assemble → check the product → verify the real construct against it.
Design a CRISPR guide, check where else it binds, and measure the edit you got
The route: enumerate guides on the target → read the scores for what they are → search for off-target sites → screen the guide for cloning → sequence the edited pool and decompose it.