Why Inspect Missingness Patterns?
A single overall missingness percentage can conceal very different data problems. The same percentage might arise from a few samples with many no-calls, a few loci with poor calls across many samples, or a broader patch of missing genotypes affecting a subset of samples and loci. These patterns matter because they suggest different follow-up checks. A sample-level problem may prompt review of sample processing or data handling; a locus-level or genomic-region pattern may prompt review of assay performance or alignment. In either case, the pattern is a diagnostic clue, not proof of its cause.
The earlier material on variant call rate, sample call rate, and iterative variant and sample filtering defined call rates and discussed filtering decisions. Here the emphasis is different: use complementary summaries and plots to see where missing calls occur in the retained data, and decide what deserves investigation. The calculations assume that missing-value encoding is correct and that the denominator includes only genotypes that were eligible to be called. A genotype not assayed at a locus must not be silently treated as an ordinary no-call if it was never eligible for a call.
Define the Missingness Summaries
Represent the genotype data as \(n\) samples measured at \(m\) loci. Define \(M_{ij}=1\) when the genotype for sample \(i\) at locus \(j\) is missing, and \(M_{ij}=0\) when it is observed. For now, assume every one of these \(n m\) sample-locus combinations is eligible for assessment. If eligibility varies, use the number of eligible combinations in each denominator instead.
Here \(r_i\) is the missingness rate for sample \(i\), \(c_j\) is the missingness rate for locus \(j\), and \(R\) is the overall rate. Each is between 0 and 1; multiplying by 100 expresses it as a percentage. The call rate is the complement of the missingness rate when the denominator is the same: for example, a sample with 4% missingness has a 96% call rate. Stating the denominator matters whenever some combinations were not eligible for calling.
How the Summaries Fit Together
The overall rate is not generally the unweighted average of the sample rates or the locus rates. Rather, it is the average of the sample rates when each sample has the same number \(m\) of eligible loci, and it is also the average of the locus rates when each locus has the same \(n\) eligible samples. This follows by counting the missing entries in two ways:
This identity is a useful check on a calculation or software output. If eligibility differs across combinations, the simple averages need not equal the overall rate: summaries must use the appropriate eligible-count denominators, and the overall rate must weight each eligible combination once.
Worked Example: Computing Both Marginal Summaries
Suppose a hypothetical matrix contains four samples and five loci, and every combination is eligible. The missingness indicators are:
| Sample | Locus 1 | Locus 2 | Locus 3 | Locus 4 | Locus 5 |
|---|---|---|---|---|---|
| A | 0 | 0 | 1 | 0 | 0 |
| B | 1 | 0 | 0 | 0 | 0 |
| C | 0 | 1 | 1 | 0 | 0 |
| D | 0 | 0 | 0 | 1 | 0 |
Sample A has one missing call among five eligible loci, so \(r_A=1/5=0.20\), or 20%. Samples B and D also have \(1/5=20\%\) missingness. Sample C has two missing calls, so \(r_C=2/5=40\%\). Across samples, the locus counts are 1, 1, 2, 1, and 0. Therefore the locus rates are 25%, 25%, 50%, 25%, and 0%, respectively.
There are five missing entries among \(4\times5=20\) combinations, so \(R=5/20=0.25\), or 25%. The average sample rate is \((20\%+20\%+40\%+20\%)/4=25\%\), agreeing with the overall rate. The average locus rate is \((25\%+25\%+50\%+25\%+0\%)/5=25\%\) as well. In this small matrix, locus 3 has the largest locus rate, while sample C has the largest sample rate; neither summary alone describes the full arrangement of the five missing cells.
Plots That Reveal Different Patterns
A useful diagnostic set combines one-dimensional summaries with a display that preserves sample-by-locus structure. No single plot answers every question.
- Ranked sample-rate plot: plot each sample’s missingness rate, ordered from low to high, with sample identifiers available for follow-up. It reveals whether missingness is concentrated in a few samples or broadly distributed. A histogram shows the distribution but usually makes individual outliers harder to identify.
- Ranked locus-rate plot: plot each locus’s rate, preferably with genomic position or locus identifiers available. A few high-rate loci may stand out; a position-ordered plot can show whether elevated rates cluster in a region.
- Sample-by-locus heatmap: display missing entries distinctly from observed entries, with samples as rows and loci as columns. A row-wide band suggests that one sample has missing calls at many displayed loci; a column-wide band suggests that a locus is affected across samples. A rectangular patch can indicate a pattern limited to a subset of samples and loci.
The heatmap depends on ordering. Genomic-position ordering can help reveal contiguous locus patterns, while a documented sample ordering—such as processing batch—can help reveal sample-group structure if that information is available. Arbitrary ordering can hide a coherent pattern or create a misleading visual impression. For large matrices, a plot may show only a subset or an aggregation; its resolution and filtering should be stated so that apparent absences are not mistaken for observed genotypes.
Worked Example: Finding a Sample-Level Outlier
In a hypothetical data set of 200 eligible loci per sample, eight samples have missing-call counts of 4, 5, 5, 6, 7, 8, 9, and 50. The corresponding rates are the counts divided by 200: for the last sample, \(50/200=0.25\), or 25%; for the sample with 9 missing calls, \(9/200=0.045\), or 4.5%. The other six rates range from \(4/200=2\%\) to \(8/200=4\%\).
A ranked sample-rate plot would show a clear gap between 4.5% and 25%. This is evidence that the last sample deserves review, not evidence that a specific laboratory failure occurred. A heatmap can then show whether its 50 missing calls are spread across the genome or concentrated in a few regions. The denominator is the same 200 eligible loci for each sample, so the comparison is direct. If the sample had fewer eligible loci, rates would still be comparable in principle, but the differing denominators and reasons for ineligibility would need explicit review.
The next diagnostic step is to check the sample identifier, missing-value encoding, eligibility definition, and any available processing records, then compare the pattern with other samples. A single high rate should not be explained away as a batch effect or treated as proof of poor sample quality without corroborating evidence.
Worked Example: A Localized Locus Pattern
Consider a hypothetical set of 20 samples, split evenly across two processing batches, and four adjacent loci. At the first locus, 8 of 10 samples in Batch A and 0 of 10 in Batch B have missing genotypes. At each of the other three loci, 1 of 20 samples is missing. The first locus’s overall missingness rate is \(8/20=40\%\); each other locus has rate \(1/20=5\%\). Across the four loci there are \(8+1+1+1=11\) missing entries among \(20\times4=80\) eligible combinations, giving an overall rate of \(11/80=13.75\%\).
A position-ordered locus plot would show one conspicuously high-rate locus rather than a broad run across all four. A heatmap ordered by processing batch would show a patch at the first locus among Batch A samples. This combination suggests checking whether the pattern aligns with sample processing or with the locus’s assay or genomic context. It does not establish a batch effect or identify a biological explanation: the small hypothetical counts are descriptive, and other explanations—including coding or eligibility problems—must be considered.
The data do not support calling all four adjacent loci a single failure region merely because they are adjacent: only the first has a high rate in these numbers. Conversely, inspecting only the overall 13.75% rate would conceal the sharply localized pattern. The marginal rate and the heatmap answer different diagnostic questions.
Interpretation, Comparisons, and Failure Modes
Ranked plots and heatmaps complement the numerical summaries. A table of rates is precise and easy to audit, but it can lose spatial or sample-by-locus structure. A histogram summarizes the distribution across samples or loci, but hides which identifiers drive its tail. A heatmap preserves intersections and ordering, but can be visually dense and sensitive to display choices. Using them together is more informative than relying on any one representation.
Treat a striking pattern as a reason to investigate, not as a cause or a final filtering rule. Check whether the apparent pattern persists after verifying missing-value encoding and eligibility, whether it aligns with sample or locus metadata, and whether it is driven by a very small denominator. Recompute summaries after any data changes and document the set of samples and loci included. These diagnostics do not determine whether missingness is associated with case-control status; that is a separate question requiring group labels and a different analysis.
- Unequal denominators: a rate based on few eligible genotypes is less stable than one based on many. Report counts alongside rates when eligibility varies.
- Hidden structure: an overall average can look moderate even when a subset of samples or loci has a severe problem. Inspect marginal distributions and the joint display.
- Overinterpreting a heatmap: visual blocks can depend on ordering, color scale, and plotted subset. Check the underlying counts and identifiers before describing a pattern.
- Confusing correlation with diagnosis: co-occurring missing calls or alignment with a processing label may motivate investigation, but do not by themselves establish why calls are missing.
The practical value of these diagnostics is that they separate broad summaries from localized clues. Sample-rate outliers, locus-rate outliers, and sample-by-locus patches point toward different follow-up checks, while none alone establishes a cause. Keep the numerical summaries, the plot ordering, the eligibility rules, and the included data set explicit so another analyst can reproduce the interpretation.
Check Your Understanding
Answer each question, then compare your reasoning with the solutions below.
- There are 10 samples and 40 eligible loci. One sample has 6 missing calls. What is its missingness rate and call rate?
- Three loci have missing-call counts of 0, 5, and 10 among the same 20 eligible samples. Calculate their rates and the overall missingness rate across these 60 combinations.
- Why can a moderate overall rate fail to reveal a serious sample-level problem?
- A heatmap shows a vertical band at several adjacent loci for many samples. Name two checks that could clarify the pattern, and state one conclusion the plot alone cannot justify.
Solutions. (1) The sample rate is \(6/40=0.15\), or 15%; the call rate is \(1-0.15=0.85\), or 85%. (2) The locus rates are \(0/20=0\%\), \(5/20=25\%\), and \(10/20=50\%\). There are \(0+5+10=15\) missing calls among \(20\times3=60\) combinations, so the overall rate is \(15/60=25\%\). (3) The overall rate pools all combinations and can dilute a high rate in one or a few samples with many well-called samples. Sample-level rates and a ranked plot can reveal that concentration. (4) Check the underlying counts and locus eligibility, and check whether the positions are genuinely adjacent and whether rates align with available assay or processing information. The heatmap alone cannot establish the cause of the missingness.