ClinVar vs gnomAD is two databases, two questions, and one lookup.

ClinVar vs gnomAD is a category error if you treat them as the same database. One is submitted clinical interpretation, and the other is how often the allele appears in sequenced people.

ClinVar vs gnomAD answers two different questions

ClinVar vs gnomAD is the usual mix-up in consumer reports. People see Pathogenic and a frequency, then flatten both into a single risk emoji. They are not interchangeable columns.

ClinVar answers what labs and researchers have submitted about a variant's relationship to disease or drug response. gnomAD answers how often the alternate allele appears among sequenced haplotypes after quality filters.

You need both, then a local file if you care about a person. Neither database knows your genotype until you match the identifier against a VCF or a chip export on disk.

A practical test is rs1800562. ClinVar has an assertion. gnomAD has a non-tiny European-ancestry frequency. If your script dropped one of those columns, the remaining column would lie.

  • ClinVar: submitted clinical significance, review status, conditions
  • gnomAD: allele count, allele number, population frequency
  • Local file: whether the site was called, and which alleles were seen

What ClinVar stores that gnomAD does not

ClinVar stores assertions: pathogenic, likely pathogenic, VUS, likely benign, benign, plus drug response and risk-factor labels. It stores review status. It stores conditions and sometimes citations.

It is not a population survey. A rare pathogenic variant can have a tiny ClinVar-linked cohort and still be almost unseen in gnomAD. A common founder allele can have a long ClinVar record and a high gnomAD frequency in one ancestry group.

Conflicts live here. Two submitters can disagree. gnomAD will not resolve that disagreement by reporting a percentage.

What gnomAD stores that ClinVar does not

gnomAD stores frequency among people sequenced for many studies, globally and by ancestry group. It is not a patient registry and it is not a classification.

ACMG/AMP uses frequency as evidence (BA1 and related). A high frequency in a continental population of enough alleles can support a benign interpretation for a severe Mendelian condition. A frequency of zero does not prove pathogenicity.

Coverage and filters matter. Absence from gnomAD can mean rare, poorly covered, or quality-filtered. Read the gnomAD variant page when you need the full frequency table, not only the pooled AF in a CLI row.

Founder alleles, risk alleles, and other exceptions

A pathogenic label on a very common allele deserves extra reading. Founder effects, low penetrance, recessive inheritance, and outdated submissions all produce that pattern.

HFE rs1800562 (C282Y) and rs1799945 (H63D) are the usual teaching example: ClinVar records exist, and European-ancestry gnomAD frequencies are not ultra-rare. rs334 in HBB is another: a well-known disease allele that is not vanishingly rare in every population.

Do not auto-drop a ClinVar row because AF is greater than zero. Do not auto-call Pathogenic because AF is zero. Scripts that do either will lie on founder alleles and on poorly covered sites.

Query both sources in one genome.sh lookup

genome.sh joins ClinVar and gnomAD in one identifier query so you do not copy-paste between two websites for every rsID. lite is ClinVar-oriented. standard and full add population frequencies.

Human output is for one site. JSON is for scripts. If frequency fields are missing, you installed lite or the snapshot has no gnomAD row for that allele. Check genome db stats.

The HTTP API accepts only public identifiers. GET /v1/query/{id} is the joined record and GET /v1/gnomad/{id} is frequency-only. There is no API key and no VCF upload.

cargo install genome-sh
genome db install standard
genome query rs1800562 --format json
curl -s https://api.genome.sh/v1/query/rs1800562 | jq .
curl -s https://api.genome.sh/v1/gnomad/rs1800562 | jq .

ACMG frequency evidence is not a ClinVar label

BA1-style frequency evidence is a reason a lab might submit likely benign. It is not itself a ClinVar clinical significance value. genome.sh does not assign ACMG codes to your rows.

Filtering allele frequency (FAF) in the gnomAD browser is a conservative estimate used in rare-disease work. The CLI reports the fields present in its snapshot. Open gnomAD when you need FAF and the full group table.

Global AF can hide a common allele in one group. When JSON includes group frequencies, read the maximum relevant group, not only the pooled number.

  • High AF: possible benign evidence for severe Mendelian disease, with founder exceptions
  • AF near zero: rare, filtered, or uncovered; not a pathogenic proof
  • Group AF: do not hide a common ancestry-specific allele behind a small global number

Match the identifier to a local file last

After you have ClinVar and gnomAD, grep the rsID in a 23andMe-style export or annotate a VCF. A missing row means not called. It does not mean homozygous reference.

Consumer chips cover a few hundred thousand sites. Most ClinVar pathogenic variants will not be on the chip. A clean consumer file is not a clinical exome.

Keep the file on disk. genome annotate sample.vcf.gz --format json is the local job. The API will reject the file on purpose.

genome query rs1800562 --format json | jq '{clinvar: .clinvar, gnomad: .gnomad}'
genome annotate sample.vcf.gz --filter clinical --format json
grep -w rs1800562 23andme.txt || echo not called

When to open the official browsers anyway

genome.sh is for fast, scriptable lookup. It is not a complete extract of ClinVar XML or of the gnomAD frequency table.

Open the ClinVar variation page for the full submission table, stars, and conditions. Open gnomAD for coverage plots, FAF, and every ancestry group. Use the CLI to find the id, then click through when the row matters.

Refresh the local database when you need a newer snapshot. Cite sources. Do not present a CLI row as a clinical report.

If you are writing a script that claims ClinVar vs gnomAD agreement, store both fields. A single emoji that mixes them is how founder alleles and coverage holes disappear.

Questions

What is the difference between ClinVar and gnomAD?

ClinVar is submitted clinical interpretation. gnomAD is population allele frequency among sequenced people. ClinVar vs gnomAD is two questions, not two names for the same database.

If gnomAD frequency is high, can I ignore ClinVar?

No. Read both. Some true disease alleles are common in a population, including founder alleles and recessive carrier alleles.

If a variant is absent from gnomAD, is it pathogenic?

No. Absence can mean rare, poorly covered, or quality-filtered. It is not a classification.

How do I query ClinVar and gnomAD together?

Install a standard or full database, then genome query rs1800562 --format json. Or GET https://api.genome.sh/v1/query/rs1800562. lite may omit frequency.

Does genome.sh replace the ClinVar or gnomAD browsers?

No. Use the official browsers for the full record. genome.sh is for fast lookup and for joining the two sources in a script.

Which gnomAD version does genome.sh use?

The version bundled in the local database build. Check genome db stats or GET /v1/sources. Match assembly to your VCF.

Can I upload a VCF to compare ClinVar vs gnomAD?

No. The HTTP API rejects genome files. Annotate locally with genome annotate file.vcf.gz --format json.

Is this medical advice?

No. genome.sh prints public annotations. Clinical decisions need a clinician and an appropriate assay.

genome.sh reports public annotations. It is informational software, not a medical device or a substitute for clinical care.