ClaridaClarida

Genotyping by allelic discrimination

All methods · September 19, 2026 · Jan Hellemans

A qPCR run file records dyes, wells and Cq values. The link between a dye and an allele lives in the assay design, so genotyping begins by declaring that design. Following one SNP from plate to result, this page describes the marker that carries the design, the roles its components play, how a ΔCq, a melting temperature or an end-point fluorescence reading becomes a genotype once a cut-off is supplied, why end point can call in X–Y or polar space, what a declined marker reports, and how a known-genotype control detects a mirrored plate.


A genotyping run looks, to an instrument, like any other qPCR run. Wells amplify, dyes fluoresce, Cq values come out. The fact that turns those numbers into genotypes lives elsewhere: which dye, in which well, reports which allele.

That fact belongs to the assay design. A TaqMan allelic-discrimination assay reads two alleles in two dyes, and its design document holds the mapping. A DMAS-qPCR assay reads both alleles in the same dye and separates them by well. Dye order identifies the allele in the first design and carries no information in the second.

Genotyping therefore begins by declaring the design, and the declaration has to happen before the numbers mean anything.

This page follows one marker through both halves of that job. Part one is setup: declaring the design while the plate is still in front of you. Part two is analysis: turning measurements into genotypes and judging how far to trust them. The running example is MTHFR C677T (rs1801133), a diploid SNP with two alleles, C and T.

Sections headed Concept stand on their own. A link from the app lands on one of them.

Part one · Setup

You are designing an experiment. The plate will carry 90 DNA samples, two allele-specific targets for rs1801133, and one reference target, RPP30. Clarida asks for the genotyping design in the Design tract, beside the assays.

That declaration is a marker.

Concept · The marker

A marker is the genotyping design for one polymorphic site. It carries three things.

Alleles are the reportable outcomes. Ours has two, C and T. A deletion marker has two named + and −; a star-allele marker may have several. The model admits any number, and a genotype is a multiset, so a heterozygote is C/T and a homozygote C/C.

Components are what gets measured, and what each measurement contributes to the calculation. Each component binds to one target on one assay and carries a role.

Method and cut-offs are how the reading is taken (ΔCq, end point, or melting temperature) and the thresholds that turn it into a genotype.

A marker holds references to targets. One reference-gene target serves every marker measured in the same well, and deleting a marker leaves its targets in place.

[figure showing the Marker setup table with one marker expanded to its component rows, the Type badge visible on each]

Concept · The locus, and why it is HGVS-shaped

A marker's locus says where on the genome it sits. Clarida stores it as four fields that compose into one coordinate:

locus_reference   type   position   ref_allele
NC_000022.11   :   g.   42126611      C

Reading left to right: the reference sequence, an accession with its version, since positions and reference bases move between assembly versions; the sequence type, the HGVS prefix saying how to read the position (g. genomic, c. coding DNA); the position; and the reference allele at it. Each allele's variant detail supplies the change, so the locus plus >T is the variant.

Strand is implied by the reference sequence. A c. description is in transcript orientation and a g. one is in the assembly's, so the accession pins the frame and two independent designs for the same rsID compare as strings. Allele nucleotides are stored in reference orientation, and a vendor's design strand is applied once at import and kept as provenance.

The four fields form a dependency chain: a position needs a reference sequence to number it, and a reference base needs a position to sit at. Sequence type stands outside that chain, since the accession gives it away (NC_ is genomic, NM_ is coding DNA).

A partial locus is a complete answer. A gene symbol, an in-house build id, or chr7 on its own is a locus. A copy-number or presence/absence marker has a locus and no position: CYP2D6*5 is a whole-gene deletion, and its locus is the gene.

Where a reference allele is recorded, the wild-type allele follows from it: HGVS has no wild-type allele, so the wild type is the one whose variant detail matches the reference base. Clarida offers that allele for confirmation. Star alleles, allele groups and presence/absence markers declare their wild type directly.

Concept · Covers — when one reportable stands for several variants

Most alleles are a single nucleotide change. Two shapes carry more.

A grouped allele is one the assay reports as a unit. An allele named LoF stands for several loss-of-function variants that the chemistry reads together. A star allele is a haplotype: NAT2*5B is defined by c.341T>C + c.481C>T + c.803A>G in combination.

For both, covers lists the variants the group stands for. Entries may be rs IDs or HGVS descriptions.

The call reports the group itself. *1/LoF states what the assay measured and how far it resolves. Resolving LoF into one of its members would state more than the measurement supports.

Concept · The four component roles

Each component declares what its target contributes. The role decides which measurements enter the arithmetic and which are reported alongside it.

RoleIs it an allele?Does it enter the calculation?What it is for
AlleleYesYesReports one of the marker's alleles. The terms the genotype is read from.
NormalizerNoYesCorrects the allele signals for how much amplifiable template the well contained.
ControlNoNoVerifies that the chemistry worked. Measured and reported.
TotalNoYesMeasures the locus irrespective of allele. The denominator in a dose readout.

Normalizer and control differ in one respect: whether the measurement enters the call. A normalizer's Cq is a term in the calculation, so changing it changes the genotype. A control sits outside the calculation and reports whether the result is trustworthy.

Our plate makes the difference concrete. RPP30 is on it, and its role follows from why it is there.

  • To correct for input amount, where more template gives an earlier Cq on both allele targets, RPP30 is a normalizer. Remove it and the ΔCq changes.
  • To show the reaction ran uninhibited, RPP30 is a control. Remove it and every genotype stays the same; the evidence that the wells worked is what goes.

Same target, same dye, same Cq, two roles, because the role records what the target does in this marker. A target that normalizes marker A can play no part in marker B on the same plate: the role lives on the marker's component.

Concept · Cut-offs belong to the assay

A reading becomes a genotype once you say which ranges mean which genotype. Those ranges are the marker's cut-offs, and they describe the assay design: a well-designed allelic-discrimination assay gives the same separation on every plate it runs on.

Clarida resolves them by a cascade. A value entered for this experiment wins over the library marker's stored value, which wins over a value the marker was shipped with, and the screen reports which source supplied the window in force.

Declaring the cut-off at design time makes the analysis a reading. Part two covers what happens when nothing declares one.

Concept · Orientation — which allele sits at the low end

A ΔCq is a difference between two components, and the order of subtraction decides the sign. Clarida stores that order as a property of the marker, so the same design gives the same axis every time it is used.

It defaults to wild-type-first where a wild-type allele is declared. A neutral SNP has no wild type, so the order stays open until you set it.

Two details follow. Flipping orientation inverts the sign of every ΔCq already computed, so the flip marks those results out of date and they are recomputed. And a flip moves the reading direction alone: the identity of the allele pair is stored separately, so cut-off windows saved against that marker survive it.

Concept · The control that detects a mirrored plate

Most qPCR failures are visible in the data. A failed reaction gives no signal. A contaminated no-template control amplifies. Inhibition shifts Cq values.

A swapped allele-to-target binding is silent. If our marker's C component is bound to the T target and vice versa, every well amplifies normally, every Cq sits in range, every quality metric passes, and every genotype in the table is mirrored. C/C samples report as T/T. Heterozygotes are their own mirror image, so they report correctly.

A sample whose genotype you already know detects it. Record an expected genotype against a reference material, per marker, and Clarida compares. The failure is systematic, so the signature is unambiguous: every known-genotype control returns its own mirror image. Clarida reports that as one unanimous finding and leaves the calls as they are. It tells you the marker is inverted; correcting it is your decision.

Two related controls answer different questions:

  • A no-template control that stays silent shows the reaction is clean. It carries no genotype, so it leaves orientation open.
  • A heterozygote-only control set verifies that both components work. Heterozygotes mirror onto themselves, so orientation stays unverified, and Clarida passes the marker and says so.

[figure showing the separation plot with the control lane at left, two known-genotype controls sitting in the bands opposite the ones they were expected in, and the inversion finding displayed]

Part two · Analyze

The plate has run and the Cq values are in. Calling resolves every marker's cut-offs and writes its results, so it runs on request.

You press Call genotypes.

Concept · The ΔCq

For the ΔCq method, the house method described in Lefever et al. 2019, a genotype is read from the difference between the two allele components:

ΔCq = Cq(C component) − Cq(T component)

A C/C sample amplifies early on the C component and late, or silently, on T, giving a large ΔCq of one sign. A T/T sample gives a large ΔCq of the other. A C/T heterozygote amplifies on both at roughly equal efficiency, giving a ΔCq near zero. The three genotypes occupy three separable regions of one axis, and calling decides where the boundaries lie.

A difference is what makes this work without a standard curve. Anything shifting both components equally, such as input amount, pipetting volume or plate position, cancels. A normalizer applies the same logic to a third measurement: it corrects both sides together.

[figure showing the separation plot for a well-separated marker: three clusters of points on the ΔCq axis with the genotype bands painted behind them]

Concept · The bands carry the allele they call

The order of subtraction is a stored property of the marker, so two designs of the same variant can produce mirrored axes carrying identical information.

Clarida labels each band with the allele it calls. Reading the label gives the genotype on any design; reading the sign gives it on one.

Concept · A one-sided ΔCq is a bound

Where one component stayed silent, the difference is known to be at least, or at most, some value.

A bound settles a homozygote: a sample that amplified strongly on C and silently on T is the cleanest C/C there is, and the direction is unambiguous. A heterozygote needs both sides. Clarida calls on a bound where the bound decides the genotype, and the table reports which direction it fixes.

These samples sit in their own lanes off the ΔCq axis, since they have no finite value to plot, and they carry a genotype.

Concept · Three methods, one marker each

ΔCq is one of three calling methods. The method is a property of the marker and names the physical readout the genotype is taken from:

MethodWhat is measuredTypical chemistryCalling cut-off
ΔCqThe Cq difference between two allele-specific componentsAllele-specific real-time PCR in one well (two dyes) or two (DMAS, ARMS)A ΔCq window per allele pair
TmThe melting temperature of each melt peakAssays whose allele products melt at different temperaturesA Tm range per allele
End pointEnd-point fluorescence of each allele's dye, read in one wellA FAM/HEX duplex such as KASP or TaqMan allelic discriminationAn RFU threshold per allele, or a θ window and a minimum R

Choose the method from the assay, not from the data. A ΔCq cancels anything that shifts both components equally, input amount included. A melt peak's temperature depends on the product's sequence, not on how much of it formed. End-point fluorescence needs no Cq, which is how KASP and TaqMan genotyping assays are designed to be read.

Concept · Calling by melting temperature

A Tm marker carries one acceptance range per allele, in °C, and the ranges may not overlap. An allele is present in a well when one of the well's melt peaks falls inside its range, and the genotype is the set of alleles present: one allele is a homozygote, both a heterozygote. This is peak-set matching; it does not model curve shape, which is the domain of high-resolution melting.

Replicates combine per allele. When every well with a peak agrees, the allele is present or absent; when the wells disagree on which alleles are present, the cell is inconclusive, since the disagreement changes the genotype.

Three cases have their own outcome:

  • A peak outside every range leaves the genotype as the in-range peaks define it, and raises a caution: a primer dimer, an unexpected variant under the probe, or a range drawn too narrowly all look like this.
  • Amplification without a melt peak is a no call. The well produced product, so the sample is not silent, and the melt gives nothing to call from.
  • No amplification and no peak is no amplification, as two silent ΔCq components are.

Concept · Calling by end-point fluorescence

Suppose rs1801133 is typed with a single-well end-point duplex instead, FAM reporting C and HEX reporting T. Each well yields two numbers, one per allele, read after the final cycle. Clarida reads the experiment's consolidated end-point values, whether imported from the instrument or calculated from the amplification curves, and calls in one of two spaces. X–Y is the default.

X–Y space: a threshold per allele. Each allele has an RFU threshold, and an allele is present when its end-point fluorescence reaches it. The two thresholds divide the plot into four quadrants: C/C (FAM only), T/T (HEX only), C/T (both), and no amplification (neither). It is the intuitive rule, and it asks the question a small panel asks: is this allele there?

Polar space: a θ window and a minimum R. The same two numbers, x for the first allele and y for the second, each floored at zero, become an angle and a total:

θ = (2/π) · arctan(y / x)     0 = first allele only, 1 = second allele only
R = x + y                     total end-point signal

A well whose R is below the marker's minimum R is silent, reported as no amplification. Otherwise θ below the θ window calls the first allele's homozygote, θ inside it, edges included, calls the heterozygote, and θ above it calls the second allele's homozygote. Replicate wells that call different genotypes make the cell inconclusive.

R = x + y is a fair measure of total signal in a competitive single-well duplex, where both allele-specific probes or primers share one template and one primer pool, so the total stays roughly the same whichever genotype the sample carries.

[figure showing the cluster plot for one end-point marker in both views: X–Y with the two threshold lines and named quadrants, and polar with the θ window's bounds and the minimum R line]

Concept · Why polar calling exists

θ is a ratio, so it does not move with the amount of template. A low-input heterozygote slides toward the origin along its own ray. Per-allele RFU thresholds can let the weaker of its two signals drop below threshold and read it as a homozygote; a θ window keeps it a heterozygote, and the minimum R decides separately whether there was enough signal to call at all. That is why large-scale end-point genotyping tools call by angle, as LGC's Kraken does with its angular linkage.

X–Y thresholds remain the default because they are easier to set and to explain on a panel of many markers and few samples. The calling space is a setting of the marker, declared in Marker setup and overridable for one analysis, exactly as a cut-off is, and a saved analysis records which space called it.

Choose the θ window from the data. θ is computed from the channels as measured and is not corrected for dye balance: when FAM runs brighter than HEX, the heterozygote cluster sits below 0.5. A window centered on 0.5 would then measure dye balance, not genotype. A declined end-point marker still measures every sample's θ and R, so the window can be read off the plate before it is set.

The view is not the rule. The cluster plot flips freely between X–Y and polar, and flipping never changes a call. The plot opens in the space that calls, and the calling rule is drawn in both views: a θ bound is a ray from the origin in X–Y, drawn from the minimum R outward, and the minimum R is the diagonal x + y = R; an RFU threshold is a curve in polar.

Concept · Quality values for end point

End point has no Cq, so its quality checks are its own. Four values judge how far to trust a call, and none of them changes a call:

ValueUnitWhat it does
Radial floorFraction of the full radiusA called sample below it is not fit to call.
NTC radial ceilingFraction of the full radiusA no-template control above it fails the controls.
Angular cluster widthDegreesA genotype class spread wider than this raises a caution on the marker.
Signal floorRFU, per alleleA sample fails the adequate-signal check when its strongest allele signal stays below that allele's floor.

The full radius is the largest R among the marker's unknown samples, so it is defined by the data and not by the plot's extent; no-template controls never set it. An unset value reports not assessed, never a pass. The values live on the marker, apart from its calling cut-offs, and can be overridden for one analysis. They apply in both calling spaces.

Not supported yet: end-point designs that read the two alleles in separate wells, calling by clustering, and per-channel normalization of θ.

Concept · A marker with no cut-off is declined

Suppose no cut-off resolves for our marker. Clarida declines it: the marker produces no calls, and the screen gives the reason.

The alternative is to derive boundaries from the plate by clustering the samples. Clustering describes the sample set: on a plate where every sample shares one genotype, it finds boundaries anyway and splits one real group in two. The result reads as an ordinary genotype table, and the boundaries belong to the plate.

A declined marker states the gap and takes one step to fix. Data-derived cut-offs fit an assisted step, where the software proposes a window and a human accepts it.

Two refusals read similarly and have different remedies:

  • "No cut-off to call against" — supply a window and call again.
  • "This marker cannot be called at all" — the marker's shape sits outside what the engine handles, such as three alleles against a biallelic engine.

Refusal applies to one marker. Its neighbors on the same plate call normally.

Concept · Five outcomes hold a cell with no genotype

The finished table is samples × markers, one genotype per cell. Five outcomes describe a cell holding no genotype, and each one points somewhere different.

OutcomeMeaningWhere to look
No callCalled, and the value landed in no bandThe marker: its cut-offs, its separation
InconclusiveReplicates disagree about presence, and the two readings imply different genotypesThe wells, and the NTC
No amplificationMeasured, and affirmatively nothingThe sample
Not measuredNothing to call from: the well was never measured, or every replicate was excludedThe plate layout
Over rangeA value outside the range the marker's windows coverThe assay

Each carries its own shape as well as its own color, so the table reads in grayscale and to a color-blind reader.

One more distinction, since the two have different remedies. A declined marker produced no calls, because no cut-off resolved; supply a window. A marker where every sample came back "no call" was called normally and separated nothing; look at the assay.

[figure showing the sample × marker table with several markers, including one column of genotypes, one declined column, and cells carrying each of the non-genotype outcome glyphs]

Concept · Quality sits beside the call

Clarida answers two questions separately:

  1. What genotype does the data support? The call.
  2. How far should you trust it? The quality verdict.

Replicate scatter, marginal signal and control failures answer the second. A sample flagged by the QC column has been called, and the flag says how heavily to lean on it. A failing control leaves the genotype in place and withdraws the evidence for it.

Every cell therefore reports an outcome and a confidence, and the two are read together.

Concept · A marker's QC verdict is a reduction

A marker spans one or more targets, two assays for a DMAS design, so its verdict reduces several component verdicts into one. It takes the worst of the components that are terms in the call: the allele components, the total, and the normalizer. One failing component fails the marker, since a ΔCq needs both sides.

Two components sit outside that ranking:

  • A component with no control configured has nothing to report, so it is excluded. An unchecked component leaves the marker's verdict to the components that were checked.
  • A failing control component is reported on its own. Controls sit outside the calculation, so a misbehaving control describes the run while the arithmetic stands.

QC failure and refusal are independent. The cut-off resolver reads no QC verdict, and the QC read consults no cut-off, so a marker can lack a window and carry a failing control at once. Clarida shows both whenever both are true, which puts the missing cut-off and the failing control in front of you together.

Worked examples

A TaqMan biallelic SNP. Two allele components in two dyes on one assay. The ΔCq is the difference between two dyes in the same well. Three bands, one axis. This is our running example.

A KASP or TaqMan end-point read. The same two components, method set to end point. Start in X–Y with a threshold per allele; move the marker to polar space when low-input heterozygotes fall below one allele's threshold, and set the θ window from where the plate's clusters actually sit.

A melt-based SNP assay. Two allele components, possibly on one target, each with its own Tm range. A heterozygote shows two peaks, one in each range.

A DMAS-qPCR marker. Two allele-specific primer sets in the same dye, in two wells, frequently on two assays. The components span assays, which the model supports directly. Dye order carries no information here, which is where an explicit allele-to-component binding earns its place.

A pharmacogenomic trio. Two allele components, a total component measuring the locus irrespective of allele, and a reference target as a normalizer. Four components, two of them outside the allele set and both terms in the calculation.

A detection panel. Four allele-specific targets at one locus is a marker with four alleles. Four targets for four organisms is a detection panel. The two are structurally identical in the database, since nothing records "these are alleles at one locus", so the judgment stays with you. Clarida's bulk derivation shows every proposed grouping for confirmation before anything is written.

Summary

Genotyping is the part of qPCR analysis where the experiment's design has to accompany its output. Clarida holds that design in the marker: a small, editable object declared beside the assays. The marker's method, ΔCq, Tm or end point, names the readout. Cut-offs come from the assay design, a marker without one is declined and says so, the reading direction is a stored property, and quality is reported beside each call.

Spend time on science, not the pipeline.

Free to start. No credit card required. Export your data anytime.