For the complete documentation index, see llms.txt. This page is also available as Markdown.

Variant Classification

Introduction

Illumina Connected Annotation follows the VCF Specification when parsing the VCF files. VCF files classify the variants based on alleles and certain INFO fields.

While the VCF variant type does not depend on the size of the variant, (both a ATG->A and A-><DEL> are deletion) for the purpose of annotation, it is useful to classify variants into small and structural (large) variants. This is due to the realization that reporting annotations for a deletion like 1-1000-ATG-A from ClinVar for a 20kbp <DEL> at that same location is not helpful and vice versa. Following guidelines are used by Illumina Connected Annotations.

Structural variants are treated as intervals when providing supplementary annotations such as ClinVar, gnomAD etc.

Non-Informative Alleles

Before classification, the following non-informative ALT alleles are filtered out and skipped entirely:

Allele
Source

<NON_REF>

GATK gVCF reference block

<*>

Symbolic non-ref

*

Missing due to upstream deletion

<M>

Missing allele

Classification Overview

The primary boundary between small and structural variants is the 50bp threshold applied to nucleotide-only alleles.

Category
Criteria
Example

SmallVariant

Nucleotide-only allele AND length <= 50bp

G -> A SNV, T -> TAA insertion

SmallVariant

Non-symbolic allele with no SV metadata (SVTYPE, SVLEN, IMPRECISE all absent)

ACGT -> A without any INFO SV fields

SV_COMPLETE

Symbolic <INS> with SVINSSEQ or DUPSVINSSEQ+SVLEN in INFO

<INS> with SVINSSEQ=ACGTACGT...

SV_COMPLETE

Precise nucleotide allele exceeding the 50bp threshold

200bp explicit ALT with SVTYPE=DEL

SV_INCOMPLETE

Breakend notation ([ or ] in ALT)

N[chr10:1234567[

SV_INCOMPLETE

Symbolic allele without sufficient sequence information

<DEL> with SVTYPE=DEL

CNV

SVTYPE=CNV or SVTYPE=LOH, or LOHTYPE present

<DEL> with SVTYPE=CNV

RepeatExpansion

ALT starts with <STR (repeat count embedded)

<STR12>

ROH

ALT is exactly <ROH>

<ROH> with SVTYPE=ROH

SINGLE_BND

SVTYPE=BND, or ALT uses dot notation

.G or G.

Reference

globalMajorAllele is non-null (ref-minor site)

Ref-minor position from population data

Variant Categories

SmallVariant

Trigger (either condition):

  • Alt allele is nucleotide-only (A/C/G/T) AND max allele length (max(ref allele length, alt allele length)) is less than or equal to 50.

  • No SV metadata: SVTYPE is absent, SVLEN is absent, IMPRECISE is false, and allele is not symbolic

The specific VariantType is determined after normalization (left-alignment and padding-base trimming):

Condition
VariantType

ref and alt same length, length = 1

SNV

ref and alt same length, length > 1

MNV

ref longer than alt (alt is empty after trim)

deletion

alt longer than ref (ref is empty after trim)

insertion

Different lengths, neither is empty after trim

delins


SV_COMPLETE (Complete Structural Variants)

Trigger (any):

  • Symbolic <INS> with non-empty SVINSSEQ in INFO

  • Symbolic <INS> with non-empty DUPSVINSSEQ and SVLEN in INFO

  • Non-symbolic (precise nucleotide sequence) alt allele that exceeds the 50bp threshold

Meaning: The exact breakpoint or inserted sequence is known. Full transcript annotation is performed.

Variant types resolved from SVTYPE:

SVTYPE
VariantType

DEL

deletion (or copy_number_loss if CN field present)

INS

insertion

DUP

tandem_duplication (or copy_number_gain if CN field present)

DUP:TANDEM / TDUP

tandem_duplication

INV

inversion

BND

translocation

ALU / LINE1 / SVA

mobile_element_insertion

UPD

UPD


SV_INCOMPLETE (Incomplete Structural Variants)

Trigger:

  • Alt allele contains [ or ] (breakend notation, e.g. G]17:198982])

  • Symbolic allele (e.g. <DEL>, <DUP>) without sufficient sequence information to classify as complete

Meaning: Imprecise or incomplete structural variant. Reduced transcript annotation is applied because exact boundaries are uncertain.


CNV

Trigger (any):

  • SVTYPE is "CNV" or "LOH"

  • LOHTYPE field is non-empty

Sub-type resolution:

Condition
VariantType

<LOH> + LOHTYPE=CNLOH

copy_number_neutral

<LOH> + LOHTYPE=GAINLOH

copy_number_gain

<LOH> + LOHTYPE=LOSSLOH

copy_number_loss

<DEL> or copyNumber < 1

copy_number_loss

<DUP> or copyNumber > 1

copy_number_gain

Otherwise

copy_number_variation


RepeatExpansion

Trigger: Alt allele starts with <STR (e.g. <STR12>). The repeat count is parsed from the digits following STR.

Variant type: short_tandem_repeat_variation.


ROH (Run of Homozygosity)

Trigger: Alt allele is exactly <ROH>.

Variant type: run_of_homozygosity.


SINGLE_BND (Single Breakend)

Trigger (either):

  • SVTYPE is "BND"

  • Alt allele starts or ends with . (dot notation, e.g. G. or .G)

Variant type: translocation.


Reference (Ref-Minor)

Trigger: globalMajorAllele is non-null (ref-minor site where the reference allele is the minor allele in the population).

Handled by delegating to SmallVariantCreator with isRefMinor = true.

Annotation Behavior

Each variant category is assigned an annotation behavior that determines the scope of transcript and supplementary annotations applied.

Category
Annotation Behavior

SmallVariant

SmallVariants

Reference (Ref-Minor)

SmallVariants

SV_COMPLETE

CompleteStructuralVariants

SV_INCOMPLETE

IncompleteStructuralVariants

CNV

IncompleteStructuralVariants

ROH

RunsOfHomozygosity

SINGLE_BND

BreakendVariants

RepeatExpansion

IncompleteStructuralVariants

Annotation Behavior Descriptions

Annotation Behavior
Description

SmallVariants

Full annotation including transcript consequences, CDS/protein positions, HGVS notation, and supplementary data sources (ClinVar, gnomAD, etc.)

CompleteStructuralVariants

Full annotation including transcript consequences, CDS/protein positions, HGVS notation. Supplementary annotations are matched by interval overlap (e.g. gnomAd SV, ClinVar SV)

IncompleteStructuralVariants

Reduced transcript annotation because exact boundaries are uncertain. Supplementary annotations are matched by interval overlap (e.g. gnomAd SV, ClinVar SV)

RunsOfHomozygosity

Minimal annotation since ROH is a zygosity observation, not a sequence change

BreakendVariants

Breakend-specific annotation

Alt Allele Resolution

Before categorization, symbolic <INS> alleles are resolved to concrete sequences when possible:

  1. SVINSSEQ present -- ALT becomes refAllele[0] + SVINSSEQ (anchoring base + inserted sequence).

  2. DUPSVINSSEQ + SVLEN present -- Represents a tandem duplication followed by novel insertion:

    • Duplication length = SVLEN - DUPSVINSSEQ.Length

    • Duplicated sequence fetched from the reference at POS

    • ALT = refAllele[0] + duplicatedSequence + DUPSVINSSEQ

If neither field is available, <INS> remains symbolic and categorizes as SV_INCOMPLETE.

Normalization

After categorization, variants are normalized (left-aligned and padding bases trimmed) against the reference sequence.

Exception: SINGLE_BND variants skip normalization. Since single breakends use dot notation (.G or G.), trimming the padding base would make it impossible to reconstruct the original allele.

For SmallVariant and Reference categories, the end position is recalculated after normalization as shiftedStart + shiftedRef.Length - 1.

Examples

Small Variants

SNP

Input Data:

Classification:

  • This is a single nucleotide polymorphism (SNP)

  • It does not contain breakend notation or symbolic alleles

  • It does not contain SVTYPE or SVLEN in the INFO field

Short Indel

Input Data:

Classification:

  • This is an insertion of 2 base pairs

  • The length of change is small (3bp), so it falls under small variant

  • It does not contain SVTYPE or SVLEN in the INFO field

Multiallelic SNP

Input Data:

Classification:

  • This represents a multiallelic SNP, where two different alternative alleles exist (A and C)

  • Each allele is processed independently through the classification pipeline

  • It does not contain SVTYPE or SVLEN in the INFO field

Structural Variants

Deletion (symbolic)

Input Data:

Classification:

  • The alternate allele (<DEL>) is symbolic

  • The SVTYPE=DEL confirms it is a structural variant

  • Category: SV_INCOMPLETE (no precise sequence available)

Deletion with explicit alleles

Input Data:

Classification:

  • The alternate and reference alleles are precise but SVTYPE=DEL indicates it is a structural variant

  • Category: SV_COMPLETE (precise nucleotide allele exceeding 50bp)

Run Of Homozygosity

Input Data:

Classification:

  • The alternate allele (<ROH>) is symbolic

  • Category: ROH

Repeat Expansion

Input Data:

Classification:

  • The alternate allele <STR12> indicates a repeat expansion with 12 repeats

  • Category: RepeatExpansion

Copy Number Variation

Input Data:

Classification:

  • The alternate allele <DEL> is symbolic

  • SVTYPE=CNV confirms it is a copy number variant (copy_number_loss)

  • Category: CNV

Translocation

Input Data:

Classification:

  • The alternate allele contains [ and ], signifying a breakend

  • SVTYPE=BND confirms this is a structural variant (translocation)

  • Category: SV_INCOMPLETE

Last updated

Was this helpful?