> For the complete documentation index, see [llms.txt](https://help.connected.illumina.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.connected.illumina.com/annotation/data-sources/gnomad.md).

# gnomAD

### Overview

The Genome Aggregation Database ([gnomAD](https://gnomad.broadinstitute.org/)) 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.

{% hint style="info" %}
**Publication**

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

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:

```scss
##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**

```json
"gnomad": {
    "coverage": 154,
    "failedFilter": true,
    "allAf": 0.5,
    "allAn": 152428,
    "allAc": 76214,
    "allHc": 0,
    "afrAf": 0.5,
    "afrAn": 41608,
    "afrAc": 20804,
    "afrHc": 0,
    "amiAf": 0.5,
    "amiAn": 912,
    "amiAc": 456,
    "amiHc": 0,
    "amrAf": 0.5,
    "amrAn": 15314,
    "amrAc": 7657,
    "amrHc": 0,
    "easAf": 0.5,
    "easAn": 5196,
    "easAc": 2598,
    "easHc": 0,
    "finAf": 0.5,
    "finAn": 10632,
    "finAc": 5316,
    "finHc": 0,
    "nfeAf": 0.5,
    "nfeAn": 68050,
    "nfeAc": 34025,
    "nfeHc": 0,
    "asjAf": 0.5,
    "asjAn": 3472,
    "asjAc": 1736,
    "asjHc": 0,
    "sasAf": 0.5,
    "sasAn": 4834,
    "sasAc": 2417,
    "sasHc": 0,
    "midAf": 0.5,
    "midAn": 294,
    "midAc": 147,
    "midHc": 0,
    "remainingAf": 0.5,
    "remainingAn": 2116,
    "remainingAc": 1058,
    "remainingHc": 0,
    "maleAf": 0.5,
    "maleAn": 74544,
    "maleAc": 37272,
    "maleHc": 0,
    "femaleAf": 0.5,
    "femaleAn": 77884,
    "femaleAc": 38942,
    "femaleHc": 0
}
```

```json
"gnomad-exome": {
    "coverage": 53,
    "allAf": 0.495074,
    "allAn": 4060,
    "allAc": 2010,
    "allHc": 11,
    "afrAf": 0.5,
    "afrAn": 86,
    "afrAc": 43,
    "afrHc": 0,
    "amrAf": 0.5,
    "amrAn": 46,
    "amrAc": 23,
    "amrHc": 0,
    "easAf": 0.491071,
    "easAn": 112,
    "easAc": 55,
    "easHc": 0,
    "finAf": 0.5,
    "finAn": 306,
    "finAc": 153,
    "finHc": 0,
    "nfeAf": 0.49503,
    "nfeAn": 3018,
    "nfeAc": 1494,
    "nfeHc": 11,
    "asjAf": 0.461538,
    "asjAn": 26,
    "asjAc": 12,
    "asjHc": 0,
    "sasAf": 0.486111,
    "sasAn": 72,
    "sasAc": 35,
    "sasHc": 0,
    "midAf": 0.5,
    "midAn": 68,
    "midAc": 34,
    "midHc": 0,
    "remainingAf": 0.493865,
    "remainingAn": 326,
    "remainingAc": 161,
    "remainingHc": 0,
    "maleAf": 0.495212,
    "maleAn": 2924,
    "maleAc": 1448,
    "maleHc": 9,
    "femaleAf": 0.494718,
    "femaleAn": 1136,
    "femaleAc": 562,
    "femaleHc": 2
}
```

| 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.

{% hint style="info" %}
**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.
{% endhint %}

**Tab delimited file example**

```scss
gene	transcript	mane_select	lof_hc_lc.obs	lof_hc_lc.exp	lof_hc_lc.possible	lof_hc_lc.oe	lof_hc_lc.mu	lof_hc_lc.pLI	lof_hc_lc.pNull	lof_hc_lc.pRec	lof.obs	lof.exp	lof.possible	lof.oe	lof.mu	lof.pLI	lof.pNull	lof.pRec	lof.oe_ci.lower	lof.oe_ci.upper	lof.z_raw	lof.z_score	mis.obs	mis.exp	mis.possible	mis.oe	mis.mu	mis.oe_ci.lower	mis.oe_ci.upper	mis.z_raw	mis.z_score	mis_pphen.obs	mis_pphen.exp	mis_pphen.possible	mis_pphen.oe	syn.obs	syn.exp	syn.possible	syn.oe	syn.mu	syn.oe_ci.lower	syn.oe_ci.upper	syn.z_raw	syn.z_score	constraint_flags
SCHIP1	ENST00000445224	false	8	3.0392e+01	157	2.6323e-01	3.5111e-07	9.9024e-01	5.8227e-06	9.7579e-03	8	3.0392e+01	157	2.6323e-01	3.5111e-07	9.9066e-01	5.3097e-06	9.3341e-03	1.5300e-01	4.7500e-01	4.0617e+00	3.4377e+00	193	3.0914e+02	1659	6.2431e-01	1.5780e-06	5.5400e-01	7.0300e-01	6.6055e+00	2.4115e+00	87	1.4959e+02	813	5.8160e-01	76	1.0011e+02	393	7.5914e-01	7.9269e-07	6.3000e-01	9.1900e-01	2.4099e+00	1.3142e+00	[]
```

**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                                                                                       |

```json
"gnomAD": {
    "pLi": 0.00000122,
    "pRec": 0.32,
    "pNull": 0.68,
    "synZ": 0.0117,
    "misZ": 0.162,
    "loeuf": 1.94,
    "transcriptId": "ENST00000360525"
}
```

#### 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                       |

{% hint style="info" %}
**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.
{% endhint %}

{% hint style="info" %}
**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.
{% endhint %}

**JSON output**

```json
"gnomad": [
    {
      "chromosome": "1",
      "begin": 1769047,
      "end": 78686496,
      "variantId": "gnomAD-SV_v3_CPX_chr1_4787cfba",
      "variantType": "complex_structural_alteration",
      "failedFilter": true,
      "allAf": 0.51192,
      "afrAf": 0.491986,
      "amiAf": 0.559382,
      "amrAf": 0.499444,
      "asjAf": 0.505975,
      "easAf": 0.51924,
      "midAf": 0.53125,
      "finAf": 0.542619,
      "nfeAf": 0.521916,
      "othAf": 0.492366,
      "sasAf": 0.516568,
      "femaleAf": 0.509225,
      "maleAf": 0.514861,
      "allAc": 64549,
      "afrAc": 16637,
      "amiAc": 471,
      "amrAc": 6290,
      "asjAc": 1609,
      "easAc": 2105,
      "midAc": 34,
      "finAc": 3514,
      "nfeAc": 30839,
      "othAc": 774,
      "sasAc": 2276,
      "femaleAc": 33507,
      "maleAc": 31042,
      "allAn": 126092,
      "afrAn": 33816,
      "amiAn": 842,
      "amrAn": 12594,
      "asjAn": 3180,
      "easAn": 4054,
      "midAn": 64,
      "finAn": 6476,
      "nfeAn": 59088,
      "othAn": 1572,
      "sasAn": 4406,
      "femaleAn": 65800,
      "maleAn": 60292,
      "allHc": 3167,
      "afrHc": 413,
      "amiHc": 54,
      "amrHc": 238,
      "asjHc": 49,
      "easHc": 97,
      "midHc": 2,
      "finHc": 368,
      "nfeHc": 1807,
      "othHc": 23,
      "sasHc": 116,
      "femaleHc": 1407,
      "maleHc": 1760
    }
]
```

### gnomAD v2.1 (GRCh37)

#### Small Variants

**VCF extraction**

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

```scss
##INFO=<ID=AC,Number=A,Type=Integer,Description="Alternate allele count for samples">
##INFO=<ID=AN,Number=A,Type=Integer,Description="Total number of alleles in samples">
##INFO=<ID=nhomalt,Number=A,Type=Integer,Description="Count of homozygous individuals in samples">
##INFO=<ID=DP,Number=1,Type=Integer,Description="Depth of informative coverage for each sample; reads with MQ=255 or with bad mates are filtered">
##INFO=<ID=lcr,Number=0,Type=Flag,Description="Variant falls within a low complexity region">
##INFO=<ID=AC_afr,Number=A,Type=Integer,Description="Alternate allele count for samples of African-American ancestry">
##INFO=<ID=AN_afr,Number=A,Type=Integer,Description="Total number of alleles in samples of African-American ancestry">
##INFO=<ID=AF_afr,Number=A,Type=Float,Description="Alternate allele frequency in samples of African-American ancestry">
##INFO=<ID=nhomalt_afr,Number=A,Type=Integer,Description="Count of homozygous individuals in samples of 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=A,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_eas,Number=A,Type=Integer,Description="Alternate allele count for samples of East Asian ancestry">
##INFO=<ID=AN_eas,Number=A,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_female,Number=A,Type=Integer,Description="Alternate allele count for female samples">
##INFO=<ID=AN_female,Number=A,Type=Integer,Description="Total number of alleles in female samples">
##INFO=<ID=nhomalt_female,Number=A,Type=Integer,Description="Count of homozygous individuals in female samples">
##INFO=<ID=AC_nfe,Number=A,Type=Integer,Description="Alternate allele count for samples of non-Finnish European ancestry">
##INFO=<ID=AN_nfe,Number=A,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_fin,Number=A,Type=Integer,Description="Alternate allele count for samples of Finnish ancestry">
##INFO=<ID=AN_fin,Number=A,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_asj,Number=A,Type=Integer,Description="Alternate allele count for samples of Ashkenazi Jewish ancestry">
##INFO=<ID=AN_asj,Number=A,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_oth,Number=A,Type=Integer,Description="Alternate allele count for samples of uncertain ancestry">
##INFO=<ID=AN_oth,Number=A,Type=Integer,Description="Total number of alleles in samples of uncertain ancestry">
##INFO=<ID=nhomalt_oth,Number=A,Type=Integer,Description="Count of homozygous individuals in samples of uncertain ancestry">
##INFO=<ID=AC_male,Number=A,Type=Integer,Description="Alternate allele count for male samples">
##INFO=<ID=AN_male,Number=A,Type=Integer,Description="Total number of alleles in male samples">
##INFO=<ID=nhomalt_male,Number=A,Type=Integer,Description="Count of homozygous individuals in male samples">
##INFO=<ID=controls_AC,Number=A,Type=Integer,Description="Alternate allele count for samples in the controls subset">
##INFO=<ID=controls_AN,Number=A,Type=Integer,Description="Total number of alleles in samples in the controls subset">
```

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

```scss
##INFO=<ID=AC_sas,Number=A,Type=Integer,Description="Alternate allele count for samples of South Asian ancestry">
##INFO=<ID=AN_sas,Number=A,Type=Integer,Description="Total number of alleles in samples of South Asian ancestry">
##INFO=<ID=nhomalt_sas,Number=A,Type=Integer,Description="Count of homozygous individuals in samples of South Asian ancestry">
```

**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

{% hint style="info" %}
**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.
  {% endhint %}

**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.

{% hint style="info" %}

* 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.
  {% endhint %}

**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**

<https://gnomad.broadinstitute.org/downloads>

**JSON output**

```json
"gnomad":{ 
   "coverage":20,
   "allAf":0.190317,
   "maleAf":0.193,
   "femaleAf": 0.1935,
   "afrAf":0.222876,
   "amrAf":0.121394,
   "easAf":0.239802,
   "finAf":0.136833,
   "nfeAf":0.181282,
   "asjAf":0.258278,
   "othAf":0.186094,
   "allAn":30796,
   "maleAn":15096,
   "femaleAn":15700
   "afrAn":8664,
   "amrAn":832,
   "easAn":1618,
   "finAn":3486,
   "nfeAn":14916,
   "asjAn":302,
   "othAn":978,
   "allAc":5861,
   "maleAc":2930,
   "femaleAc": 2931,
   "afrAc":1931,
   "amrAc":101,
   "easAc":388,
   "finAc":477,
   "nfeAc":2704,
   "asjAc":78,
   "othAc":182,
   "allHc":561,
   "afrHc":208,
   "amrHc":6,
   "easHc":42,
   "finHc":31,
   "nfeHc":242,
   "asjHc":13,
   "othHc":19,
   "maleHc":280,
   "femaleHc":281,
   "controlsAllAf":0.190317,
   "controlsAllAn":30796,
   "controlsAllAc":5861,
   "lowComplexityRegion":true,
   "failedFilter":true
}
```

| 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:

```scss
chr10.vcf.bgz  chr22.vcf.bgz
chr11.vcf.bgz  chr2.vcf.bgz
chr12.vcf.bgz  chr3.vcf.bgz
chr13.vcf.bgz  chr4.vcf.bgz
chr14.vcf.bgz  chr5.vcf.bgz
chr15.vcf.bgz  chr6.vcf.bgz
chr16.vcf.bgz  chr7.vcf.bgz
chr17.vcf.bgz  chr8.vcf.bgz
chr18.vcf.bgz  chr9.vcf.bgz
chr19.vcf.bgz  chrM.vcf.bgz
chr1.vcf.bgz   chrX.vcf.bgz
chr20.vcf.bgz  chrY.vcf.bgz
chr21.vcf.bgz  gnomad.r3.1.version
```

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

```scss
NAME=gnomAD
VERSION=3.1
DATE=2020-10-29
DESCRIPTION=Allele frequencies from Genome Aggregation Database (gnomAD)
```

The help menu for the utility is as follows:

```scss
SAUtils.dll gnomad
---------------------------------------------------------------------------
SAUtils                                             (c) 2021 Illumina, Inc.
Stromberg, Roy, Lajugie, Jiang, Li, and Kang                         3.17.0
---------------------------------------------------------------------------

USAGE: dotnet SAUtils.dll gnomad [options]
Reads provided supplementary data files and populates tsv files

OPTIONS:
      --ref, -r <VALUE>      compressed reference sequence file
      --genome, -g <VALUE>   input directory containing VCF (and .version)
                               files with genomic frequencies
      --exome, -e <VALUE>    input directory containing VCF (and .version)
                               files with exomic frequencies
      --temp, -t <VALUE>     output temp directory for intermediate (per chrom)
                                NSA files
      --out, -o <VALUE>      output directory for NSA file
      --help, -h             displays the help menu
      --version, -v          displays the version
```

Here is a sample execution:

```scss
dotnet SAUtils.dll Gnomad \\
--ref ~/References/7/Homo_sapiens.GRCh38.Nirvana.dat --genome genomes/ \\
--out ~/SupplementaryDatabase/63/GRCh38 --temp ~/ExternalDataSources/gnomAD/3.1/GRCh38/temp
```

#### LoF Gene Metrics

**Tab delimited file example**

```scss
gene transcript obs_mis exp_mis oe_mis mu_mis possible_mis obs_mis_pphen exp_mis_pphen oe_mis_pphen possible_mis_pphen obs_syn exp_syn oe_syn mu_syn possible_syn obs_lof mu_lof possible_lof exp_lof pLI pNull pRec oe_lof oe_syn_lower oe_syn_upper oe_mis_lower oe_mis_upper oe_lof_lower oe_lof_upper constraint_flag syn_zmis_z lof_z oe_lof_upper_rank oe_lof_upper_bin oe_lof_upper_bin_6 n_sites classic_caf max_af no_lofs obs_het_lof obs_hom_lof defined p exp_hom_lof classic_caf_afr classic_caf_amr classic_caf_asj classic_caf_eas classic_caf_fin classic_caf_nfe classic_caf_oth classic_caf_sas p_afr p_amr p_asj p_eas p_fin p_nfep_oth p_sas transcript_type gene_id transcript_level cds_length num_coding_exons gene_type gene_length exac_pLI exac_obs_lof exac_exp_lof exac_oe_lof brain_expression chromosome start_positionend_position
MED13 ENST00000397786 871 1.1178e+03 7.7921e-01 5.5598e-05 14195 314 5.2975e+02 5.9273e-01 6708 422 3.8753e+02 1.0890e+00 1.9097e-05 4248 0 4.9203e-06 1257 9.8429e+01 1.0000e+00 8.9436e-40 1.8383e-16 0.0000e+00 1.0050e+00 1.1800e+00 7.3600e-01 8.2400e-01 0.0000e+00 3.0000e-02 -1.3765e+00 2.6232e+00 9.1935e+00 0 0 0 2 1.2058e-05 8.0492e-06 124782 3 0 124785 1.2021e-05 1.8031e-05 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 9.2812e-05 8.8571e-06 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 9.2760e-05 8.8276e-06 0.0000e+00 0.0000e+00 protein_coding ENSG00000108510 2 6522 30 protein_coding 122678 1.0000e+00 0 6.4393e+01 0.0000e+00 NA 17 60019966 60142643
```

**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](https://storage.googleapis.com/gnomad-public/release/2.1.1/constraint/gnomad.v2.1.1.lof_metrics.by_gene.txt.bgz) but Illumina Connected Annotations uses HGNC gene symbols. Multiple Ensembl GeneIDs can map to the same HGNC symbol and therefore may result is conflict.

```scss
MDGA2   ENST00000426342 306 4.0043e+02  7.6419e-01  2.1096e-05  4724    78  1.6525e+02  4.7202e-01  1923    125 1.3737e+02  9.0993e-01  7.1973e-06  1413    4   2.0926e-06  453 3.8316e+01  9.9922e-01  8.6490e-12  7.8128e-04  1.0440e-01  7.8600e-01  1.0560e+00  6.9500e-01  8.4000e-01  5.0000e-02  2.3900e-01      8.2988e-01  1.6769e+00  5.1372e+00  1529    0   0   7   2.8103e-05  4.0317e-06  124784  7   0   124791  2.8047e-05  9.8167e-05  0.0000e+00  2.8962e-05  0.0000e+00  0.0000e+00  0.0000e+00  3.5391e-05  1.6672e-04  3.2680e-05  0.0000e+00  2.8962e-05  0.0000e+00  0.0000e+00  0.0000e+00  3.5308e-05  1.6492e-04  3.2678e-05  protein_coding  ENSG00000139915 2   2181    13  protein_coding  835332  9.9322e-01  3   2.7833e+01  1.0779e-01  NA  14  47308826    48144157
MDGA2   ENST00000439988 438 5.5311e+02  7.9189e-01  2.9490e-05  6608    105 2.0496e+02  5.1228e-01  2386    180 1.9491e+02  9.2351e-01  9.8371e-06  2048    11  2.8074e-06  627 5.1882e+01  6.6457e-01  5.5841e-10  3.3543e-01  2.1202e-01  8.1700e-01  1.0450e+00  7.3100e-01  8.5700e-01  1.3200e-01  3.5100e-01      8.3940e-01  1.7393e+00  5.2595e+00  2989    1   0   9   3.6173e-05  4.0463e-06  124782  9   0   124791  3.6061e-05  1.6228e-04  6.4986e-05  2.8962e-05  0.0000e+00  0.0000e+00  0.0000e+00  4.4275e-05  1.6672e-04  3.2680e-05  6.4577e-05  2.8962e-05  0.0000e+00  0.0000e+00  0.0000e+00  4.4135e-05  1.6492e-04  3.2678e-05  protein_coding  ENSG00000272781 3   3075    17  protein_coding  832866  NA  NA  NA  NA  NA  14  47311134    48143999
```

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 |

{% hint style="info" %}
**Note**

* Table source: <https://www.biorxiv.org/content/biorxiv/early/2019/01/28/531210.full-text.pdf>
* This table indicates that lower LOEUF scores have more deleterious effect on genes.
* Only 15 out of 19685 genes have conflicting entries.
  {% endhint %}

**List of genes with conflicting entries**

```scss
MDGA2:
 {"pLI":9.99e-1,"pRec":7.81e-4,"pNull":8.65e-12,"synZ":8.30e-1,"misZ":1.68e0,"loeuf":2.39e-1}
 {"pLI":6.65e-1,"pRec":3.35e-1,"pNull":5.58e-10,"synZ":8.39e-1,"misZ":1.74e0,"loeuf":3.51e-1}
CRYBG3:
 {"pLI":9.27e-5,"pRec":1.00e0,"pNull":1.88e-7,"synZ":1.82e0,"misZ":4.68e-1,"loeuf":4.93e-1}
 {"pLI":2.69e-4,"pRec":1.00e0,"pNull":1.20e-4,"synZ":2.63e0,"misZ":9.80e-1,"loeuf":5.98e-1}
CHTF8:
 {"pLI":8.29e-1,"pRec":1.67e-1,"pNull":3.21e-3,"synZ":1.94e0,"misZ":9.48e-1,"loeuf":5.13e-1}
 {"pLI":3.73e-1,"pRec":5.84e-1,"pNull":4.29e-2,"synZ":3.33e-1,"misZ":2.91e-1,"loeuf":9.92e-1}
SEPT1:
 {"pLI":6.77e-8,"pRec":8.90e-1,"pNull":1.10e-1,"synZ":1.58e-1,"misZ":1.57e0,"loeuf":9.68e-1}
 {"pLI":1.96e-8,"pRec":6.71e-1,"pNull":3.29e-1,"synZ":1.68e-1,"misZ":1.41e0,"loeuf":1.08e0}
ARL14EPL:
 {"pLI":3.48e-2,"pRec":8.38e-1,"pNull":1.28e-1,"synZ":3.56e-1,"misZ":-1.87e-1,"loeuf":1.23e0}
 {"pLI":3.23e-2,"pRec":8.29e-1,"pNull":1.38e-1,"synZ":1.15e0,"misZ":-4.05e-1,"loeuf":1.26e0}
UGT2A1:
 {"pLI":2.90e-13,"pRec":1.40e-1,"pNull":8.60e-1,"synZ":-1.29e0,"misZ":-1.77e0,"loeuf":1.18e0}
 {"pLI":3.88e-17,"pRec":2.87e-3,"pNull":9.97e-1,"synZ":-8.00e-1,"misZ":-1.40e0,"loeuf":1.53e0}
LTB4R2:
 {"pLI":4.39e-4,"pRec":6.71e-1,"pNull":3.29e-1,"synZ":-5.24e-1,"misZ":-2.96e-1,"loeuf":1.40e0}
 {"pLI":1.38e-5,"pRec":4.12e-1,"pNull":5.88e-1,"synZ":-4.58e-1,"misZ":-2.02e-1,"loeuf":1.54e0}
CDRT1:
 {"pLI":4.98e-14,"pRec":5.31e-1,"pNull":4.69e-1,"synZ":8.18e-1,"misZ":6.57e-1,"loeuf":1.00e0}
 {"pLI":3.50e-3,"pRec":6.37e-1,"pNull":3.59e-1,"synZ":4.89e-1,"misZ":6.90e-1,"loeuf":1.63e0}
MUC3A:
 {"pLI":1.48e-10,"pRec":5.76e-1,"pNull":4.24e-1,"synZ":5.81e-2,"misZ":-6.01e-1,"loeuf":1.06e0}
 {"pLI":4.03e-1,"pRec":4.79e-1,"pNull":1.17e-1,"synZ":4.05e-2,"misZ":-1.60e-1,"loeuf":1.70e0}
COG8:
 {"pLI":2.97e-9,"pRec":5.04e-1,"pNull":4.96e-1,"synZ":-1.35e0,"misZ":-9.37e-2,"loeuf":1.13e0}
 {"pLI":2.31e-3,"pRec":5.47e-1,"pNull":4.50e-1,"synZ":-4.94e-1,"misZ":-1.48e-1,"loeuf":1.76e0}
AC006486.1:
 {"pLI":9.37e-1,"pRec":6.27e-2,"pNull":2.47e-4,"synZ":1.44e0,"misZ":2.12e0,"loeuf":3.41e-1}
 {"pLI":1.14e-1,"pRec":6.16e-1,"pNull":2.70e-1,"synZ":-7.57e-2,"misZ":8.33e-2,"loeuf":1.84e0}
AL645922.1:
 {"pLI":4.67e-16,"pRec":1.00e0,"pNull":4.15e-5,"synZ":7.99e-1,"misZ":1.61e0,"loeuf":6.92e-1}
 {"pLI":1.60e-3,"pRec":2.78e-1,"pNull":7.21e-1,"synZ":-7.30e-2,"misZ":3.21e-1,"loeuf":1.96e0}
NBPF20:
 {"pLI":1.42e-7,"pRec":3.40e-2,"pNull":9.66e-1,"synZ":-1.86e0,"misZ":-2.88e0,"loeuf":1.97e0}
 {"pLI":1.92e-22,"pRec":7.96e-6,"pNull":1.00e0,"synZ":-9.73e0,"misZ":-7.67e0,"loeuf":1.97e0}
PRAMEF11:
 {"pLI":6.16e-4,"pRec":7.42e-1,"pNull":2.58e-1,"synZ":-4.02e0,"misZ":-3.69e0,"loeuf":1.31e0}
 {"synZ":-3.33e0,"misZ":-2.59e0}
FAM231D:
 {"synZ":-1.98e0,"misZ":-1.44e0}
 {"synZ":1.07e0,"misZ":3.13e-1}
```

**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**

<https://storage.googleapis.com/gnomad-public/release/2.1.1/constraint/gnomad.v2.1.1.lof_metrics.by_gene.txt.bgz>

**JSON output**

```json
"gnomAD":{ 
   "pLi":1.00e0,
   "pNull":8.94e-40,
   "pRec":1.84e-16,
   "synZ":-8.44e-2,
   "misZ":5.96e-1,
   "loeuf":1.13e0
}
```

| 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

{% hint style="info" %}
**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>
{% endhint %}

**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

```scss
#chrom	start	end	name	svtype	ALGORITHMS	BOTHSIDES_SUPPORT	CHR2	CPX_INTERVALS	CPX_TYPE	END2	ENDEVIDENCE	HIGH_SR_BACKGROUND	PCRPLUS_DEPLETED	PESR_GT_OVERDISPERSION	POS2	PROTEIN_CODING__COPY_GAIN	PROTEIN_CODING__DUP_LOF	PROTEIN_CODING__DUP_PARTIAL	PROTEIN_CODING__INTERGENIC	PROTEIN_CODING__INTRONIC	PROTEIN_CODING__INV_SPAN	PROTEIN_CODING__LOF	PROTEIN_CODING__MSV_EXON_OVR	PROTEIN_CODING__NEAREST_TSS	PROTEIN_CODING__PROMOTER	PROTEIN_CODING__UTR	SOURCE	STRANDS	SVLEN	SVTYPE	UNRESOLVED_TYPE	UNSTABLE_AF_PCRPLUS	VARIABLE_ACROSS_BATCHES	AN	AC	AF	N_BI_GENOS	N_HOMREF	N_HET	N_HOMALT	FREQ_HOMREF	FREQ_HET	FREQ_HOMALT	MALE_AN	MALE_AC	MALE_AF	MALE_N_BI_GENOS	MALE_N_HOMREF	MALE_N_HET	MALE_N_HOMALT	MALE_FREQ_HOMREF	MALE_FREQ_HET	MALE_FREQ_HOMALT	MALE_N_HEMIREF	MALE_N_HEMIALT	MALE_FREQ_HEMIREF	MALE_FREQ_HEMIALT	PAR	FEMALE_AN	FEMALE_AC	FEMALE_AF	FEMALE_N_BI_GENOS	FEMALE_N_HOMREF	FEMALE_N_HET	FEMALE_N_HOMALT	FEMALE_FREQ_HOMREF	FEMALE_FREQ_HET	FEMALE_FREQ_HOMALT	POPMAX_AF	AFR_AN	AFR_AC	AFR_AF	AFR_N_BI_GENOS	AFR_N_HOMREF	AFR_N_HET	AFR_N_HOMALT	AFR_FREQ_HOMREF	AFR_FREQ_HEAFR_FREQ_HOMALT	AFR_MALE_AN	AFR_MALE_AC	AFR_MALE_AF	AFR_MALE_N_BI_GENOS	AFR_MALE_N_HOMREF	AFR_MALE_N_HET	AFR_MALE_N_HOMALT	AFR_MALE_FREQ_HOMREF	AFR_MALE_FREQ_HET	AFR_MALE_FREQ_HOMALT	AFR_MALE_N_HEMIREF	AFR_MALE_N_HEMIALT	AFR_MALE_FREQ_HEMIREF	AFR_MALE_FREQ_HEMIALT	AFR_FEMALE_AN	AFR_FEMALE_AC	AFR_FEMALE_AF	AFR_FEMALE_N_BI_GENOS	AFR_FEMALE_N_HOMREF	AFR_FEMALE_N_HET	AFR_FEMALE_N_HOMALT	AFR_FEMALE_FREQ_HOMREF	AFR_FEMALE_FREQ_HET	AFR_FEMALE_FREQ_HOMALT	AMR_AN	AMR_AC	AMR_AF	AMR_N_BI_GENOS	AMR_N_HOMREF	AMR_N_HET	AMR_N_HOMALT	AMR_FREQ_HOMREF	AMR_FREQ_HET	AMR_FREQ_HOMALT	AMR_MALE_AN	AMR_MALE_AC	AMR_MALE_AF	AMR_MALE_N_BI_GENOS	AMR_MALE_N_HOMREF	AMR_MALE_N_HET	AMR_MALE_N_HOMALT	AMR_MALE_FREQ_HOMREF	AMR_MALE_FREQ_HET	AMR_MALE_FREQ_HOMALT	AMR_MALE_N_HEMIREF	AMR_MALE_N_HEMIALT	AMR_MALE_FREQ_HEMIREF	AMR_MALE_FREQ_HEMIALT	AMR_FEMALE_AN	AMR_FEMALE_AC	AMR_FEMALE_AF	AMR_FEMALE_N_BI_GENOS	AMR_FEMALE_N_HOMREF	AMR_FEMALE_N_HET	AMR_FEMALE_N_HOMALT	AMR_FEMALE_FREQ_HOMREF	AMR_FEMALE_FREQ_HET	AMR_FEMALE_FREQ_HOMALT	EAS_AN	EAS_AC	EAS_AF	EAS_N_BI_GENOS	EAS_N_HOMREF	EAS_N_HET	EAS_N_HOMALT	EAS_FREQ_HOMREF	EAS_FREQ_HET	EAS_FREQ_HOMALT	EAS_MALE_AN	EAS_MALE_AC	EAS_MALE_AF	EAS_MALE_N_BI_GENOS	EAS_MALE_N_HOMREF	EAS_MALE_N_HET	EAS_MALE_N_HOMALT	EAS_MALE_FREQ_HOMREF	EAS_MALE_FREQ_HET	EAS_MALE_FREQ_HOMALT	EAS_MALE_N_HEMIREF	EAS_MALE_N_HEMIALT	EAS_MALE_FREQ_HEMIREF	EAS_MALE_FREQ_HEMIALT	EAS_FEMALE_AN	EAS_FEMALE_AC	EAS_FEMALE_AF	EAS_FEMALE_N_BI_GENOS	EAS_FEMALE_N_HOMREF	EAS_FEMALE_N_HET	EAS_FEMALE_N_HOMALT	EAS_FEMALE_FREQ_HOMREF	EAS_FEMALE_FREQ_HET	EAS_FEMALE_FREQ_HOMALT	EUR_AN	EUR_AC	EUR_AF	EUR_N_BI_GENOS	EUR_N_HOMREF	EUR_N_HET	EUR_N_HOMALT	EUR_FREQ_HOMREF	EUR_FREQ_HET	EUR_FREQ_HOMALT	EUR_MALE_AN	EUR_MALE_AC	EUR_MALE_AF	EUR_MALE_N_BI_GENOS	EUR_MALE_N_HOMREF	EUR_MALE_N_HET	EUR_MALE_N_HOMALT	EUR_MALE_FREQ_HOMREF	EUR_MALE_FREQ_HET	EUR_MALE_FREQ_HOMALT	EUR_MALE_N_HEMIREF	EUR_MALE_N_HEMIALT	EUR_MALE_FREQ_HEMIREF	EUR_MALE_FREQ_HEMIALT	EUR_FEMALE_AN	EUR_FEMALE_AC	EUR_FEMALE_AF	EUR_FEMALE_N_BI_GENOS	EUR_FEMALE_N_HOMREF	EUR_FEMALE_N_HET	EUR_FEMALE_N_HOMALT	EUR_FEMALE_FREQ_HOMREF	EUR_FEMALE_FREQ_HET	EUR_FEMALE_FREQ_HOMALT	OTH_AN	OTH_AC	OTH_AF	OTH_N_BI_GENOS	OTH_N_HOMREF	OTH_N_HET	OTH_N_HOMALT	OTH_FREQ_HOMREF	OTH_FREQ_HET	OTH_FREQ_HOMALT	OTH_MALE_AN	OTH_MALE_AC	OTH_MALE_AF	OTH_MALE_N_BI_GENOS	OTH_MALE_N_HOMREF	OTH_MALE_N_HET	OTH_MALE_N_HOMALT	OTH_MALE_FREQ_HOMREF	OTH_MALE_FREQ_HET	OTH_MALE_FREQ_HOMALT	OTH_MALE_N_HEMIREF	OTH_MALE_N_HEMIALT	OTH_MALE_FREQ_HEMIREF	OTH_MALE_FREQ_HEMIALT	OTH_FEMALE_AN	OTH_FEMALE_AC	OTH_FEMALE_AF	OTH_FEMALE_N_BI_GENOS	OTH_FEMALE_N_HOMREF	OTH_FEMALE_N_HET	OTH_FEMALE_N_HOMALT	OTH_FEMALE_FREQ_HOMREF	OTH_FEMALE_FREQ_HET	OTH_FEMALE_FREQ_HOMALT	FILTER
1	10641	10642	gnomAD-SV_v2.1_BND_1_1	BND	manta	False	15	NA	NA	10643	10643	PE,SR	False	False	True	10642	NA	NA	NA	False	NA	NA	NA	NA	NA	NA	NA	NA	NA	-1	BND	SINGLE_ENDER_--	False	False	21366	145	0.006785999983549118	10683	10543	135	5	0.9868950247764587	0.012636899948120117	0.00046803298755548894	10866	69	0.00634999992325902	5433	5366	65	2	0.987667977809906	0.011963900178670883	0.000368120992789045	NA	NA	NA	NA	False	10454	76	0.007269999943673615227	5154	70	3	0.9860339760780334	0.013392000459134579	0.0005739430198445916	0.015956999734044075	93972	0.007660999894142151	4699	4629	68	2	0.9851030111312866	0.014471200294792652	0.0004256220126990229	5154	33	0.006403000093996525	2577	2544	33	0	0.9871940016746521	0.012805599719285965	0.0NA	NA	NA	NA	4232	39	0.009216000325977802	2116	2079	35	2	0.9825140237808228	0.01654059998691082	0.0009451800142414868	1910	7	0.003664999967440963	955	949	5	1	0.9937170147895813	0.00523559981957078	0.001047119963914156	950	4	0.004211000166833401	475	472	2	1	0.9936839938163757	0.00421052984893322	0.0021052600350230932	NA	NA	NA	NA	952	3	0.0031510000117123127	476473	3	0	0.9936969876289368	0.006302520167082548	0.0	2296	31	0.013501999899744987	1148	11131	0	0.9729970097541809	0.02700350061058998	0.0	1312	13	0.009909000247716904	656	643	13	0.9801830053329468	0.01981710083782673	0.0	NA	NA	NA	NA	976	18	0.018442999571561813	488470	18	0	0.9631149768829346	0.03688519820570946	0.0	7574	32	0.004224999807775021	3787	37528	2	0.9920780062675476	0.007393720094114542	0.0005281229969114065	3374	17	0.005038999952375889	1681671	15	1	0.9905160069465637	0.008891520090401173	0.000592768017668277	NA	NA	NA	NA	41815	0.003587000072002411	2091	2077	13	1	0.9933050274848938	0.006217120215296745	0.00047823999193497188	3	0.015956999734044075	94	91	3	0	0.968084990978241	0.03191490098834038	0.0	76	0.026316000148653984	38	36	2	0	0.9473680257797241	0.05263160169124603	0.0	NA	NA	NA	NA	112	1	0.008929000236093998	56	55	1	0	0.982142984867096	0.017857100814580917	0.0UNRESOLVED      
```

**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:

<https://storage.googleapis.com/gcp-public-data--gnomad/papers/2019-sv/gnomad_v2.1_sv.sites.bed.gz>

**JSON output**

```json
"gnomAD-preview": [
  {
    "chromosome": "1",
    "begin": 40001,
    "end": 47200,
    "variantId": "gnomAD-SV_v2.1_DUP_1_1",
    "variantType": "duplication",
    "failedFilter": true,
    "allAf": 0.068963,
    "afrAf": 0.135694,
    "amrAf": 0.022876,
    "easAf": 0.01101,
    "eurAf": 0.007846,
    "othAf": 0.017544,
    "femaleAf": 0.065288,
    "maleAf": 0.07255,
    "allAc": 943,
    "afrAc": 866,
    "amrAc": 21,
    "easAc": 17,
    "eurAc": 37,
    "othAc": 2,
    "femaleAc": 442,
    "maleAc": 499,
    "allAn": 13674,
    "afrAn": 6382,
    "amrAn": 918,
    "easAn": 1544,
    "eurAn": 4716,
    "othAn": 114,
    "femaleAn": 6770,
    "maleAn": 6878,
    "allHc": 91,
    "afrHc": 90,
    "amrHc": 1,
    "easHc": 0,
    "eurHc": 0,
    "othHc": 55,
    "femaleHc": 44,
    "maleHc": 47,
    "reciprocalOverlap": 0.01839,
    "annotationOverlap": 0.16667
  }
]

```

| 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             | integer        | allele number for the African super population.                                   |
| amrAn             | integer        | allele number for the Ad Mixed American super population.                         |
| easAn             | integer        | allele number for the East Asian super population.                                |
| eurAn             | integer        | allele number for the European super population.                                  |
| othAn             | integer        | allele number for all other populations.                                          |
| femaleAn          | integer        | allele number for female population.                                              |
| maleAn            | integer        | allele number for male population.                                                |
| allHc             | integer        | count of homozygous individuals for all populations.                              |
| afrHc             | integer        | count of homozygous individuals for the African / African American population.    |
| amrHc             | integer        | count of homozygous individuals for the Latino population.                        |
| easHc             | integer        | count of homozygous individuals for the East Asian population.                    |
| eurAc             | integer        | count of homozygous individuals for the European super population.                |
| othHc             | integer        | count of homozygous individuals for all other populations.                        |
| maleHc            | integer        | count of homozygous individuals for male population.                              |
| femaleHc          | integer        | count of homozygous individuals for female population.                            |
| failedFilter      | boolean        | True if this variant failed any filters (Note: we do not list the failed filters) |
| reciprocalOverlap | floating point | Reciprocal overlap. Range: 0 - 1.0                                                |
| annotationOverlap | floating point | Reciprocal overlap. Range: 0 - 1.0                                                |

**Note:** Following fields are not available in *GRCh38* because the source file does not contain this information:

| Field        |
| ------------ |
| femaleAf     |
| maleAf       |
| maleAc       |
| femaleAc     |
| femaleAn     |
| maleAn       |
| allHc        |
| afrHc        |
| amrHc        |
| easHc        |
| eurAc        |
| othHc        |
| maleHc       |
| femaleHc     |
| failedFilter |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.connected.illumina.com/annotation/data-sources/gnomad.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
