Skip to content

Variant Normalization

Jacobo Coll Moragón edited this page Nov 10, 2015 · 8 revisions

Overview

A genomic variant is represented by a locus (chromosome + position), reference sequence and list of alternates.

Is common, because of the VCF specification, that the reference and alternate fields contain extra bases not needed for the Variant representation. It is completely valid to specify a variation like chr1:100:AC:AT, which is absolutely the same variant that chr1:101:C:T.

The number of possible combinations to represent the same genomic variant is non-unique, so it is mandatory to normalize the representation of the variant in order to determine when two representations are the same or different variants. A failure to recognize this will frequently result in inaccurate analyses.

Steps

The variant normalization focuses on different aspects of the variant representation to make a full normalization.

Chromosome naming:

Due to there is not any standard for the chromosome naming, is common to see different names for the same chromosome, depending on the used tools, by adding a prefix to the name. For example, we can see chr[1-22,X,Y] for the One Thousand Genomes Project. It is known that this is a chromosome, it is no needed to add any prefix for each variant. The list of known chromosome prefixes are: chrom, chrm, chr and ch.

Reference/Alternate Trimming and left alignment:

Reference and alternate trimming consists on removing the trailing (right trimming) and leading (left trimming) bases that are identical in both alleles.

Left aligning a variant means shifting the start position of that variant to the left while keeping the same alleles length till it is no longer possible to do so.

  • Right and Left trimming
chr1   100     CTC     CCC
chr1   101     T       C
  • Indels and empty alleles

Insertions and deletions are represented with empty alleles when are not mix with SNVs

Deletion of one base T at position 101

chr1   100     AT      A
chr1   101     TC      C
chr1   101     T       -

Insertion of one C at position 201 (between 200 and 201)

chr1   200     G       GC
chr1   201     A       CA
chr1   201     -       C

An Indel with SNVs are those that reference and alternative are not empty and with different size, like 100:ATC:GC which will be normalized as 100:AT:G

  • Ambiguous trimming and left alignment

It may happen, in case of deletion or insertion in a region of repeated nucleotides, that the trimming operation can be done in more than one way, and determine the position of the indel is ambiguous. In this example we can find that there are four possible ways of normalize the variant:

chr1   100     CTCTCA  CTCA
chr1   100     CT      -
chr1   101     TC      -
chr1   102     CT      -
chr1   103     TC      -

We guarantee the left alignment by performing first the right trimming. This variant will be normalized as:

chr1   100     CT      -
Genotype encoding:

There are, basically, two different ways of representing the genotype alleles, with or without the allele sequence. In the second way, instead of using the allele itself, is used the allele code. A 0 value represents the reference allele of the Variant, and any other value is a 1-based index into the alternate alleles. A dot value will represent a missing value.

Using an encoded version will allow to determine easily when a genotype is reference, homozygous or heterozygous.

  • Sort unphased genotype alleles
  • Codify alleles
chr1   100     A       T      A/A    T/A    A/T    T|A    T/.
chr1   100     A       T      0/0    0/1    0/1    1|0    ./1
Multi-allelic split:
  • Split multiallelic variants
  • Modify genotypes
chr1   100     A       T,C    0/0    0/1    2/1
chr1   102     A       T,C    0/0    0/1    2/1
chr1   102     A       C,T    0/0    0/2    1/2
Clone this wiki locally