14  Variant Annotation and Interpretation: Concepts

Concepts

14.1 The problem

A variant caller hands you a position, a reference allele, an alternate allele and a genotype. Nothing in that record says what the change does, and a whole human genome differs from the reference at four to five million sites (The 1000 Genomes Project Consortium 2015). Annotation is the problem of attaching enough context to each one that the set can be reduced to something a person can read. Interpretation is the problem of deciding what the survivors mean.

The two are worth separating, because they fail differently. Annotation fails quietly and uniformly: a wrong gene model, a stale frequency database, a coordinate convention off by one, and every downstream number is subtly wrong in the same direction. Interpretation fails loudly and individually: one variant is called causal and is not. Most of the engineering effort in this part of a pipeline goes to annotation. Most of the harm comes from interpretation.

The defining property of this stage, and the one that makes it unlike every other stage in this book, is that almost none of the information is computed from your data. An aligner derives its answer from your reads. A variant caller derives its answer from your alignments. An annotator mostly performs a join: it looks your variant up in something someone else built. The quality of the result is therefore a property of the databases, not of the program, and the version of the database is part of the result in a way the version of the program usually is not.

14.2 A consequence is a claim about a transcript

Ask what a variant “does” and the honest answer is a question: does to what?

A single base change in a gene is a missense variant with respect to one transcript, a synonymous variant with respect to a second that uses a different reading frame, and an intronic variant with respect to a third that skips the exon entirely. All three statements are true simultaneously. Human genes have several annotated transcripts on average, and the number is a function of how hard people have looked, not of biology.

So a consequence is never a property of a variant. It is a property of a (variant, transcript) pair, and an annotator that reports one consequence per variant has silently chosen a transcript for you.

There are three ways out and they are not equivalent.

Report all of them. Correct, and it turns one row into twenty. Every downstream filter then has to decide how to aggregate, and the usual choice — keep the most severe — systematically inflates severity, because a gene with more annotated transcripts has more chances to produce a severe consequence somewhere.

Pick the longest, or the one with the most coding sequence. Deterministic and arbitrary. It changes when the annotation release changes, so the same variant gets a different consequence next year for no biological reason.

Use a designated representative. The field converged on this: a curated, stable choice of one transcript per protein-coding gene, agreed between the two major annotation authorities so that RefSeq and Ensembl coordinates describe the same molecule (Morales et al. 2022). This is what makes consequences comparable between laboratories, which is the property that actually matters for a clinical claim.

WarningWatch out

None of this is the default. Annotators generally report every transcript unless told otherwise, and the representative-transcript flag generally has to be requested. A pipeline that filters on “most severe consequence” without restricting the transcript set has built an aggregation rule it did not intend, and it will not fail — it will just enrich for large, well-studied genes.

14.2.1 Phase changes the answer

Two variants in the same codon are annotated independently by most tools, so each gets a consequence computed as if the other did not exist. If they are on the same haplotype, the codon has both changes and the resulting amino acid may be neither of the two predicted — and if they are on opposite haplotypes, the gene has two separately damaged copies rather than one doubly damaged one, which is the difference between a carrier and an affected individual (Section 8.6).

The information needed to get this right is usually present in the data and usually discarded before this stage. That is a defensible tradeoff and it should be a conscious one.

14.3 What the frequency filter is really doing

The single most powerful filter in rare disease analysis is population frequency: a variant common in unaffected people does not cause a rare severe disease. It removes the overwhelming majority of candidates and it is almost always applied first.

It is also the step where the analysis inherits someone else’s sampling.

Aggregate frequency resources are assembled from the cohorts that were available, and those cohorts are not a sample of humanity (Karczewski et al. 2020; Chen et al. 2024). Ancestry groups that are well represented get accurate frequencies; groups that are not get frequencies estimated from few chromosomes, with wide intervals that a single number in an INFO field does not carry. The consequence is directional and predictable: a variant common in an underrepresented population looks rare in the aggregate, survives the filter, and arrives at the top of a candidate list decorated with everything that makes it look causal.

This is not a defect in the databases, which document their composition carefully. It is a defect in how they are used — as a single global allele frequency, thresholded at a number chosen because it is conventional. Using the maximum frequency across populations, rather than the pooled one, is strictly better and costs nothing. Knowing which populations that maximum was estimated from is better still.

The same caution applies to clinical assertion databases (Landrum et al. 2018). They aggregate submissions of varying evidence quality, submitters disagree, and an assertion carries a review status that says how much scrutiny it received. Treating “present in the database” as equivalent to “pathogenic” discards exactly the field that was put there to stop you.

14.4 Prediction is evidence, not measurement

For the great majority of possible variants, nobody has done an experiment. So the field predicts, and it has been predicting for twenty-five years — from substitution matrices and conservation, through supervised classifiers over engineered features, to deep networks over raw sequence and to predictors derived from protein language models (Cheng et al. 2023). The methods improved substantially. The epistemics did not change at all.

Three things are worth holding onto regardless of which generation of predictor is current.

A predictor’s label is not the thing you care about. Models are trained on whatever proxy was available: variants observed in humans versus simulated ones (Kircher et al. 2014), curated pathogenic sets, deep mutational scans, evolutionary likelihood. Each proxy correlates with functional impact and none is functional impact. A score of 0.9 means the variant resembles the training positives — not that it has a 90% chance of causing disease.

Circularity is the standard failure. Predictors are trained on curated databases, then used to curate databases, then re-benchmarked on those databases. Reported accuracies are routinely optimistic for this reason, and the effect is strongest exactly where you most want help: well-studied genes, where training data is dense.

A predictor that is not calibrated cannot be combined. Scores from different tools are not on a common scale, thresholds recommended by authors are usually chosen to make a benchmark look good, and averaging several predictors that share training data is not an ensemble — it is the same evidence counted several times. Interpretation frameworks treat computational prediction as a single, weak piece of evidence for this reason, and that weighting is correct.

NoteThe exception that proves the shape

Splice prediction has been the clearest success of the deep-learning generation (Jaganathan et al. 2019; Zeng and Li 2022), and it is instructive that it worked where it did. The task is narrow, the training signal is abundant and close to the truth — annotated splice sites and measured usage, not curated disease labels — and the answer is checkable in the laboratory with an RNA assay. Prediction is strongest where it is least like a pathogenicity guess.

14.5 Interpretation is a procedure, not an algorithm

After annotation, a rare-disease case still holds far more rare, plausibly damaging candidates than anyone can review. No further variant-level filter reduces that honestly, because the remaining candidates are individually indistinguishable using only the variant.

What breaks the tie is information from outside the variant.

Inheritance. A pedigree constrains which genotype patterns can explain a phenotype. De novo, homozygous recessive, compound heterozygous and X-linked models each specify a pattern across family members, and applying one reduces the candidate set by orders of magnitude. This is the highest-yield reduction available, the count it should leave behind has been quantified per model (Pedersen et al. 2021) — which is what tells you a filter is working before you start reading genes — and it needs sequenced relatives, a study-design decision made long before this stage.

Phenotype. If the patient’s features are described in a controlled vocabulary, the candidate genes can be ranked by how well their known associations — and their model-organism counterparts — match. This is a similarity computation, and it is only as good as the terms it is given.

Prior knowledge, applied with discipline. A gene already associated with the phenotype is a better candidate. It is also where the analysis is most likely to confirm what it expected, which is why gene lists chosen after seeing the candidates are not a filter but a conclusion.

Formal frameworks (Richards et al. 2015) combine these into a classification by enumerating evidence types, assigning each a strength, and specifying how combinations map to a five-tier verdict. The frameworks were designed for people, deliberately: several criteria require judgment about a specific gene and disease that no program has access to. A tool can mechanize the criteria that reduce to a lookup and it cannot mechanize the rest — a limit that is a property of the framework, not of the software.

The reason to insist on this is that the classification is what gets acted on. A tier is a decision about whether to report a finding to a patient, and it travels far beyond the pipeline that produced it. Every other output in this book can be recomputed when a tool improves. This one has already been read.

14.6 Structural variants break the model

Everything above assumes a variant is a small edit at a position, so that “which codon” is a sensible question. A rearrangement is not.

A deletion may remove three exons of one gene, the whole of another, and the enhancer of a third that is otherwise untouched. An inversion may leave every base of a gene intact and separate it from its promoter. A duplication’s effect depends on where the copy landed, which the callset usually does not say. There is no reference and alternate allele to compare, no reading frame to shift, and the relevant question is what the event overlaps — which makes annotation an interval join against gene models, regulatory maps and dosage-sensitivity information rather than a sequence computation.

Frequency filtering is harder too, for the reason structural variant comparison is hard in general (Section 12.7): two callsets describe the same event at different coordinates with different lengths, so “have we seen this before” requires a reciprocal-overlap decision rather than a lookup.

14.7 What to take forward

  • Annotation is mostly a join against other people’s data, so the database version is part of the result and belongs in the methods.
  • A consequence describes a (variant, transcript) pair. Reporting one consequence per variant means a transcript was chosen, by you or for you.
  • Population frequency is the strongest filter available and it carries the sampling of the cohorts behind it; use the per-population maximum, not the pooled figure.
  • Predictors are calibrated evidence at best. Their labels are proxies, their benchmarks are circular, and their scores do not share a scale.
  • The reduction from thousands of candidates to a handful comes from pedigree and phenotype, not from better variant-level filtering.
  • Classification frameworks are procedures for people. Software assists them and does not complete them.

Section 15.1 takes each of these and names what to run.