skills/davila7/clinvar-database/SKILL.md
Query NCBI ClinVar for variant clinical significance. Search by gene/position, interpret pathogenicity classifications, access via E-utilities API or FTP, annotate VCFs, for genomic medicine.
npx skillsauth add aiskillstore/marketplace clinvar-databaseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
ClinVar is NCBI's freely accessible archive of reports on relationships between human genetic variants and phenotypes, with supporting evidence. The database aggregates information about genomic variation and its relationship to human health, providing standardized variant classifications used in clinical genetics and research.
This skill should be used when:
Search ClinVar using the web interface at https://www.ncbi.nlm.nih.gov/clinvar/
Common search patterns:
BRCA1[gene]pathogenic[CLNSIG]breast cancer[disorder]NM_000059.3:c.1310_1313del[variant name]13[chr]BRCA1[gene] AND pathogenic[CLNSIG]Access ClinVar programmatically using NCBI's E-utilities API. Refer to references/api_reference.md for comprehensive API documentation including:
Quick example using curl:
# Search for pathogenic BRCA1 variants
curl "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=clinvar&term=BRCA1[gene]+AND+pathogenic[CLNSIG]&retmode=json"
Best practices:
Entrez.email when using BiopythonClinVar uses standardized terminology for variant classifications. Refer to references/clinical_significance.md for detailed interpretation guidelines.
Key germline classification terms (ACMG/AMP):
Review status (star ratings):
Critical considerations:
Download complete datasets from ftp://ftp.ncbi.nlm.nih.gov/pub/clinvar/
Refer to references/data_formats.md for comprehensive documentation on file formats and processing.
Update schedule:
XML files (most comprehensive):
xml/clinvar_variation/ - Variant-centric aggregationxml/RCV/ - Variant-condition pairsVCF files (for genomic pipelines):
vcf_GRCh37/clinvar.vcf.gzvcf_GRCh38/clinvar.vcf.gzTab-delimited files (for quick analysis):
tab_delimited/variant_summary.txt.gz - Summary of all variantstab_delimited/var_citations.txt.gz - PubMed citationstab_delimited/cross_references.txt.gz - Database cross-referencesExample download:
# Download latest monthly XML release
wget ftp://ftp.ncbi.nlm.nih.gov/pub/clinvar/xml/clinvar_variation/ClinVarVariationRelease_00-latest.xml.gz
# Download VCF for GRCh38
wget ftp://ftp.ncbi.nlm.nih.gov/pub/clinvar/vcf_GRCh38/clinvar.vcf.gz
Process XML files to extract variant details, classifications, and evidence.
Python example with xml.etree:
import gzip
import xml.etree.ElementTree as ET
with gzip.open('ClinVarVariationRelease.xml.gz', 'rt') as f:
for event, elem in ET.iterparse(f, events=('end',)):
if elem.tag == 'VariationArchive':
variation_id = elem.attrib.get('VariationID')
# Extract clinical significance, review status, etc.
elem.clear() # Free memory
Annotate variant calls or filter by clinical significance using bcftools or Python.
Using bcftools:
# Filter pathogenic variants
bcftools view -i 'INFO/CLNSIG~"Pathogenic"' clinvar.vcf.gz
# Extract specific genes
bcftools view -i 'INFO/GENEINFO~"BRCA"' clinvar.vcf.gz
# Annotate your VCF with ClinVar
bcftools annotate -a clinvar.vcf.gz -c INFO your_variants.vcf
Using PyVCF in Python:
import vcf
vcf_reader = vcf.Reader(filename='clinvar.vcf.gz')
for record in vcf_reader:
clnsig = record.INFO.get('CLNSIG', [])
if 'Pathogenic' in clnsig:
gene = record.INFO.get('GENEINFO', [''])[0]
print(f"{record.CHROM}:{record.POS} {gene} - {clnsig}")
Use pandas or command-line tools for rapid filtering and analysis.
Using pandas:
import pandas as pd
# Load variant summary
df = pd.read_csv('variant_summary.txt.gz', sep='\t', compression='gzip')
# Filter pathogenic variants in specific gene
pathogenic_brca = df[
(df['GeneSymbol'] == 'BRCA1') &
(df['ClinicalSignificance'].str.contains('Pathogenic', na=False))
]
# Count variants by clinical significance
sig_counts = df['ClinicalSignificance'].value_counts()
Using command-line tools:
# Extract pathogenic variants for specific gene
zcat variant_summary.txt.gz | \
awk -F'\t' '$7=="TP53" && $13~"Pathogenic"' | \
cut -f1,5,7,13,14
When multiple submitters provide different classifications for the same variant, ClinVar reports "Conflicting interpretations of pathogenicity."
Resolution strategy:
Search query to exclude conflicts:
TP53[gene] AND pathogenic[CLNSIG] NOT conflicting[RVSTAT]
Variant classifications may change over time as new evidence emerges.
Why classifications change:
Best practices:
Organizations can submit variant interpretations to ClinVar.
Submission methods:
references/api_reference.mdRequirements:
Contact: [email protected] for submission account setup.
Objective: Find pathogenic variants in CFTR gene with expert panel review.
Steps:
CFTR[gene] AND pathogenic[CLNSIG] AND (reviewed by expert panel[RVSTAT] OR practice guideline[RVSTAT])
Objective: Add clinical significance annotations to variant calls.
Steps:
wget ftp://ftp.ncbi.nlm.nih.gov/pub/clinvar/vcf_GRCh38/clinvar.vcf.gz
wget ftp://ftp.ncbi.nlm.nih.gov/pub/clinvar/vcf_GRCh38/clinvar.vcf.gz.tbi
bcftools annotate -a clinvar.vcf.gz \
-c INFO/CLNSIG,INFO/CLNDN,INFO/CLNREVSTAT \
-o annotated_variants.vcf \
your_variants.vcf
bcftools view -i 'INFO/CLNSIG~"Pathogenic"' annotated_variants.vcf
Objective: Study all variants associated with hereditary breast cancer.
Steps:
hereditary breast cancer[disorder] OR "Breast-ovarian cancer, familial"[disorder]
Objective: Build a local ClinVar database for analysis pipeline.
Steps:
wget ftp://ftp.ncbi.nlm.nih.gov/pub/clinvar/xml/clinvar_variation/ClinVarVariationRelease_YYYY-MM.xml.gz
This skill includes comprehensive reference documentation:
references/api_reference.md - Complete E-utilities API documentation with examples for esearch, esummary, efetch, and elink; includes rate limits, authentication, and Python/Biopython code samples
references/clinical_significance.md - Detailed guide to interpreting clinical significance classifications, review status star ratings, conflict resolution, and best practices for variant interpretation
references/data_formats.md - Documentation for XML, VCF, and tab-delimited file formats; FTP directory structure, processing examples, and format selection guidance
For questions about ClinVar or data submission: [email protected]
development
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.