← BioTransfer Blog
qPCR · Primer validationAugust 11, 2026

Your junction-spanning primers show no In-Silico PCR hits — that's not a bug

You did everything right. You designed a qPCR primer pair that straddles an exon–exon junction, precisely so it cannot amplify genomic DNA. Then you pasted it into In-Silico PCR to confirm specificity and got back: no matches. So you threw away a perfectly good primer pair and started again. Here is why that happens, and what you should have checked instead.

The thing nobody tells you

A junction-spanning pair usually should fail genomic In-Silico PCR. That is the point of designing it that way — though not every such pair does, and the exceptions are worth knowing before you trust the result. They are covered below.

A junction-spanning primer sits half on the end of one exon and half on the start of the next. In mature mRNA those two halves are adjacent, so the primer binds cleanly. In genomic DNA they are not adjacent — an intron sits between them, often thousands of bases long. The primer's two halves land in different places, and the search finds no contiguous match.

mRNA (spliced)   …EXON 3│EXON 4…   → primer binds

Genome           …EXON 3──intron, 4 kb──EXON 4…   → no contiguous match

So an empty result is not evidence that your primers are wrong. If anything it is weak evidence that they are right. What it is not, is an answer to the question you were actually asking.

Two different questions, two different targets

“Are my primers specific?” is really two questions, and they need different sequence to answer:

The trap: most people only ever run the genomic check, because that is the one that is easy to find. For a junction-spanning pair it returns nothing, and “nothing” gets read as failure. The transcriptome check is the one that would have said yes, one product, 118 bp.

Why you probably cannot run the check that matters

UCSC's In-Silico PCR is excellent, and it does offer a transcript-level target — a GENCODE-derived set called KgSeq. The catch is which genomes have one. Here is what UCSC's own targetDb directories currently hold:

hg38      (human)       KgSeqV38 … V50   
mm39      (mouse)       KgSeqVM30 … VM39  
danRer11  (zebrafish)   —
ce11      (C. elegans)  —
rn7       (rat)         —
dm6       (fly)         —

Human and mouse have a transcript target. Nothing else does. If you work on zebrafish, worm, rat or fly, the transcriptome check — the one that answers the question you care about — is not available to you at all. You are left with the genomic check, which for a junction-spanning pair is precisely the check that returns nothing.

That gap is the whole reason we built our own.

What to do instead

Run both checks and read them together. Our In-Silico PCR keeps two targets per organism for exactly this reason:

  1. Paste your forward and reverse primer.
  2. Pick the organism.
  3. Read the two results as a pair, not in isolation.

How to read the two results together

Which organisms are live: the in-house engine currently covers zebrafish and C. elegans, chosen deliberately — after human and mouse, these are the largest model systems UCSC leaves without a transcript target. For human and mouse we link you straight to UCSC rather than duplicate a service that already works well. More organisms are being added in that same order: the biggest unserved model first.

When a junction-spanning pair does hit the genome

The rule above is a tendency, not a guarantee. We took the top recommended pair from our own designer for sixteen human genes and asked a narrower question than PCR does: does each primer occur as a contiguous match in the gene's own locus? Eleven of those pairs had a primer sitting across a junction. Nine behaved as advertised — one primer had no genomic match at all, so no genomic product is possible. Two did not:

protected  (one primer absent from the locus)
  ACTB · WDR4 · B2M · RPL13A · CACNA2D3 · STEAP1 · ALK · PHOX2B · TP53

both primers still match the genome
  GAPDH · ANXA1

So roughly one junction-spanning design in six is not protected at all. That it is GAPDH should give you pause: it is the most-used reference gene in the field, and a pair designed across its junctions still amplifies genomic template. Three things cause this.

1. Processed pseudogenes ignore junctions entirely

A processed pseudogene is a spliced mRNA that was reverse-transcribed and reinserted into the genome. It has no introns — it is a DNA copy of the mature transcript, exon junctions and all. A junction-spanning primer binds it perfectly.

Run our GAPDH pair against hg38 and you get two hits. One is the real locus on chr12. The other, at chr16:28,240,481-28,240,648, is GAPDHP35 — a single-exon pseudogene, and the product is 168 bp, essentially the 169 bp you expect from cDNA. GAPDH has dozens of these. Junction-spanning design offers no protection against any of them.

2. Some introns are short enough to amplify through

The same GAPDH pair also amplifies the real chr12 locus, at 259 bp against the 169 bp cDNA product — only 90 bp of intron in between. Junction-spanning is often described as making genomic amplification impossible; on a compact gene it merely makes the product slightly larger.

3. "Spanning" is not enough — position within the primer matters

A 20-mer with two bases in one exon and eighteen in the next technically spans the junction, but its 3′ end sits entirely inside one exon. In-Silico PCR tools do not demand a perfect match along the whole primer — UCSC's requires perfection only over the 3′ region — so that primer binds genomic DNA as happily as cDNA. The junction has to sit near the middle to do the job it was put there for.

What this changes: the reassuring result is not "junction-spanning" on the label. It is at least one primer with no genomic match. That is what actually prevents a genomic product, and it is what the two checks together tell you.

Honest limitations

The short version

If your junction-spanning primers return nothing in genomic In-Silico PCR, you have not learned that they are bad. You have learned that they span a junction. Check them against the transcriptome before you throw them away — and if your organism is one of the many UCSC has no transcript target for, that check now exists.

Check your primers against genome and transcriptome — free

In-silico PCR for zebrafish and C. elegans, the model organisms UCSC has no transcript-level target for. Paste a primer pair, pick an organism, no login.

Open In-Silico PCR →

Designing the primers in the first place? The qPCR Primer Designer prefers junction-spanning pairs and links each one straight to this check.

Published August 11, 2026 · BioTransfer · More posts