Agent skill · Data & Analytics

bio-clinical-databases-myvariant-queries

Queries myvariant.info BioThings aggregator for ClinVar, gnomAD, dbSNP, dbNSFP, COSMIC, CADD, and CIViC annotations in batched, version-tracked requests. Use when annotating variant lists from multiple databases simultaneously without managing per-source APIs, and when reproducibility-grade analyses require recording source data versions via _meta.

BioTender-maxgithub.com/BioTender-maxGitHub ↗
claude-codeships scriptsNOASSERTION
Install
npx skills add BioTender-max/awesome-bio-agent-skills --skill myvariant-queries --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 3
SKILL.md size: 18 KB
Bundled scripts: yes
Path: skills/bioskills/myvariant-queries/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 135
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Annotates lists of variants by querying the BioThings myvariant.info aggregator, returning ClinVar, gnomAD, dbNSFP (including AlphaMissense, REVEL, BayesDel, etc.), COSMIC, CIViC, and other sources in a single batch with version metadata. It supports both per-variant and batched (up to 1000 IDs) requests and can perform field-limited queries to fetch nested, multi-source annotations while capturing per-source versions in _meta.

How it works

  • Uses Python with the primary tool "myvariant" to perform variant lookups.
  • Batch endpoint: call mv.getvariants(ids_list, fields=...) for up to 1000 IDs per request.
  • Per-variant lookup: call mv.getvariant(hgvs_or_rsid, fields=[...]).
  • Flexible searches: mv.query('lucene_query', size=..., fields=[...]).
  • Metadata preservation: responses include a _meta field with per-source versions; examples show printing record['_meta']['src'][source]['version'].
  • Outputs can be parsed to extract ClinVar clinical_significance, gnomad_exome/genome frequencies, dbnsfp scores (e.g., alphamissense, revel, cadd.phred), rsid, and other fields.

When to use it

  • When annotating variant lists from multiple databases simultaneously without managing per-source APIs.
  • When analyses require reproducibility-grade tracking of source data versions via the _meta field.

What it can touch

  • The skill relies on the "myvariant" Python client and endpoints: GET /v1/variant/{id}, POST /v1/variant, GET /v1/metadata, and mv.query for Elasticsearch-like searches. It also references fields such as clinvar, gnomad_exome, dbnsfp, and _meta in the results.

Caveats

  • dbNSFP version drift can affect scores; check _meta.src.dbnsfp.version to confirm loaded version.
  • AlphaMissense thresholds are not ClinGen-endorsed as of May 2026; treat as supporting evidence only.
  • Batch size is capped at 1000 IDs per POST; for larger lists, chunk and sleep between requests.
  • Multi-allelic rsID handling may require filtering to ensure the correct allele is used; HGVS-based lookups are preferred for unambiguous results.
From the SKILL.md

## Version Compatibility Reference examples tested with: myvariant 1.0.0+, requests 2.31+, pandas 2.2+. myvariant.info aggregates >=21 sources; the operative version of each source is queryable via the `_meta` field and the `/v1/metadata` endpoint. Before using code patterns, verify installed versions match. If versions differ: - Python: `pip show <package>` then `help(module.function)` to check signatures If code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying. dbNSFP version drift is the dominant staleness vector: AlphaMissense was added to dbNSFP v4.4 (~2024); querying `dbnsfp.alphamissense.score` returns whatever version of dbNSFP is currently loaded; check `_meta.src.dbnsfp.version`. # MyVariant.info Queries; Aggregated Annotation **'Annotate my variants with ClinVar + gnomAD + CADD + AlphaMissense in one batch'** -> Query the BioThings myvariant.info aggregator with field selection and version tracking, then parse nested responses. - Python: `myvariant.MyVariantInfo().getvariant(hgvs_or_rsid, fields=['clinvar', 'gnomad_exome', 'dbnsfp'])` - Python (batch): `mv.getvariants(ids

What's inside
Steps it walks through
  1. Version Compatibility
  2. BioThings Architecture (Wu 2022 Bioinformatics)
  3. Aggregated Sources: ~21 and Counting
  4. Scopes and Query Forms
  5. Reproducibility: The meta Field
  6. Comparison to Alternatives
  7. Decision Tree by Query Scenario
  8. Standard Annotation Workflow
  9. Elasticsearch Query Patterns
  10. Per-Operation Failure Modes
  11. Reconciliation: When Sources Inside myvariant Disagree
  12. Quantitative Thresholds and Conventions
  13. Common Errors
  14. Anticipated Reviewer Pushback
Ships with 2 files
  • examples/query_myvariant.py
  • usage-guide.md
More from awesome-bio-agent-skills
All skills →
About this skill
What does the bio-clinical-databases-myvariant-queries skill do?

Queries myvariant.info BioThings aggregator for ClinVar, gnomAD, dbSNP, dbNSFP, COSMIC, CADD, and CIViC annotations in batched, version-tracked requests. Use when annotating variant lists from multiple databases simultaneously without managing per-source APIs, and when reproducibility-grade analyses require recording source data versions via _meta.

How do I install it?

Run `npx skills add BioTender-max/awesome-bio-agent-skills --skill myvariant-queries --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From BioTender-max/awesome-bio-agent-skills, a repository with 135 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going