Back to Claude Scientific Skills

gnomAD (Genome Aggregation Database) API Reference

scientific-skills/database-lookup/references/gnomad.md

2.38.02.9 KB
Original Source

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