Files

107 lines
3.3 KiB
Markdown

---
title: "gnomAD (Genome Aggregation Database) API Reference"
task: ""
lineage_type: import
upstream_source: https://github.com/K-Dense-AI/scientific-agent-skills/blob/9c9bd2e9/skills/database-lookup/references/gnomad.md
upstream_sha: 9c9bd2e9
imported_at: 2026-06-26
prompt_class: prompt
upstream_changes: accepted
author: upstream
validated: false
---
# gnomAD (Genome Aggregation Database) API Reference
## Overview
gnomAD aggregates exome and genome sequencing data to provide allele frequencies
and variant annotations across diverse populations.
## 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)
## Key Queries
### Variant lookup by variant ID
Variant IDs use format: `{chrom}-{pos}-{ref}-{alt}` (GRCh37 or GRCh38).
```
POST https://gnomad.broadinstitute.org/api
Content-Type: application/json
{
"query": "{ variant(variantId: \"1-55516888-G-A\", dataset: gnomad_r4) { variant_id rsids chrom pos ref alt exome { ac an af } genome { ac an af } } }"
}
```
### Gene lookup
```json
{
"query": "{ gene(gene_symbol: \"BRCA1\", reference_genome: GRCh38) { gene_id symbol chrom start stop strand } }"
}
```
### Variants in a gene
```json
{
"query": "{ gene(gene_symbol: \"PCSK9\", reference_genome: GRCh38) { variants(dataset: gnomad_r4) { variant_id consequence rsids exome { ac an af } genome { ac an af } } } }"
}
```
### Variants in a region
```json
{
"query": "{ region(chrom: \"1\", start: 55505222, stop: 55530526, reference_genome: GRCh38) { variants(dataset: gnomad_r4) { variant_id rsids consequence exome { ac af } genome { ac af } } } }"
}
```
### Transcript lookup
```json
{
"query": "{ transcript(transcript_id: \"ENST00000357654\", reference_genome: GRCh38) { transcript_id gene_id chrom start stop strand } }"
}
```
## 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)
## Population frequency fields
Within `exome` or `genome` objects, population-specific frequencies are available via
`populations { id ac an af }` where `id` values include: `afr`, `amr`, `asj`, `eas`,
`fin`, `mid`, `nfe`, `oth`, `sas`.
## Response example (variant)
```json
{
"data": {
"variant": {
"variant_id": "1-55516888-G-A",
"rsids": ["rs11591147"],
"chrom": "1",
"pos": 55516888,
"ref": "G",
"alt": "A",
"exome": { "ac": 1234, "an": 250000, "af": 0.004936 },
"genome": { "ac": 456, "an": 150000, "af": 0.00304 }
}
}
}
```
## 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
## 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`