bio-clinical-databases-clinvar-lookup
Look up clinical significance and disease links for genetic variants in ClinVar.
Install
mkdir -p .claude/skills/bio-clinical-databases-clinvar-lookup && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/17111" && unzip -o skill.zip -d .claude/skills/bio-clinical-databases-clinvar-lookup && rm skill.zipInstalls to .claude/skills/bio-clinical-databases-clinvar-lookup
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Query ClinVar for variant pathogenicity classifications, review status, and disease associations via REST API or local VCF. Use when determining clinical significance of variants for diagnostic or research purposes.Key capabilities
- →Query ClinVar for variant pathogenicity classifications
- →Retrieve review status for genetic variants
- →Identify disease associations for variants
- →Search ClinVar by variant ID, gene symbol, or HGVS notation
- →Query variants against a local ClinVar VCF file
- →Annotate VCF files with ClinVar significance and review status
How it works
This skill queries the ClinVar database via REST API or local VCF files to retrieve and parse variant pathogenicity classifications and associated data.
Inputs & outputs
When to use bio-clinical-databases-clinvar-lookup
- →Retrieve pathogenicity data for a variant ID
- →Search ClinVar by gene symbol
- →Check clinical review status for a specific variant
About this skill
Version Compatibility
Reference examples tested with: Entrez Direct 21.0+, bcftools 1.19+
Before using code patterns, verify installed versions match. If versions differ:
- Python:
pip show <package>thenhelp(module.function)to check signatures - CLI:
<tool> --versionthen<tool> --helpto confirm flags
If code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
ClinVar Lookup
REST API Queries
Goal: Retrieve ClinVar pathogenicity classifications and disease associations for variants via REST API.
Approach: Query NCBI E-utilities endpoints with variant IDs, gene symbols, or HGVS notation and parse JSON responses.
"Look up this variant in ClinVar" → Query ClinVar database for clinical significance, review status, and disease associations.
- Python:
requests.get()against NCBI E-utilities (requests) - CLI:
esearch/efetch(Entrez Direct)
Query by Variant ID
import requests
def query_clinvar_by_id(variation_id):
'''Query ClinVar by variation ID'''
url = f'https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi'
params = {
'db': 'clinvar',
'id': variation_id,
'retmode': 'json'
}
response = requests.get(url, params=params)
return response.json()
result = query_clinvar_by_id('16609')
Search by Gene
def search_clinvar_gene(gene_symbol, pathogenic_only=False):
'''Search ClinVar for variants in a gene'''
url = 'https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi'
term = f'{gene_symbol}[gene]'
if pathogenic_only:
term += ' AND pathogenic[clinical_significance]'
params = {
'db': 'clinvar',
'term': term,
'retmax': 500,
'retmode': 'json'
}
response = requests.get(url, params=params)
return response.json()
Search by HGVS
def search_clinvar_hgvs(hgvs):
'''Search ClinVar by HGVS notation'''
url = 'https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi'
params = {
'db': 'clinvar',
'term': f'{hgvs}[variant name]',
'retmode': 'json'
}
response = requests.get(url, params=params)
return response.json()
Local ClinVar VCF
Goal: Query variants against a local ClinVar VCF for fast, offline pathogenicity lookups.
Approach: Download the ClinVar VCF from NCBI FTP, then query by genomic coordinates using cyvcf2 or bcftools.
Download ClinVar VCF
# GRCh38
wget https://ftp.ncbi.nlm.nih.gov/pub/clinvar/vcf_GRCh38/clinvar.vcf.gz
wget https://ftp.ncbi.nlm.nih.gov/pub/clinvar/vcf_GRCh38/clinvar.vcf.gz.tbi
# GRCh37
wget https://ftp.ncbi.nlm.nih.gov/pub/clinvar/vcf_GRCh37/clinvar.vcf.gz
Query Local ClinVar with cyvcf2
from cyvcf2 import VCF
clinvar = VCF('clinvar.vcf.gz')
def lookup_variant(chrom, pos, ref, alt):
'''Look up variant in local ClinVar VCF'''
region = f'{chrom}:{pos}-{pos}'
for variant in clinvar(region):
if variant.REF == ref and alt in variant.ALT:
return {
'clnsig': variant.INFO.get('CLNSIG'),
'clnrevstat': variant.INFO.get('CLNREVSTAT'),
'clndn': variant.INFO.get('CLNDN'),
'clnvc': variant.INFO.get('CLNVC')
}
return None
result = lookup_variant('7', 140453136, 'A', 'T')
Clinical Significance Categories
| Value | Interpretation |
|---|---|
| Pathogenic | Disease-causing |
| Likely_pathogenic | Probably disease-causing |
| Uncertain_significance | VUS - unknown |
| Likely_benign | Probably not disease-causing |
| Benign | Not disease-causing |
| Conflicting_interpretations | Multiple labs disagree |
Review Status Stars
| Stars | Review Status |
|---|---|
| 4 | Practice guideline |
| 3 | Expert panel reviewed |
| 2 | Multiple submitters, criteria provided |
| 1 | Single submitter, criteria provided |
| 0 | No assertion criteria |
Parse ClinVar INFO Fields
Goal: Classify variants into actionable pathogenicity categories from raw ClinVar CLNSIG values.
Approach: Map ClinVar significance terms to simplified categories (pathogenic, benign, conflicting, VUS).
def parse_clinvar_significance(clnsig):
'''Parse ClinVar CLNSIG field'''
pathogenic_terms = ['Pathogenic', 'Likely_pathogenic']
benign_terms = ['Benign', 'Likely_benign']
if any(term in clnsig for term in pathogenic_terms):
return 'pathogenic'
elif any(term in clnsig for term in benign_terms):
return 'benign'
elif 'Conflicting' in clnsig:
return 'conflicting'
else:
return 'vus'
Batch Annotation with bcftools
Goal: Annotate an entire VCF with ClinVar significance, review status, and disease names in one pass.
Approach: Use bcftools annotate to transfer ClinVar INFO fields from the ClinVar VCF to the input VCF.
# Annotate VCF with ClinVar
bcftools annotate \
-a clinvar.vcf.gz \
-c INFO/CLNSIG,INFO/CLNREVSTAT,INFO/CLNDN \
input.vcf.gz \
-o annotated.vcf.gz
Related Skills
- myvariant-queries - Aggregated queries including ClinVar
- variant-prioritization - Filter by ClinVar significance
- variant-calling/clinical-interpretation - ACMG guidelines
When not to use it
- →When the user needs aggregated queries beyond ClinVar
- →When the user needs to prioritize variants by criteria other than ClinVar significance
- →When the user needs to apply ACMG guidelines for variant interpretation
Limitations
- →This skill relies on the ClinVar database for variant information
- →This skill requires specific variant identifiers or genomic coordinates for lookup
- →This skill's local VCF query requires a downloaded ClinVar VCF file
How it compares
This workflow automates the retrieval and interpretation of ClinVar data, providing structured results directly, unlike manual database lookups.
Compared to similar skills
bio-clinical-databases-clinvar-lookup side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| bio-clinical-databases-clinvar-lookup (this skill) | 0 | 5mo | Review | Intermediate |
| exploratory-data-analysis | 15 | 2mo | Review | Intermediate |
| model-compare | 7 | 8mo | Review | Advanced |
| astropy | 6 | 8mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by FreedomIntelligence
View all by FreedomIntelligence →You might also like
exploratory-data-analysis
K-Dense-AI
Perform comprehensive exploratory data analysis on scientific data files across 200+ file formats. This skill should be used when analyzing any scientific data file to understand its structure, content, quality, and characteristics. Automatically detects file type and generates detailed markdown reports with format-specific analysis, quality metrics, and downstream analysis recommendations. Covers chemistry, bioinformatics, microscopy, spectroscopy, proteomics, metabolomics, and general scientific data formats.
model-compare
rawwerks
Compare 3D CAD models using boolean operations (IoU, Dice, precision/recall). Use when evaluating generated models against gold references, diffing CAD revisions, or computing similarity metrics for ML training. Triggers on: model diff, compare models, IoU, intersection over union, model similarity, CAD comparison, STEP diff, 3D evaluation, gold reference, generated model, precision recall 3D.
astropy
davila7
Comprehensive Python library for astronomy and astrophysics. This skill should be used when working with astronomical data including celestial coordinates, physical units, FITS files, cosmological calculations, time systems, tables, world coordinate systems (WCS), and astronomical data analysis. Use when tasks involve coordinate transformations, unit conversions, FITS file manipulation, cosmological distance calculations, time scale conversions, or astronomical data processing.
statistical-analysis
anthropics
Apply statistical methods including descriptive stats, trend analysis, outlier detection, and hypothesis testing. Use when analyzing distributions, testing for significance, detecting anomalies, computing correlations, or interpreting statistical results.
datacommons-client
davila7
Work with Data Commons, a platform providing programmatic access to public statistical data from global sources. Use this skill when working with demographic data, economic indicators, health statistics, environmental data, or any public datasets available through Data Commons. Applicable for querying population statistics, GDP figures, unemployment rates, disease prevalence, geographic entity resolution, and exploring relationships between statistical entities.
analyzing-market-sentiment
jeremylongshore
Analyze cryptocurrency market sentiment using Fear & Greed Index, news analysis, and market momentum. Use when gauging overall market mood, checking if markets are fearful or greedy, or analyzing sentiment for specific coins. Trigger with phrases like "analyze crypto sentiment", "check market mood", "is the market fearful", "sentiment for Bitcoin", or "Fear and Greed index".