Skill Tracer
Skills › Scientific Agent Skills › database-lookup › gnomad.md

gnomad.md

94 lines · skills/database-lookup/references/gnomad.md at 5f2bc03

Open on GitHub
1# gnomAD (Genome Aggregation Database) API Reference
2

gnomAD (Genome Aggregation Database) API Reference

Raw lines 1 to 2
3## Overview
4gnomAD aggregates exome and genome sequencing data to provide allele frequencies
5and variant annotations across diverse populations.
6

Overview

gnomAD aggregates exome and genome sequencing data to provide allele frequencies and variant annotations across diverse populations.

Raw lines 3 to 6
7## API Type: GraphQL
8- **Endpoint**: `https://gnomad.broadinstitute.org/api`
9- **Method**: POST with JSON body containing GraphQL query
10- **Auth**: None required (public, unauthenticated)
11- **Response format**: JSON (`data` wrapper with GraphQL structure)

API Type: GraphQL

  • Endpoint: https://gnomad.broadinstitute.org/api
  • Method: POST with JSON body containing GraphQL query
  • Auth: None required (public, unauthenticated)
  • Response format: JSON (data wrapper with GraphQL structure)
Raw lines 7 to 12
13## Key Queries
15### Variant lookup by variant ID
16Variant IDs use format: `{chrom}-{pos}-{ref}-{alt}` with **1-based positions in the build of the selected dataset**. An rsID can identify multiple alleles; resolve the exact reference/alternate allele before querying. The example below is the GRCh38 G>A allele at rs11591147, not the more common G>T allele.
18```
19POST https://gnomad.broadinstitute.org/api
20Content-Type: application/json
23 "query": "{ variant(variantId: \"1-55039974-G-A\", dataset: gnomad_r4) { variant_id rsids chrom pos ref alt exome { ac an af } genome { ac an af } } }"
25```

Variant lookup by variant ID

Variant IDs use format: {chrom}-{pos}-{ref}-{alt} with 1-based positions in the build of the selected dataset. An rsID can identify multiple alleles; resolve the exact reference/alternate allele before querying. The example below is the GRCh38 G>A allele at rs11591147, not the more common G>T allele.

POST https://gnomad.broadinstitute.org/api
Content-Type: application/json

{
  "query": "{ variant(variantId: \"1-55039974-G-A\", dataset: gnomad_r4) { variant_id rsids chrom pos ref alt exome { ac an af } genome { ac an af } } }"
}
Raw lines 15 to 26
27### Gene lookup
28```json
30 "query": "{ gene(gene_symbol: \"BRCA1\", reference_genome: GRCh38) { gene_id symbol chrom start stop strand } }"
32```

Gene lookup

{
  "query": "{ gene(gene_symbol: \"BRCA1\", reference_genome: GRCh38) { gene_id symbol chrom start stop strand } }"
}
Raw lines 27 to 33
34### Variants in a gene
35```json
37 "query": "{ gene(gene_symbol: \"PCSK9\", reference_genome: GRCh38) { variants(dataset: gnomad_r4) { variant_id consequence rsids exome { ac an af } genome { ac an af } } } }"
39```

Variants in a gene

{
  "query": "{ gene(gene_symbol: \"PCSK9\", reference_genome: GRCh38) { variants(dataset: gnomad_r4) { variant_id consequence rsids exome { ac an af } genome { ac an af } } } }"
}
Raw lines 34 to 40
41### Variants in a region
42```json
44 "query": "{ region(chrom: \"1\", start: 55039447, stop: 55064852, reference_genome: GRCh38) { variants(dataset: gnomad_r4) { variant_id rsids consequence exome { ac af } genome { ac af } } } }"
46```

Variants in a region

{
  "query": "{ region(chrom: \"1\", start: 55039447, stop: 55064852, reference_genome: GRCh38) { variants(dataset: gnomad_r4) { variant_id rsids consequence exome { ac af } genome { ac af } } } }"
}
Raw lines 41 to 47
48### Transcript lookup
49```json
51 "query": "{ transcript(transcript_id: \"ENST00000357654\", reference_genome: GRCh38) { transcript_id gene_id chrom start stop strand } }"
53```

Transcript lookup

{
  "query": "{ transcript(transcript_id: \"ENST00000357654\", reference_genome: GRCh38) { transcript_id gene_id chrom start stop strand } }"
}
Raw lines 48 to 54
55## Dataset values
56- `gnomad_r4` -- gnomAD v4 (GRCh38, latest major release)
57- `gnomad_r3` -- gnomAD v3.1.2 (GRCh38, genomes only)
58- `gnomad_r2_1` -- gnomAD v2.1.1 (GRCh37, exomes + genomes)

Dataset values

  • gnomad_r4 -- gnomAD v4 (GRCh38, latest major release)
  • gnomad_r3 -- gnomAD v3.1.2 (GRCh38, genomes only)
  • gnomad_r2_1 -- gnomAD v2.1.1 (GRCh37, exomes + genomes)
Raw lines 55 to 59
60## Population frequency fields
61Within `exome` or `genome` objects, population-specific frequencies are available via
62`populations { id ac an }` (compute AF as AC/AN only when AN is positive). Ancestry-group IDs and availability vary by dataset;
63read the returned IDs rather than applying a fixed cross-release list.

Population frequency fields

Within exome or genome objects, population-specific frequencies are available via populations { id ac an } (compute AF as AC/AN only when AN is positive). Ancestry-group IDs and availability vary by dataset; read the returned IDs rather than applying a fixed cross-release list.

Raw lines 60 to 64
65## Response example (illustrative counts, not a current frequency estimate)
66```json
68 "data": {
69 "variant": {
70 "variant_id": "1-55039974-G-A",
71 "rsids": ["rs11591147"],
72 "chrom": "1",
73 "pos": 55039974,
74 "ref": "G",
75 "alt": "A",
76 "exome": { "ac": 1234, "an": 250000, "af": 0.004936 },
77 "genome": { "ac": 456, "an": 150000, "af": 0.00304 }
78 }
79 }
81```

Response example (illustrative counts, not a current frequency estimate)

{
  "data": {
    "variant": {
      "variant_id": "1-55039974-G-A",
      "rsids": ["rs11591147"],
      "chrom": "1",
      "pos": 55039974,
      "ref": "G",
      "alt": "A",
      "exome": { "ac": 1234, "an": 250000, "af": 0.004936 },
      "genome": { "ac": 456, "an": 150000, "af": 0.00304 }
    }
  }
}
Raw lines 65 to 82
83## Rate Limits
84- No published rate limits, but aggressive querying will be throttled
85- Use reasonable request pacing (~1 req/sec recommended)
86- For bulk downloads, use gnomAD's Hail tables on Google Cloud or download VCFs

Rate Limits

  • No published rate limits, but aggressive querying will be throttled
  • Use reasonable request pacing (~1 req/sec recommended)
  • For bulk downloads, use gnomAD's Hail tables on Google Cloud or download VCFs
Raw lines 83 to 87
88## Notes
89- The GraphQL schema is not versioned separately; it tracks the gnomAD web interface
90- Use the browser's network inspector on gnomad.broadinstitute.org to discover
91 additional query fields and structures
92- Structural variants (SV) have a separate query structure (`structural_variant`)
93- Constraint metrics (pLI, LOEUF) are available on gene queries via `gnomad_constraint`.
94- A null exome/genome result is unavailable data, not zero frequency. Even AC=0 must be interpreted with AN, coverage, filters, dataset and ancestry. Population frequency alone does not classify clinical pathogenicity.

Notes

  • The GraphQL schema is not versioned separately; it tracks the gnomAD web interface
  • Use the browser's network inspector on gnomad.broadinstitute.org to discover additional query fields and structures
  • Structural variants (SV) have a separate query structure (structural_variant)
  • Constraint metrics (pLI, LOEUF) are available on gene queries via gnomad_constraint.
  • A null exome/genome result is unavailable data, not zero frequency. Even AC=0 must be interpreted with AN, coverage, filters, dataset and ancestry. Population frequency alone does not classify clinical pathogenicity.
Raw lines 88 to 94