How Allele-Specific Primers Actually Discriminate (KASP and ARMS)
13 min read · Updated August 11, 2026
Allele-specific PCR sounds like it should not work. You order two primers that differ at a single 3'-terminal base, and expect the polymerase to extend one and refuse the other. Sometimes it does exactly that. Often both amplify and your genotyping plate comes back as one indistinct cloud instead of three clusters.
The difference is not luck, and it is not mostly the cycling conditions. It is which mismatch your particular SNP happens to produce — and for the majority of SNPs the answer is one the polymerase does not mind at all. This guide covers what the original measurements actually say, why the strand you are reading decides the answer, and what the deliberately-engineered second mismatch is compensating for.
The observation the whole method rests on
Newton and colleagues described the amplification refractory mutation system in 1989 (Nucleic Acids Res 17:2503-16, doi:10.1093/nar/17.7.2503). The finding they built it on is stated in their abstract as the basis of the invention, and they call it unexpected: "oligonucleotides with a mismatched 3'-residue will not function as primers" under appropriate conditions. Give a primer whose last base matches one allele and not the other, and the reaction reports the genotype by whether a product appears.
That is the story everyone learns, and it is a third of the picture. The other two thirds arrived a year later.
Most 3' mismatches amplify perfectly well
Kwok and colleagues measured it properly (Nucleic Acids Res 1990;18:999-1005, doi:10.1093/nar/18.4.999): every 3'-terminal mismatch, against an HIV-1 gag template, scored by PCR product yield. The result is much less uniform than "a mismatched 3' base will not prime" suggests.
- A:G, G:A and C:C — yield down roughly 100-fold. These are the reliably refractory ones, and they are the reason ARMS works at all.
- A:A — down about 20-fold. Real discrimination, an order of magnitude weaker than the top three.
- Everything else — amplified efficiently. Kwok's own summary is that mismatches of T with G, C or T "had a minimal effect" on yield.
- G:G — the awkward one. It amplified efficiently, but they found it markedly more sensitive to sequence context and dNTP concentration than the others, so it is the class you can least predict from a table.
Reading that list the way a designer has to
Three of twelve mismatches give you a hundred-fold. One gives you twenty. The remaining eight give you close to nothing on their own. If your assay lands on one of those eight, the allele-specific primer will happily extend on the wrong allele, and no amount of annealing-temperature optimisation converts a mismatch that the enzyme tolerates into one it does not.
Notation matters here and gets muddled constantly. These pairs are primer base first, template base second — the base the primer actually sits opposite. That is not the same as naming the two alleles, and the difference is the subject of the next section.
The strand decides which mismatch you get
Take a C/T SNP and design the standard pair of allele-specific forward primers. The allele-C primer ends in C. When it misprimes on a T-allele chromosome, what is it sitting opposite?
Not T. A forward primer is a copy of the sense strand, so it anneals to the antisense strand, and the antisense base opposite a sense T is A. The mismatch is C:A, not C:T. Every classification has to be made against the complement of the other allele, and skipping that step inverts the answer for most SNP types — C:T is one of Kwok's weak classes and so is C:A, but for an A/G SNP the naive reading gives A:G, one of the three most refractory mismatches there is, while the real one is A:C, which amplifies fine.
Run it out for all six SNP types and each primer of the pair gets its own class:
- A/G (transition) — allele-A primer makes A:C, weak. Allele-G primer makes G:T, weak.
- C/T (transition) — allele-C primer makes C:A, weak. Allele-T primer makes T:G, weak.
- A/C — allele-A primer makes A:G, strong. Allele-C primer makes C:T, weak.
- G/T — allele-G primer makes G:A, strong. Allele-T primer makes T:C, weak.
- C/G — allele-C primer makes C:C, strong. Allele-G primer makes G:G, the unpredictable class.
- A/T — allele-A primer makes A:A, medium. Allele-T primer makes T:T, weak.
Two conclusions worth pinning up
First: no SNP gives you two strong mismatches. Every one of the six leaves at least one allele on a mismatch the polymerase tolerates. One primer of your pair is always the weak one, and it is the one that will produce the off-allele signal that smears your clusters.
Second, and worse: both transitions leave both primers weak. An A/G or C/T SNP has no refractory mismatch available on either side — and transitions are the more common class of SNP, so the majority of the assays anyone actually needs are the hard case. If you have ever wondered why one assay converted first time and the next one from the same panel never separated, this is the first place to look, before the cycling conditions.
There is also a second, orthogonal axis that no mismatch table encodes. Ayyadevara and colleagues (Anal Biochem 2000;284:11-18, doi:10.1006/abio.2000.4635) found Taq highly specific for complementarity at a 3'-terminal T, C or G — 40- to 100-fold discrimination — but reported that primers ending in a 3'-terminal A amplify less efficiently regardless of the template base, and discriminate correspondingly poorly. If your allele-specific primer has to end in A, expect trouble that the mismatch class alone will not predict.
What the second, deliberate mismatch is for
The standard fix is to build a second mismatch into the primer a few bases in from the 3' end — typically the third base from the end, close enough to destabilise the 3' region without being the terminal base that carries the allele call. Kwok measured this case too: a double mismatch within the last four bases, one of them terminal, generally reduced yield dramatically.
It is a supporting actor, not a replacement. Ayyadevara's group put a number on how fast the effect decays as you move inwards: a mismatch at the penultimate position is worth roughly a fifth of a terminal one, 8- to 20-fold against 40- to 100-fold. Two mismatches together are what make a weak assay work, which is why removing either one is a bad trade.
The mismatch you add is chosen to complement the natural one. A primer already sitting on a strong 3' mismatch needs only a weak secondary — pile on a strong one and the primer stops amplifying on its own allele too, which loses you a cluster instead of resolving one. A primer on a weak natural mismatch needs a strong secondary, because the secondary is doing nearly all of the discrimination.
The consequence follows directly from the table above, and it is the part most design workflows get wrong: the two primers of one assay usually need different secondary mismatches. Any tool or spreadsheet that computes one "mismatch strength" per SNP and applies it to both primers is right for at most one of them.
A worked design, and the asymmetry made concrete
Here is the same 200 bp target with the SNP at position 101, designed twice. The two runs differ only in which alleles are declared.
For an A/C SNP, the two primers come back with different natural mismatches and therefore different engineered ones. The allele-A primer makes A:G, strong, so it gets a weak secondary — a G:G at the third base from its 3' end. The allele-C primer makes C:T, weak, so it gets a strong secondary — an A:G at the same position. Same assay, same SNP, opposite treatment: cores ACGTATCTAATCGCGGGA and ACGTATCTAATCGCGAGC, differing at two positions rather than one.
For a C/T SNP at the same position, both primers make weak natural mismatches — C:A and T:G — so both get a strong secondary, and the tool says so in its own output: neither allele gets better than a weak natural 3'-terminal mismatch, the engineered mismatch is carrying most of the specificity, confirm discrimination empirically.
One honest caveat about how that secondary base is picked. It has to be a genuine mismatch against whatever base sits two positions upstream of your SNP, so the available classes are whatever that one template base allows — often there is no candidate in the class you wanted, and the design takes the nearest available. For the A/T SNP on this target the allele-A primer wants a medium secondary, no medium candidate exists against that template base, and it settles for a strong one. Read the reported class rather than assuming you got the one the rule asked for.
What KASP adds on top of ARMS
KASP — Kompetitive Allele Specific PCR — is ARMS with a universal readout bolted on, and LGC's own user guide describes it as a homogeneous, fluorescent, endpoint genotyping technology. The assay-specific part is still just three unlabelled oligos: two allele-specific forward primers and one common reverse primer. Nothing is dye-labelled.
The labels live in a universal master mix instead. Each allele-specific primer carries a different unlabelled tail at its 5' end. In the first round the matching primer extends and the common reverse primer amplifies the region; in the second the reverse primer copies through the tail, creating its complement; from the third round onward a fluor-labelled oligo from the FRET cassette binds that new complementary tail and is released from its quencher, generating signal. FAM reports one allele, HEX the other, and a passive ROX dye normalises for well-to-well volume differences so the clusters tighten.
The practical consequence is cost. The expensive labelled component is generic and comes in the master mix, so a new assay costs three plain oligos. LGC quotes well over 90% SNP-to-assay conversion across a wide variety of organisms, and distinguishes assays designed purely in silico and shipped unvalidated from ones they have functionally validated first — a distinction worth knowing when an assay does not work.
The two standard tail sequences are published throughout the KASP literature: GAAGGTGACCAAGTTCATGCT for the FAM channel and GAAGGTCGGAGTCAACGGATT for HEX, 21 nt each. A finished ordered primer is that tail plus your allele-specific core — 39 nt in the worked example above, which is a normal oligo synthesis order and nothing more exotic.
The conditions, from the vendor's own protocol
Worth having in one place, because a lot of published KASP troubleshooting is really a cycling problem. These are from LGC's KASP genotyping chemistry user guide.
- Two-step cycling, not three: denature high, then anneal and extend together at the lower temperature.
- Hot start at 94 °C for 15 minutes, then 10 touchdown cycles of 94 °C/20 s and 61 °C/60 s dropping 0.6 °C per cycle to 55 °C, then 26 cycles of 94 °C/20 s and 55 °C/60 s.
- If clusters are not tight, recycle: three further cycles of 94 °C/20 s and 57 °C/60 s, reading again after each round, until they separate.
- Read the plate at 40 °C or below. The guide is emphatic about it, attributing the limit to the underlying mechanism of the chemistry and warning that higher temperatures give poor-quality data. On a real-time machine, read after the run rather than generating endpoint calls from the live curves.
- 5-50 ng of good DNA per reaction, with more needed for larger genomes; 2.5 mM final MgCl2, raised to 2.8 mM for particularly A/T-rich regions.
- Include at least two no-template controls per plate, and enough samples — around 22 or more — that the clusters have something to form out of. Genotypes are called from cluster membership, so a handful of samples genuinely cannot be called reliably.
Before you order
- Give the design enough flank. The allele-specific primer's 3' base has to land on the SNP, so everything else in it comes from upstream template — a design needs at least 17 bp on the 5' side of the SNP before it is even possible, and comfortably more to have any choice of length.
- Check for other variants under the primers. A second SNP or indel in the region your primers cover will genotype your polymorphism inconsistently across samples, and this is a leading cause of assays that work in one population and fail in another.
- Read both primers' natural mismatch classes, not one number for the SNP. If both are weak — every transition — plan on empirical validation rather than assuming the design will convert.
- Check the reported secondary mismatch you actually got, since the sequence two bases upstream constrains what was available.
- Look at the two allele-specific primers' Tm values together. If a Tm-matched design gives the two cores different lengths, the two allele products differ in size by that difference, which is harmless for an endpoint fluorescent readout and confusing if you also run a gel.
- Keep the amplicon short — the designer searches a 60-150 bp window by default. The readout is endpoint fluorescence rather than a size call, so there is nothing to gain from a long product and something to lose on degraded or low-input DNA.
- Run known-genotype positive controls, especially for a rare allele — with cluster-based calling, a genotype nobody in the plate carries is a genotype you cannot recognise.
Tooling
This niche is served mostly by ageing crop-specific tools and by spreadsheets passed between labs, which is part of why the strand and asymmetry mistakes are so persistent.
SeqBench's KASP / ARMS Primer Designer takes a target sequence, a SNP position and the two alleles, and returns the complete assay: two allele-specific cores with the standard FAM and HEX tails attached, each primer's own natural 3'-terminal mismatch class computed against the correct strand, an engineered secondary mismatch chosen to complement that primer's own class, and a common reverse primer placed within your chosen amplicon window. Tm comes from the same nearest-neighbour engine as the rest of the site. Every number in this guide is its real output.
It flags the cases the literature says to be careful about rather than hiding them — a G:G natural mismatch, a SNP where both alleles are weak — and it refuses rather than guesses when the SNP is too close to the start of your sequence to build a primer at all. What it cannot do is tell you whether the assay will convert. Allele discrimination depends on the template, the sample, and the reaction; the design gets you to a plate worth running.
Frequently asked questions
Why does my allele-specific PCR amplify both alleles?
Most likely because your SNP produces a 3'-terminal mismatch the polymerase tolerates. Kwok et al. 1990 measured all twelve: only A:G, G:A and C:C drop yield around 100-fold and A:A about 20-fold, while the remaining eight amplify efficiently. Both transitions — A/G and C/T — leave both primers on a tolerated mismatch, so the discrimination has to come from a deliberately engineered second mismatch, not from the terminal base. Raising the annealing temperature will not turn a tolerated mismatch into a refractory one.
Where should the second, deliberate mismatch go in an ARMS primer?
Commonly the third base from the 3' end: close enough to destabilise the 3' region, far enough that it does not disturb the terminal base carrying the allele call. Kwok et al. found that a double mismatch within the last four bases, one of them terminal, generally reduced yield dramatically — which is the effect you are recruiting. Choose its strength to complement the natural mismatch: a strong natural mismatch needs only a weak secondary, and a weak natural one needs a strong secondary.
Do both allele-specific primers need the same secondary mismatch?
Usually not, and this is the most common design error. Each primer's natural mismatch is its own 3' base opposite the complement of the other allele, so the two differ for every transversion. An A/C SNP gives A:G (strong, ~100-fold refractory) for the A-primer and C:T (weak) for the C-primer, so the first needs a weak secondary and the second a strong one. A tool that computes one mismatch strength per SNP and applies it to both primers is right for at most one of them.
How do I work out which mismatch my SNP actually produces?
Take the primer's 3' base and pair it against the complement of the other allele, not against the other allele itself. A forward primer is a copy of the sense strand and anneals to the antisense strand, so an allele-C primer on a T-allele template sits opposite A, giving C:A. Getting this backwards inverts the classification for most SNP types — the naive reading of an A/G SNP gives A:G, the most refractory mismatch there is, when the real one is A:C, which amplifies fine.
What are the KASP FAM and HEX tail sequences?
GAAGGTGACCAAGTTCATGCT for the FAM channel and GAAGGTCGGAGTCAACGGATT for HEX, 21 nt each, published throughout the KASP literature. They are unlabelled: the fluorophores live on the universal FRET cassette in the master mix, which binds the complement of the tail once the common reverse primer has copied through it. That is why a new assay costs three ordinary unlabelled oligos.
What thermal cycling does KASP use?
Two-step rather than three, with annealing and extension at the same lower temperature. LGC's user guide specifies 94 °C for 15 minutes to activate, then 10 touchdown cycles of 94 °C/20 s and 61 °C/60 s dropping 0.6 °C per cycle, then 26 cycles of 94 °C/20 s and 55 °C/60 s. If clusters have not separated, add three cycles of 94 °C/20 s and 57 °C/60 s and read again, repeating as needed. Read the plate at 40 °C or below.
My KASP plate will not cluster. What do I check first?
In order: whether the plate was read at 40 °C or below, whether there are enough samples for clusters to form at all (LGC suggests around 22 plus two no-template controls), whether more cycles are needed, and whether the DNA is in the 5-50 ng range with more for a large genome. If the assay still will not separate, look at the design: a second variant under one of the primers, or a SNP whose natural mismatches are both weak, are design problems that no cycling change fixes.
How much flanking sequence does a KASP assay design need?
The allele-specific primer ends on the SNP, so its entire body comes from upstream — at least 17 bp on the 5' side before a design is possible at all, and more if you want any choice of primer length for Tm matching. Downstream you need room for the common reverse primer inside your amplicon window, typically under 150 bp. In practice, submit 50 bp or more either side and check that no other known variant sits under either primer.
Is a G:G mismatch good or bad for allele discrimination?
Unpredictable, which in a design context means treat it as bad. Kwok et al. amplified G:G efficiently — so as measured it belongs with the tolerated classes — but noted it was markedly more sensitive to sequence context and dNTP concentration than the others. A C/G SNP puts one primer on C:C, one of the three strongly refractory mismatches, and the other on G:G, so the two alleles of that assay behave very differently and the G side is the one to validate.
Related references
Related tools
Design KASP/ARMS SNP-genotyping primers — two allele-specific forward primers with FAM/HEX tails and an engineered ARMS secondary mismatch, plus a common reverse primer.
Design ranked PCR primer pairs from a template, with Tm, GC and dimer checks.
Estimate primer Tm, GC% and molecular weight from a sequence.
Enter a template and two primers to predict the PCR product, its size and position.
Nearest-neighbor Tm, ΔG, hairpins and primer dimers for any oligo or primer pair.
Lay out PCR reactions on a 96-well plate and export a runnable Opentrons protocol or Echo picklist.