← 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 correct junction-spanning pair is supposed to fail genomic In-Silico PCR. That is the entire point of designing it that way.

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.

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