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.
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:
- Against the genome — will these primers bind somewhere they should not? Paralogs, processed pseudogenes, repeats, and contaminating genomic DNA in an under-DNased RNA prep. This is raw, unspliced sequence.
- Against the transcriptome — does this pair actually produce the amplicon you expect, from the template qPCR really uses? After reverse transcription your template is spliced mRNA, not genome. Only transcript sequence can confirm the real product and its size.
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:
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:
- Paste your forward and reverse primer.
- Pick the organism.
- Read the two results as a pair, not in isolation.
How to read the two results together
- 1 transcript hit, 0 genomic hits — the ideal junction-spanning pair. One product from mRNA, nothing from contaminating gDNA.
- 1 transcript hit, 1 genomic hit — works, but does not discriminate. Common for single-exon genes, where a junction-spanning design is impossible. Treat your DNase step as load-bearing.
- 1 transcript hit, several genomic hits — look at what the extra hits are. Paralogs and processed pseudogenes are the usual culprits, and they are why a clean melt curve can still be measuring the wrong thing.
- More than one transcript hit — your pair amplifies several isoforms of the gene. Sometimes that is what you want; when it is not, you need isoform-specific design.
- 0 transcript hits — now you have a real problem, and this time the empty result means what you feared.
Honest limitations
- Exact matches only. The engine does not tolerate mismatches yet, so a primer carrying a deliberate mismatch — an allele-specific design, say — will under-report hits. Mismatch tolerance is next on the list.
- It is a search, not a thermodynamic model. It tells you where a sequence occurs and how large the product would be. It does not predict efficiency, secondary structure, or whether your pair will behave at 60 °C.
- Annotation is the ceiling. A transcript that is not in the reference cannot be found, and non-model organisms have patchier annotation than human.
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 — freeIn-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.