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

gnomAD

Overview

The Genome Aggregation Database (gnomAD) is a resource developed by an international coalition of investigators, with the goal of aggregating and harmonizing both exome and genome sequencing data from a wide variety of large-scale sequencing projects, and making summary data available for the wider scientific community.

Publication

Koch, L., 2020. Exploring human genomic diversity with gnomAD. Nature Reviews Genetics, 21(8), pp.448-448.

Illumina Connected Analysis will support gnomAD v4.0 for GRCh38 assembly and gnomAD v2.1 for GRCh37.

gnomAD v4.0 (GRCh38)

Small Variants

In gnomAD v4.0, like gnomAD v2.1, there are genome and exome data. Compare to gnomAD v2.1 which the data for genome and exome are merged, for gnomAD 4.0, Illumina Connected Annotation will separate them with different JSON output field. For gnomAD genome, the field name would be gnomad. For gnomAD exome, the field name would be gnomad-exome. Despite this difference in the field name, the JSON data format would be identical for both genome and exome.

VCF extraction

We currently extract the following info fields from both gnomAD genome and exome VCF files:

##INFO=<ID=AC,Number=A,Type=Integer,Description="Alternate allele count">
##INFO=<ID=AN,Number=1,Type=Integer,Description="Total number of alleles">
##INFO=<ID=AC_XX,Number=A,Type=Integer,Description="Alternate allele count for XX samples">
##INFO=<ID=AN_XX,Number=1,Type=Integer,Description="Total number of alleles in XX samples">
##INFO=<ID=nhomalt_XX,Number=A,Type=Integer,Description="Count of homozygous individuals in XX samples">
##INFO=<ID=AC_XY,Number=A,Type=Integer,Description="Alternate allele count for XY samples">
##INFO=<ID=AN_XY,Number=1,Type=Integer,Description="Total number of alleles in XY samples">
##INFO=<ID=nhomalt_XY,Number=A,Type=Integer,Description="Count of homozygous individuals in XY samples">
##INFO=<ID=nhomalt,Number=A,Type=Integer,Description="Count of homozygous individuals">
##INFO=<ID=AC_afr,Number=A,Type=Integer,Description="Alternate allele count for samples of African/African-American ancestry">
##INFO=<ID=AN_afr,Number=1,Type=Integer,Description="Total number of alleles in samples of African/African-American ancestry">
##INFO=<ID=nhomalt_afr,Number=A,Type=Integer,Description="Count of homozygous individuals in samples of African/African-American ancestry">
##INFO=<ID=AC_amr,Number=A,Type=Integer,Description="Alternate allele count for samples of Latino ancestry">
##INFO=<ID=AN_amr,Number=1,Type=Integer,Description="Total number of alleles in samples of Latino ancestry">
##INFO=<ID=nhomalt_amr,Number=A,Type=Integer,Description="Count of homozygous individuals in samples of Latino ancestry">
##INFO=<ID=AC_asj,Number=A,Type=Integer,Description="Alternate allele count for samples of Ashkenazi Jewish ancestry">
##INFO=<ID=AN_asj,Number=1,Type=Integer,Description="Total number of alleles in samples of Ashkenazi Jewish ancestry">
##INFO=<ID=nhomalt_asj,Number=A,Type=Integer,Description="Count of homozygous individuals in samples of Ashkenazi Jewish ancestry">
##INFO=<ID=AC_eas,Number=A,Type=Integer,Description="Alternate allele count for samples of East Asian ancestry">
##INFO=<ID=AN_eas,Number=1,Type=Integer,Description="Total number of alleles in samples of East Asian ancestry">
##INFO=<ID=nhomalt_eas,Number=A,Type=Integer,Description="Count of homozygous individuals in samples of East Asian ancestry">
##INFO=<ID=AC_fin,Number=A,Type=Integer,Description="Alternate allele count for samples of Finnish ancestry">
##INFO=<ID=AN_fin,Number=1,Type=Integer,Description="Total number of alleles in samples of Finnish ancestry">
##INFO=<ID=nhomalt_fin,Number=A,Type=Integer,Description="Count of homozygous individuals in samples of Finnish ancestry">
##INFO=<ID=AC_mid,Number=A,Type=Integer,Description="Alternate allele count for samples of Middle Eastern ancestry">
##INFO=<ID=AN_mid,Number=1,Type=Integer,Description="Total number of alleles in samples of Middle Eastern ancestry">
##INFO=<ID=nhomalt_mid,Number=A,Type=Integer,Description="Count of homozygous individuals in samples of Middle Eastern ancestry">
##INFO=<ID=AC_nfe,Number=A,Type=Integer,Description="Alternate allele count for samples of Non-Finnish European ancestry">
##INFO=<ID=AN_nfe,Number=1,Type=Integer,Description="Total number of alleles in samples of Non-Finnish European ancestry">
##INFO=<ID=nhomalt_nfe,Number=A,Type=Integer,Description="Count of homozygous individuals in samples of Non-Finnish European ancestry">
##INFO=<ID=AC_remaining,Number=A,Type=Integer,Description="Alternate allele count for samples of Remaining individuals ancestry">
##INFO=<ID=AN_remaining,Number=1,Type=Integer,Description="Total number of alleles in samples of Remaining individuals ancestry">
##INFO=<ID=nhomalt_remaining,Number=A,Type=Integer,Description="Count of homozygous individuals in samples of Remaining individuals ancestry">
##INFO=<ID=AC_sas,Number=A,Type=Integer,Description="Alternate allele count for samples of South Asian ancestry">
##INFO=<ID=AN_sas,Number=1,Type=Integer,Description="Total number of alleles in samples of South Asian ancestry">

JSON output

Field
Type
Notes

coverage

int

average coverage (non-negative integer values)

maleAf

float

allele frequency for male population. Range: 0 - 1.0

maleAn

int

allele number for male population. Non-zero integer.

maleAc

int

allele count for male population. Integer.

maleHc

int

count of homozygous individuals for male population. Non-negative integer.

femaleAf

float

allele frequency for female population. Range: 0 - 1.0

femaleAn

int

allele number for female population. Non-zero integer.

femaleAc

int

allele count for female population. Integer.

femaleHc

int

count of homozygous individuals for female population. Non-negative integer.

remainingAf

float

allele frequency for the Other population. Range: 0 - 1.0

remainingAc

int

allele count for the Other population. Integer.

remainingAn

int

allele number for the Other population. Non-zero integer.

remainingHc

int

count of homozygous individuals for Other population. Non-negative integer

allAf

float

allele frequency for all populations. Range: 0 - 1.0

allAn

int

allele number for all populations. Non-zero integer.

allAc

int

allele count for all populations. Integer.

allHc

int

count of homozygous individuals for all populations. Non-negative integer.

afrAf

float

allele frequency for the African / African American population. Range: 0 - 1.0

afrAc

int

allele count for the African / African American population. Integer.

afrAn

int

allele number for the African / African American population. Non-zero integer.

afrHc

int

count of homozygous individuals for African / African American population. Non-negative integer.

amiAf

float

allele frequency for Amish populations. Range: 0 - 1.0

amiAn

int

allele number for Amish populations. Non-zero integer.

amiAc

int

allele count for Amish populations. Integer.

amiHc

int

count of homozygous individuals for Amish populations. Non-negative integer.

amrAf

float

allele frequency for the Latino population. Range: 0 - 1.0

amrAc

int

allele count for the Latino population. Integer.

amrAn

int

allele number for the Latino population. Non-zero integer.

amrHc

int

count of homozygous individuals for Latino population. Non-negative integer.

easAf

float

allele frequency for the East Asian population. Range: 0 - 1.0

easAc

int

allele count for the East Asian population. Integer.

easAn

int

allele number for the East Asian population. Non-zero integer.

easHc

int

count of homozygous individuals for East Asian population. Non-negative integer.

finAf

float

allele frequency for the Finnish population. Range: 0 - 1.0

finAc

int

allele count for the Finnish population. Integer.

finAn

int

allele number for the Finnish population. Non-zero integer.

finHc

int

count of homozygous individuals for Finnish population. Non-negative integer

nfeAf

float

allele frequency for the Non-Finnish European population. Range: 0 - 1.0

nfeAc

int

allele count for the Non-Finnish European population. Integer.

nfeAn

int

allele number for the Non-Finnish European population. Non-zero integer.

nfeHc

int

count of homozygous individuals for Non-Finnish European population. Non-negative integer

asjAf

float

allele frequency for the Ashkenazi Jewish population. Range: 0 - 1.0

asjAc

int

allele count for the Ashkenazi Jewish population Integer.

asjAn

int

allele number for the Ashkenazi Jewish population. Non-zero integer.

asjHc

int

count of homozygous individuals for the Ashkenazi Jewish population. Non-negative integer

sasAf

float

allele frequency for the South Asian population. Range: 0 - 1.0

sasAc

int

allele count for the South Asian population Integer.

sasAn

int

allele number for the South Asian population. Non-zero integer.

sasHc

int

count of homozygous individuals for the South Asian population. Non-negative integer.

midAf

float

allele frequency for the Middle Eastern population. Range: 0 - 1.0

midAc

int

allele count for the iddle Eastern population Integer.

midAn

int

allele number for the iddle Eastern population. Non-zero integer.

midHc

int

count of homozygous individuals for the iddle Eastern population. Non-negative integer.

failedFilter

bool

True if this variant failed any filters (Note: we do not list the failed filters)

Calculation

To calculate allele frequency for each group, we divide the allele count with allele number for each group.

LoF Gene Metrics

In gnomAD 4.0, the gene score data for LOF is given per transcript. Since this is gene level data, one of the transcripts need to be chosen and value reported. The transcript ID of the selected transcript will be reported. Transcripts are prioritized (from higher to lower) as follows:

  1. Ensembl Transcript has mane_select column true from source (gnomAD).

  2. Transcript is marked as Ensembl canonical in Illumina Connected Annotation cache data.

  3. RefSeq transcript has mane_select column true.

  4. Transcript is marked as RefSeq canonical in Illumina Connected Annotation cache data.

  5. Transcript has the lowest lof.oe_ci.upper value compare to other transcript for the same gene.

Differences with gnomAD browser

Due to difference in Ensembl version between Illumina Connected Annotation and gnomAD, there are several transcript ID that are marked as canonical in gnomAD browser but not in Illumina Connected Analysis. If this is the case, the gene score shown in Illumina Connected Annotation will be different compared to the gene score shown in the gnomAD browser. The transcriptId field in the JSON output will report which transcript was used by Illumina Connected Annotation.

Tab delimited file example

JSON key to TSV column mapping

JSON key
TSV column
Description

pLi

lof.pLI

probability of being intolerant of a single loss-of-function variant (like haploinsufficient genes, observed ~ 0.1*expected)

pNull

lof.pNull

probability of being completely tolerant of loss of function variation (observed = expected)

pRec

lof.pRec

probability of being intolerant of two loss of function variants (like recessive genes, observed ~ 0.5*expected)

synZ

syn.z_score

corrected synonymous Z score

misZ

mis.z_score

corrected missense Z score

loeuf

lof.oe_ci.upper

loss of function observed/expected upper bound fraction (LOEUF)

transcriptId

transcript

transcript ID which the values we select

Structural Variants

Structural variants in gnomAD 4.0 is available in VCF format and has the same population data as small variants.

Structural Variant Type Mapping

The source files represented the structural variants with keys using various naming conventions. In the Illumina Connected Annotations JSON output, these keys will be mapped according to the following.

Illumina Connected Annotations JSON SV Type Key
GRCh37 Source SV Type Key

deletion

DEL, CN=0

duplication

DUP

insertion

INS

inversion

INV

mobile_element_insertion

INS:ME

mobile_element_insertion

INS:ME:ALU

mobile_element_insertion

INS:ME:LINE1

mobile_element_insertion

INS:ME:SVA

complex_structural_alteration

CPX

gnomAD Copy Number Variation

In gnomAD 4.0 structural variants data, there are CNV data in the VCF file. Since it is not shown in the browser, we don't include CNV in our output. We will evaluate in the future whether to include copy number variation from structural variation data together with new rare CNV data taht is available in gnomAD 4.0.

gnomAD duplication variant type

In gnomAD 4.0 structural variants VCF, only DUP is shown as symbolic allele for duplication variant type. Based on the information in gnomAD browser, duplication variant that has split read or paired end reads evidence can be inferred as tandem duplication. With this, we check the evidence data in each DUP variants entry to decide whether it can be assign tandem duplication as variant type or it is just duplication.

JSON output

gnomAD v2.1 (GRCh37)

Small Variants

VCF extraction

We currently extract the following info fields from gnomAD genome and exome VCF files:

We also extract the following extra fields from gnomAD exome VCF file:

Computation

Using these, we compute the following:

  • Coverage

  • Allele count, Homozygous count, allele number and allele frequencies for:

  • Global population

  • African/African Americans

  • Admixed Americans

  • Ashkenazi Jews

  • East Asians

  • Finnish

  • Non-Finnish Europeans

  • South Asian

  • Others (population not assigned)

  • Male

  • Female

  • Controls

Note

  • Coverage = DP / AN. Frequencies are computed using AC/AN for each population.

  • Please note that currently there is no genome sequencing data of south asian (SAS) population available in gnomAD.

  • Allele Count, Homozygous count, allele number and allele frequencies for control groups are also provided for the global population.

Merging genomes and exomes

When merging the genomes and exomes, the allele counts and allele numbers will be summed across both of the data sets.

  • For GRCh37, Illumina Connected Annotations currently uses gnomAD version 2.1 which contains both genomes and exomes data. Genomes and exomes data are merged in the output.

Filters

The following strategy will be used when there's a conflict in filter status:

Genomes PASS

Genomes Filtered

Exomes PASS

PASS

Only use exome data

Exomes Filtered

Only use genome data

Filtered

VCF download instructions

JSON output

Field
Type
Notes

coverage

int

average coverage (non-negative integer values)

allAf

float

allele frequency for all populations. Range: 0 - 1.0

maleAf

float

allele frequency for male population. Range: 0 - 1.0

femaleAf

float

allele frequency for female population. Range: 0 - 1.0

controlsAllAf

float

allele frequency for the controls subset. Range: 0 - 1.0

allAc

int

allele count for all populations. Integer.

maleAc

int

allele count for male population. Integer.

femaleAc

int

allele count for female population. Integer.

controlsAllAc

int

allele count for the controls subset. Integer.

allAn

int

allele number for all populations. Non-zero integer.

maleAn

int

allele number for male population. Non-zero integer.

femaleAn

int

allele number for female population. Non-zero integer.

controlsAllAn

int

allele number for the controls subset. Non-zero integer.

allHc

int

count of homozygous individuals for all populations. Non-negative integer.

maleHc

int

count of homozygous individuals for male population. Non-negative integer.

femaleHc

int

count of homozygous individuals for female population. Non-negative integer.

afrAf

float

allele frequency for the African / African American population. Range: 0 - 1.0

afrAc

int

allele count for the African / African American population. Integer.

afrAn

int

allele number for the African / African American population. Non-zero integer.

afrHc

int

count of homozygous individuals for African / African American population. Non-negative integer.

amrAf

float

allele frequency for the Latino population. Range: 0 - 1.0

amrAc

int

allele count for the Latino population. Integer.

amrAn

int

allele number for the Latino population. Non-zero integer.

amrHc

int

count of homozygous individuals for Latino population. Non-negative integer.

easAf

float

allele frequency for the East Asian population. Range: 0 - 1.0

easAc

int

allele count for the East Asian population. Integer.

easAn

int

allele number for the East Asian population. Non-zero integer.

easHc

int

count of homozygous individuals for East Asian population. Non-negative integer.

finAf

float

allele frequency for the Finnish population. Range: 0 - 1.0

finAc

int

allele count for the Finnish population. Integer.

finAn

int

allele number for the Finnish population. Non-zero integer.

finHc

int

count of homozygous individuals for Finnish population. Non-negative integer

nfeAf

float

allele frequency for the Non-Finnish European population. Range: 0 - 1.0

nfeAc

int

allele count for the Non-Finnish European population. Integer.

nfeAn

int

allele number for the Non-Finnish European population. Non-zero integer.

nfeHc

int

count of homozygous individuals for Non-Finnish European population. Non-negative integer

othAf

float

allele frequency for the Other population. Range: 0 - 1.0

othAc

int

allele count for the Other population. Integer.

othAn

int

allele number for the Other population. Non-zero integer.

othHc

int

count of homozygous individuals for Other population. Non-negative integer

asjAf

float

allele frequency for the Ashkenazi Jewish population. Range: 0 - 1.0

asjAc

int

allele count for the Ashkenazi Jewish population Integer.

asjAn

int

allele number for the Ashkenazi Jewish population. Non-zero integer.

asjHc

int

count of homozygous individuals for the Ashkenazi Jewish population. Non-negative integer

sasAf

float

allele frequency for the South Asian population. Range: 0 - 1.0

sasAc

int

allele count for the South Asian population Integer.

sasAn

int

allele number for the South Asian population. Non-zero integer.

sasHc

int

count of homozygous individuals for the South Asian population. Non-negative integer.

failedFilter

bool

True if this variant failed any filters (Note: we do not list the failed filters)

lowComplexityRegion

bool

True if this variant is located in a low complexity region.

Building the supplementary files

The gnomAD .nsa for Illumina Connected Annotations can be built using the SAUtils command's gnomad subcommand. We will describe building gnomAD version 3.1 here.

Source data files

Input VCF files (one per chromosome) and a .version file are required in a folder to build the .nsa file. For example, my directory contains:

The version file is a text file with the following content.

The help menu for the utility is as follows:

Here is a sample execution:

LoF Gene Metrics

Tab delimited file example

JSON key to TSV column mapping

JSON key
TSV column
Description

pLi

pLI

probability of being intolerant of a single loss-of-function variant (like haploinsufficient genes, observed ~ 0.1*expected)

pNull

pNull

probability of being completely tolerant of loss of function variation (observed = expected)

pRec

pRec

probability of being intolerant of two loss of function variants (like recessive genes, observed ~ 0.5*expected)

synZ

syn_z

corrected synonymous Z score

misZ

mis_z

corrected missense Z score

loeuf

oe_lof_upper

loss of function observed/expected upper bound fraction (LOEUF)

Gene symbol update

The input file provides Ensembl gene ids for each entry. We observed that they were unique while gene symbols may be repeated (multiple lines may have the same gene symbol). Since Ensembl gene Ids are more stable, and Illumina Connected Annotations transcript cache data contains Ensembl gene ids, we use these ids to extract the gene symbols from the transcript cache. For example, if ENSG0001 has gene symbol GENE1 in the input but Illumina Connected Annotations cache say ENSG0001 maps to GENE2, we use GENE2 as the gene symbol for that entry.

Conflict resolution

gnomAD uses Ensembl GeneID as unique identifiers in the source file but Illumina Connected Annotations uses HGNC gene symbols. Multiple Ensembl GeneIDs can map to the same HGNC symbol and therefore may result is conflict.

In such cases, Illumina Connected Annotations chooses the entry with the smallest "LOEUF" value. The reason for choosing this value can be highlighted by the following table:

LOEUF decile
Haplo-insufficient
Autosomal Dominant
Autosomal Recessive
Olfactory Genes

0-10%

104

140

36

0

10-20%

47

128

72

1

20-30%

17

86

112

0

30-40%

8

80

173

4

40-50%

7

65

206

8

50-60%

4

54

207

6

60-70%

0

46

154

18

70-80%

2

49

120

49

80-90%

0

34

58

96

90-100%

0

26

40

174

Note

List of genes with conflicting entries

Conflict resolution

  • Pick the entry with the lowest LOEUF score

  • If the same, pick the lowest pLI

  • Otherwise pick the entry with the max absolute value of synZ + misZ

Download URL

JSON output

Field
Type
Notes

pLi

float

probability of being intolerant of a single loss-of-function variant (like haploinsufficient genes, observed ~ 0.1*expected)

pNull

float

probability of being completely tolerant of loss of function variation (observed = expected)

pRec

float

probability of being intolerant of two loss of function variants (like recessive genes, observed ~ 0.5*expected)

synZ

float

corrected synonymous Z score

misZ

float

corrected missense Z score

loeuf

float

loss of function observed/expected upper bound fraction (LOEUF)

Structural Variants

Publication

Collins, R.L., Brand, H., Karczewski, K.J. et al. 2020. A structural variation reference for medical and population genetics. Nature 581, pp.444–451. https://doi.org/10.1038/s41586-020-2287-8

Note The gnomAD structural variant annotations are in a preview stage at the moment. Currently, the annotations do not include translocation breakends. Future updates will include a better way of annotating the structural variants.

Source Files

Bed Example

The bed file was obtained from original source for GRCh37

Structural Variant Type Mapping

The source files represented the structural variants with keys using various naming conventions. In the Illumina Connected Annotations JSON output, these keys will be mapped according to the following.

Illumina Connected Annotations JSON SV Type Key
GRCh37 Source SV Type Key

copy_number_variation

deletion

DEL, CN=0

duplication

DUP

insertion

INS

inversion

INV

mobile_element_insertion

INS:ME

mobile_element_insertion

INS:ME:ALU

mobile_element_insertion

INS:ME:LINE1

mobile_element_insertion

INS:ME:SVA

structural alteration

complex_structural_alteration

CPX

Download URLs

GRCh37

The GRCh37 file was downloaded from the original source. Following table gives some essential data metrics:

JSON output

Field
Type
Notes

chromosome

string

chromosome number

begin

integer

position interval start

end

integer

position internal end

variantType

string

structural variant type

variantId

string

gnomAD ID

allAf

floating point

allele frequency for all populations. Range: 0 - 1.0

afrAf

floating point

allele frequency for the African super population. Range: 0 - 1.0

amrAf

floating point

allele frequency for the Ad Mixed American super population. Range: 0 - 1.0

easAf

floating point

allele frequency for the East Asian super population. Range: 0 - 1.0

eurAf

floating point

allele frequency for the European super population. Range: 0 - 1.0

othAf

floating point

allele frequency for all other populations. Range: 0 - 1.0

femaleAf

floating point

allele frequency for female population. Range: 0 - 1.0

maleAf

floating point

allele frequency for male population. Range: 0 - 1.0

allAc

integer

allele count for all populations.

afrAc

integer

allele count for the African super population.

amrAc

integer

allele count for the Ad Mixed American super population.

easAc

integer

allele count for the East Asian super population.

eurAc

integer

allele count for the European super population.

othAc

integer

allele count for all other populations.

maleAc

integer

allele count for male population.

femaleAc

integer

allele count for female population.

allAn

integer

allele number for all populations.

afrAn