Tutorials › Statistical Genetics › A Worked Audit of Rare-Variant Data

Rare-Variant Data and Inference · Tutorial 416 of 989

A Worked Audit of Rare-Variant Data

Learn to audit frequency denominators, sequencing quality, functional annotations, and inclusion decisions in a rare-variant dataset.

Intermediate 10 min read

What You'll Learn

  • Calculate allele frequencies using the number of called chromosomes as the denominator.
  • Compare call completeness across case and control groups before interpreting frequency summaries.
  • Apply pre-specified call-quality and frequency rules without treating them as universal cutoffs.
  • Check how transcript choice and functional masks affect variant eligibility.
  • Document exclusions and produce a reproducible candidate list for downstream analysis.

Why Audit Before Analysis?

A rare-variant analysis can be affected by errors that begin well before a statistical test is run. A frequency may use the wrong denominator, a sequencing artifact may look like a genuine low-frequency allele, or a transcript-dependent annotation may not match the intended functional mask. An audit makes these decisions visible and checks them in a defined order.

The goal here is not to test whether a gene is associated with a trait. It is to decide which variant records are adequately supported and meet the study’s stated frequency and functional inclusion rules. The resulting list is an input to downstream gene-level analysis, not evidence that any included variant has an effect.

Definition: A variant audit is a documented review of variant identity, frequency summaries, call completeness and quality, functional annotation, and pre-specified inclusion rules. A variant is included only when it meets every applicable rule. A failed or unresolved check should be recorded, rather than silently treated as a passing result.

Set the Audit Rules Before Reviewing Candidates

Consider a hypothetical study of 100 cases and 100 controls, each with a binary trait. All candidate records are autosomal and diploid. For each group, the maximum possible number of called chromosomes at a fully observed site is \(2(100)=200\). In practice, missing genotypes reduce that number. The audit uses a study-specific rule set declared in advance: call rate must be at least 95% in each group, the absolute difference in call rate between groups must be no more than 2 percentage points, and listed site-level diagnostics must pass the project’s calibrated quality criteria. The external population allele-frequency threshold is 0.01. The functional mask includes high-confidence protein-truncating and canonical splice variants, plus missense variants meeting the project’s pre-specified annotation rule.

These cutoffs are illustrative, not universal recommendations. Thresholds should be chosen for the sequencing platform, study design, ancestry context, and intended analysis, and then applied consistently. The audit also assumes that variant records have been harmonized to the same reference build and allele representation, so that frequency and annotation records refer to the same alternate allele.

Definition: For a biallelic autosomal variant, the observed alternate-allele frequency in a group is \(AC/AN\), where \(AC\) is the number of called alternate alleles and \(AN\) is the total number of called chromosomes. With complete genotypes in \(n\) diploid individuals, \(AN=2n\); with missing genotypes, the observed \(AN\) is smaller. This is a descriptive frequency among called chromosomes, not automatically an unbiased estimate of frequency in a wider population.

Worked Example: Check Frequency Denominators

Worked Example: Check Frequency Denominators

Suppose variant V1 has 3 alternate alleles among 99 called cases and 1 among 100 called controls. Calculate the observed allele frequency in each group and compare it with the tempting but incorrect calculation that uses 200 chromosomes in both groups.

The cases have \(99\) called diploid genotypes, so \(AN=2(99)=198\). Their observed frequency is

$$ \hat{p}_{\text{cases}}=\frac{AC}{AN}=\frac{3}{198}=0.01515. $$

The controls have \(100\) called genotypes, so \(AN=2(100)=200\), giving

$$ \hat{p}_{\text{controls}}=\frac{1}{200}=0.005000. $$

Using 200 as the case denominator would give \(3/200=0.01500\), which is not the observed frequency among called case chromosomes. The numerical difference is small here, but the denominator must still match the data. The case call rate is \(99/100=99\%\), and the control call rate is \(100/100=100\%\); both meet the stated 95% minimum, with a 1 percentage-point difference.

Audit Call Completeness and Quality

Frequency summaries are only interpretable alongside call completeness. A variant can appear to differ between groups because one group has more missing genotypes, or because a low-quality call has been counted as an allele. Review call rate separately in cases and controls, and examine the diagnostics selected for the sequencing assay, such as depth, mapping quality, strand balance, and evidence for alignment artifacts. The relevant metrics and thresholds should be defined for the project; a single number is not a substitute for checking the evidence that supports a call.

The call-rate comparison below is a basic screen, not a proof that missingness is harmless. Even similar overall call rates can conceal sample-specific or batch-related problems. Earlier material on coverage-driven missingness and case-control batch effects motivates checking these patterns in addition to a site-level summary.

Worked Example: Flag Incomplete Calls Before Using the Frequency

Suppose V3 has 1 alternate allele among 90 called cases and 1 among 100 called controls. The case call rate is \(90/100=90\%\); the control call rate is \(100/100=100\%\). The call-rate difference is \(100\%-90\%=10\) percentage points, exceeding the pre-specified maximum of 2 percentage points. The case group also falls below the 95% minimum.

The observed frequencies can still be calculated correctly:

$$ \hat{p}_{\text{cases}}=\frac{1}{2(90)}=\frac{1}{180}=0.005556, \qquad \hat{p}_{\text{controls}}=\frac{1}{2(100)}=\frac{1}{200}=0.005000. $$

These calculations do not rescue the site from the call-completeness failure. V3 is excluded under the stated rules, and its frequency summaries should not be treated as a reliable group comparison. The audit records both the calculated frequencies and the reason for exclusion.

Apply Functional Annotations With Transcript Context

A consequence label describes a variant relative to a transcript; it is not an intrinsic, transcript-free property of the genomic position. The same allele may receive different consequence labels for different transcripts. For that reason, record the genome build, annotation source and version, and the transcript-selection rule used in the audit. When the project specifies a preferred transcript, such as a selected canonical or MANE transcript, apply that choice consistently rather than selecting whichever annotation makes a variant appear most damaging.

The functional mask defines which annotation classes can proceed to analysis. In this example it includes high-confidence protein-truncating variants, canonical splice variants, and qualifying missense variants under a pre-specified rule. In silico predictions are uncertain evidence, so a missense variant’s eligibility depends on the stated mask, not on treating a prediction as a confirmed functional effect. A synonymous variant does not qualify for this particular mask, though another scientific question could define a different mask.

Worked Example: Combine Frequency, Quality, and Annotation Rules

Worked Example: Combine Frequency, Quality, and Annotation Rules

Consider three more hypothetical records. V2 is a qualifying missense variant with external population frequency 0.0002; call rates are 100% in both groups, and all required quality diagnostics pass. V4 is synonymous, has external frequency 0.0008, and passes call-quality checks. V5 is a high-confidence protein-truncating variant with external frequency 0.012; it also passes the quality checks.

V2: Its external frequency is \(0.0002<0.01\), its calls pass quality and completeness rules, and its annotation qualifies under the declared missense rule. It passes all three kinds of checks and is retained.

V4: Its frequency and call quality pass, but synonymous consequence is outside the declared functional mask. It is excluded from this audit’s candidate list for that specific reason; its otherwise acceptable frequency is not enough for inclusion.

V5: Its annotation and call quality pass, but \(0.012>0.01\). It is excluded by the external frequency rule. A damaging-looking consequence does not override a pre-specified frequency threshold.

The decisions follow the conjunction of the rules: a candidate must satisfy each applicable criterion, rather than accumulating enough passing criteria to offset a failure.

A Worked Audit From Summary Table to Variant List

The following table consolidates the hypothetical records. “Call rate” is shown as cases/controls; \(AC/AN\) is shown separately by group. The quality column summarizes the project’s pre-specified site-level diagnostics, not a universal quality score.

VariantCases \(AC/AN\)Controls \(AC/AN\)Call rate (cases/controls)External AFAnnotationAudit decision
V13/1981/20099% / 100%0.0004High-confidence protein-truncatingInclude; completeness and quality pass
V22/2000/200100% / 100%0.0002Qualifying missenseInclude; passes stated mask and other rules
V31/1801/20090% / 100%0.0007Canonical spliceExclude; call-rate minimum and difference fail
V40/2002/198100% / 99%0.0008SynonymousExclude; outside functional mask
V54/2003/200100% / 100%0.012High-confidence protein-truncatingExclude; external AF exceeds threshold
V61/2001/200100% / 100%0.0003Canonical spliceExclude; mapping-quality diagnostic fails

For V4, \(AN=198\) in controls because one of the 100 control genotypes is missing; its control frequency is \(2/198=0.01010\). This is a useful reminder that a frequency calculation and a call-rate check answer different questions. For V6, complete call rates do not override a failed mapping-quality diagnostic. A high call rate alone cannot establish that the observed alleles are genuine.

Worked Example: Produce and Document the Final List

Worked Example: Produce and Document the Final List

Apply the complete rule set to the six records in the table. V1 passes because its call rates are 99% and 100%, its 1-percentage-point difference is within the limit, its quality diagnostics pass, its external AF is \(0.0004<0.01\), and its protein-truncating annotation is in the mask. V2 passes the same quality and frequency requirements and qualifies under the declared missense rule.

V3 fails the call-rate rules; V4 is outside the mask; V5 exceeds the external frequency threshold; and V6 fails a required mapping-quality diagnostic. Therefore the justified candidate list is \(\{V1,V2\}\). The list should retain the allele identifiers, reference build, annotation version, frequency source, applied rules, and exclusion reasons, so another analyst can reproduce the decisions.

This result is a data-preparation decision only. It does not establish that V1 or V2 is causal, that either has a nonzero effect, or that the gene containing them is associated with the trait.

Why the Audit Order Matters

The checks form a dependency chain. A mismatched allele representation can make a correct frequency summary or annotation appear to describe the wrong record. Missingness changes the observed \(AN\), and poor call evidence can make even a correctly computed frequency misleading. Annotation is then interpreted under an explicit transcript and mask, and only after these checks are inclusion rules applied. The final record should preserve both the decision and its reason.

1
Confirm variant identity.
Check reference build and allele representation before joining frequency, quality, or annotation data.
2
Recalculate descriptive summaries.
Verify \(AC\), \(AN\), group-specific call rates, and observed allele frequencies from the called genotypes.
3
Review call evidence.
Apply the declared quality and completeness criteria and investigate suspicious group or batch patterns.
4
Resolve annotation and inclusion.
Use the stated transcript, annotation version, frequency source, and functional mask; record every exclusion reason.

Common Mistake

Wrong reasoning: “The variant is very rare and annotated as damaging, so it should be included even though one group has many missing calls or the mapping metric fails.” This combines evidence from different checks as if a strong annotation could compensate for unreliable genotype data.

Correction: Treat required criteria as separate gates. First determine whether the allele calls and denominators are trustworthy; then apply the frequency and annotation rules as specified. A failed essential quality check is a reason to exclude or investigate the record, not a reason to reinterpret it as a convincing rare variant. Likewise, passing the audit means only that the record qualifies for the defined downstream analysis.

Key takeaway: A defensible rare-variant list is the outcome of transparent, sequential checks—not a shortlist based on rarity or consequence labels alone. Record the denominators, diagnostics, transcript choices, thresholds, and reasons for every inclusion and exclusion.

Check Your Understanding

Use the audit principles to answer these questions.

  1. A group has 80 called diploid genotypes and 2 alternate alleles. What is \(AN\), and what is the observed allele frequency?
  2. Why should a low call rate in one group be assessed even when its \(AC/AN\) frequency is calculated correctly?
  3. A variant passes quality and frequency rules but is synonymous, while the declared mask includes only protein-truncating, canonical splice, and qualifying missense variants. What is the decision, and why?
  4. Why must transcript choice and annotation version be recorded when applying functional labels?
  5. What does inclusion in an audited candidate list establish, and what does it not establish about association or causality?
Clinical Biostats