Tutorials › Statistical Genetics › Variant Call Rate and Missingness Diagnostics

Genotyping Data and Quality Control · Tutorial 88 of 989

Variant Call Rate and Missingness Diagnostics

Calculate each variant’s missingness and use call-rate summaries and genomic location to identify sites that need investigation.

Beginner 10 min read

What You'll Learn

  • Define a variant’s missingness proportion and call rate using a consistent eligible-sample denominator
  • Convert genotype-call counts into variant-level rates
  • Summarize and interpret the distribution of call rates across variants
  • Detect unusually low call rates and clusters of missing calls along genomic coordinates
  • Distinguish a diagnostic flag from evidence about the cause of missingness

Why Measure Missingness by Variant?

A genotype data set can be viewed as a matrix: samples form one dimension, and variants form the other. The earlier material on sample call rate summarizes missing genotypes across variants for each sample. Here the question is the complementary one: for a particular variant, how many samples have a usable genotype call? A variant with many missing genotypes may be poorly measured, and several neighboring variants with similar problems may point to a localized technical or genomic issue.

Variant-level call rate is a diagnostic summary, not a guarantee that the observed genotypes are correct. A site can have calls in nearly every sample and still have errors among those calls. Conversely, a low call rate flags incomplete data but does not, by itself, identify why calls are missing. The purpose of this tutorial is to calculate the rate and use its distribution and genomic pattern to decide which variants merit closer review.

Definition: For variant \(j\), let \(N_j\) be the number of eligible samples and \(M_j\) the number of those samples whose genotype is recorded as missing at that variant. The variant missingness proportion is \(m_j=M_j/N_j\). The variant call rate is the proportion with a nonmissing genotype, \(c_j=(N_j-M_j)/N_j\). When the denominator is the same, \(c_j=1-m_j\).

Counting Missing and Called Genotypes

For the basic calculation, specify the sample set first. The eligible samples are those included in the genotype data being assessed at that variant; do not change the denominator silently from one site to another. For a standard diploid autosomal genotype matrix, each eligible sample contributes one genotype record at each variant. A record encoded as a no-call, such as “./.” in a VCF, contributes to the missing count; a nonmissing genotype contributes to the called count.

This definition assumes that missingness has already been represented consistently in the input data. If a field contains a partially missing genotype, such as one observed allele and one missing allele, the analysis needs a stated rule for whether that record counts as missing. It should not be treated as fully called by default. Ploidy conventions can also differ across genomic regions, so this simple definition should be applied to a clearly defined set of genotype records rather than mixing incompatible representations.

$$ \text{called genotypes at variant }j=N_j-M_j $$
$$ m_j=\frac{M_j}{N_j}, \qquad c_j=\frac{N_j-M_j}{N_j}=1-m_j $$

The two rates contain the same information when calculated from the same records: a missingness proportion of 0.08 corresponds to a call rate of 0.92. Reporting both can be useful because a high call rate and a low missingness proportion emphasize different sides of the same summary. State which quantity is being reported and whether it is expressed as a proportion or percentage.

Worked Example: Calculating One Variant’s Missingness

Suppose ten hypothetical samples have the following genotype records at one autosomal variant: 0/0, 0/1, ./., 0/0, 1/1, 0/1, ./., 0/0, 0/1, and 0/0. Assume all ten samples are eligible and “./.” is the agreed encoding for a missing genotype.

There are \(N_j=10\) eligible samples and \(M_j=2\) missing genotypes. Therefore, the call count is \(10-2=8\).

$$ m_j=\frac{2}{10}=0.20=20\%, \qquad c_j=\frac{8}{10}=0.80=80\% $$

Thus, 20% of eligible samples have no genotype call at this variant, and 80% have a recorded genotype. These figures describe completeness at this site; they do not establish whether the eight recorded genotypes are accurate.

Summarizing the Distribution Across Variants

A single variant rate is easier to interpret alongside the distribution across all variants under review. A histogram of call rates shows whether most sites are tightly concentrated near a high rate, whether there is a broad spread, or whether a lower tail or separate group of sites stands out. A table of quantiles or a boxplot can provide a compact summary, but the individual low-rate sites should remain identifiable for follow-up.

A mean call rate alone can hide a small set of problematic variants when most sites have high rates. Conversely, a low overall mean does not show whether many sites are moderately incomplete or a few sites are extreme. Inspect the shape and the individual values. There is no universal cutoff supplied by the rate calculation itself: a threshold is a later analysis decision that should reflect the data and study context.

Worked Example: Finding a Low-Call-Rate Tail

Consider eight hypothetical variants genotyped in the same 500 eligible samples. Their numbers of nonmissing calls are 499, 498, 497, 496, 495, 494, 493, and 410, respectively.

For each variant, divide the called count by 500. For example, the first rate is \(499/500=0.998=99.8\%\), while the last is \(410/500=0.820=82.0\%\). The full call-rate list as initially calculated is in descending order: 99.8%, 99.6%, 99.4%, 99.2%, 99.0%, 98.8%, 98.6%, and 82.0%.

To find the median, reorder the rates from lowest to highest: 82.0%, 98.6%, 98.8%, 99.0%, 99.2%, 99.4%, 99.6%, and 99.8%. With eight observations, the middle two are the fourth and fifth values, 99.0% and 99.2%. Thus the median is \((99.0\%+99.2\%)/2=99.1\%\).

The median of 99.1% indicates that half of these variants have a call rate at or below that central value and half at or above it. It does not make the 82.0% site unimportant: that value is far below the other seven and forms a conspicuous low-rate observation. It should be flagged for investigation, not automatically declared erroneous solely from this summary.

Look for Genomic Structure

A list or histogram does not retain genomic position. To assess whether missingness is localized, sort variants by chromosome and genomic coordinate, then plot call rate or missingness against position. A single low-rate site surrounded by high-rate sites differs from a stretch of neighboring sites that all have low rates. The latter pattern can suggest a region-specific measurement or representation problem, although it does not identify the cause.

Before interpreting a pattern, verify that the variants are correctly ordered and that the plotted rates use comparable eligible-sample denominators. A chromosome-wide display can make a localized cluster visible; a magnified regional display can then show whether low-rate sites are adjacent or scattered. Clustering is a diagnostic clue, not proof that a particular assay failure, sequence feature, or biological event caused the missingness.

Worked Example: Identifying a Localized Pattern

Suppose eight hypothetical variants lie on one chromosome. Each was assessed in the same 100 eligible samples. The first four positions are 1.00, 1.02, 1.04, and 1.06 Mb; their missing-call counts are 1, 2, 18, and 20. The next four positions are 2.10, 2.12, 2.14, and 2.16 Mb; their missing-call counts are 0, 1, 0, and 1.

For the third variant in the first region, \(m_j=18/100=0.18=18\%\), so its call rate is \(82\%\). For the fourth, \(m_j=20/100=0.20=20\%\), giving a call rate of \(80\%\). The two earlier variants have missingness proportions \(1/100=1\%\) and \(2/100=2\%\), or call rates of 99% and 98%.

In the second region, the missingness proportions are 0%, 1%, 0%, and 1%, corresponding to call rates of 100%, 99%, 100%, and 99%. The marked reduction is therefore localized to the adjacent variants at 1.04 and 1.06 Mb in this example, rather than appearing throughout both displayed regions.

This pattern warrants checking those coordinates and the underlying genotype records. It is not enough to conclude that the region has a particular technical defect: the rate plot shows where incomplete calls cluster, not the mechanism that produced them.

A Practical Diagnostic Sequence

The following sequence keeps the arithmetic, summary, and positional review separate. That separation helps prevent a visual outlier from being mistaken for a confirmed explanation.

1
Fix the records and denominator.
Define the eligible samples and the rule for classifying a genotype as missing. Apply the same rule consistently across the variants being compared.
2
Calculate both rates.
For each variant, count missing genotypes, divide by the eligible-sample count to obtain missingness, and take the complement to obtain call rate.
3
Review the distribution.
Use a histogram, quantiles, or a ranked list to locate the lower tail and distinguish broadly reduced call rates from a small number of extreme sites.
4
Map rates to genomic position.
Plot by chromosome and coordinate, then check whether low-rate variants are isolated or form a local cluster.
5
Record a diagnostic conclusion.
Identify which variants need review and what pattern prompted that review. Do not treat a rate or plot as proof of a cause.

Why the Denominator and Interpretation Matter

The equality \(c_j=1-m_j\) follows directly from partitioning the eligible samples into called and missing records. If \(C_j\) is the number of called records, then \(C_j+M_j=N_j\). Dividing each term by \(N_j\) gives \(C_j/N_j+M_j/N_j=1\); since \(c_j=C_j/N_j\) and \(m_j=M_j/N_j\), the complement relationship follows. It depends on the called and missing categories covering the same eligible records.

If denominators differ across variants, the rates can still be calculated, but comparisons need care. For example, excluding different samples at different sites can make two rates reflect different sets of people as well as different amounts of missingness. Record \(N_j\) alongside the rate and, where possible, use a clearly defined common sample set for a distribution intended to compare variants.

A related summary issue arises when combining variants. The average of the per-variant rates gives each variant equal weight, whereas the proportion of all genotype cells that are missing gives greater weight to variants with more eligible samples if denominators vary. With a common denominator for every variant, these two summaries coincide when averaged over the same set of variants. With varying denominators, specify which summary is being reported rather than calling both “the overall missingness rate.”

Common Mistakes

  • Using the wrong denominator. Dividing missing genotypes by called genotypes is not the missingness proportion. Use all eligible samples: \(M_j/N_j\).
  • Confusing call rate with missingness. A 15% missingness proportion means an 85% call rate, not a 15% call rate.
  • Treating missing as a genotype category. A no-call is absent information, not an allele or a third biological genotype.
  • Reading a cluster as a diagnosis. Adjacent low-call-rate variants identify a location for review; the pattern alone does not establish why calls are missing.
  • Assuming high call rate means high accuracy. Completeness and correctness are distinct properties. Call rate counts nonmissing records; it does not validate those records.
  • Sorting a list incorrectly when finding a median. For an even number of values, sort from lowest to highest first, then average the two central values.
Key takeaway: For each variant, divide its missing-genotype count by its eligible-sample count, and define call rate as the complement. Use the distribution to flag low-rate sites and genomic coordinates to identify clusters, while treating both as diagnostic evidence rather than an explanation of cause.

Check Your Understanding

Try these questions without looking back at the worked examples.

  1. At a variant with 240 eligible samples, 18 genotypes are missing. What are the missingness proportion and call rate?
  2. Explain why a site with a 97% call rate does not necessarily have 97% genotype accuracy.
  3. Why should the eligible-sample denominator be recorded when comparing call rates across variants?
  4. What additional information is gained by plotting call rate against genomic coordinate rather than reviewing a ranked list alone?
  5. Several adjacent variants have low call rates while nearby variants outside the region have high call rates. What can this pattern justify, and what can it not establish by itself?
Clinical Biostats