snpeff-variant-annotation
Annotate and filter VCF variants with SnpEff and SnpSift. SnpEff predicts functional effects (HIGH/MODERATE/LOW/MODIFIER), genes, transcripts, AA changes, HGVS; SnpSift filters and adds ClinVar/dbSNP. Java CLI with Python subprocess integration. Use ANNOVAR for multi-database annotation; Ensembl VEP for REST API; SnpEff for fast CLI with pre-built genomes.
npx skills add BioTender-max/awesome-bio-agent-skills --skill snpeff-variant-annotation --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Annotates variants in VCF files by predicting functional consequences, filters and enriches annotated VCFs with external databases such as ClinVar and dbSNP, and exports structured fields for downstream analysis. It provides a complete workflow from downloading genome databases to extracting fields for pandas dataframes and Python parsing.
How it works
- Downloads and uses pre-built genome databases for SnpEff (e.g., hg38, GRCh37, mm10).
- Annotates VCFs to add INFO fields (notably ANN) with transcript- and gene-level effects, including impact levels (HIGH/MODERATE/LOW/MODIFIER) and HGVS notations.
- Uses SnpSift to filter annotated VCFs based on ANN[*].IMPACT, population frequency (AF), and other fields, and can filter for HIGH-impact variants or joint HIGH/MODERATE with frequency constraints.
- Annotates with ClinVar and dbSNP information by transferring relevant fields from reference VCFs using SnpSift annotate.
- Extracts key fields to a tab-delimited table via SnpSift extractFields for downstream analysis.
- Provides a Python workflow (cyvcf2) to parse annotated VCFs, focusing on the first (most severe) ANN entry, and produce a structured dataframe with chrom, pos, ref, alt, gene, effect, impact, HGVS, AF, and ClinVar signals.
- Includes sample commands for each step, including how to download, annotate, filter, and extract.
When to use it
- Annotate VCFs from callers with predicted gene-level functional consequences before review or downstream filtering.
- Prioritize clinically relevant variants by filtering to HIGH-impact or HIGH/MODERATE variants with frequency constraints.
- Add ClinVar pathogenicity classifications and dbSNP rsIDs for cross-study comparisons.
- Extract structured fields into pandas DataFrames for statistical analysis or ML workflows.
- Use ANNOVAR for multi-database annotation when a broader, multi-database run is needed, or Ensembl VEP for REST API access.
What it can touch
- Java CLI tools:
snpEff.jar,SnpSift.jar(paths provided in commands). - Genome databases downloaded via
snpEff.jar download(e.g., hg38, GRCh37, mm10). - Reference VCFs for ClinVar and dbSNP annotations (e.g., ClinVar VCFs and dbSNP VCFs).
- Output files: annotated.vcf, high_impact.vcf, annotated_clinvar.vcf, annotated_full.vcf, annotated_full.vcf.gz, variants_table.tsv, and downstream Python scripts using
cyvcf2.
Caveats
- Requires Java 11+ for SnpEff 5.x and compatible SnpSift tooling.
- Databases and VCF sources must be downloaded separately and kept synchronized with the genome build used for annotation.
- The workflow assumes presence of AF (allele frequency) in INFO for certain filters and may require additional annotation steps to populate it.
- The examples show use with gzipped VCFs and indexing (bgzip/tabix) for downstream performance.
# SnpEff + SnpSift — Variant Annotation and Filtering ## Overview SnpEff annotates variants in VCF files by predicting their functional consequences: impact level (HIGH, MODERATE, LOW, MODIFIER), affected gene and transcript, amino acid change, and HGVS notation. SnpSift is the companion tool for filtering, sorting, and enriching annotated VCFs with external databases such as ClinVar and dbSNP. Together they form a fast, self-contained pipeline for going from raw variant calls to biologically interpretable, filtered variant sets. Both tools are Java-based and are invoked from the command line or Python subprocess; pre-built genome databases (hg38, GRCh37, mm10, and 100+ others) are downloaded with a single command. ## When to Use - Annotating VCF files from GATK, DeepVariant, bcftools, or other callers with predicted gene-level functional consequences before manual review or downstream filtering - Prioritizing clinically relevant variants by filtering to HIGH-impact stop-gain, frameshift, and splice-site variants for rare disease or cancer gene panel analysis - Adding ClinVar pathogenicity classifications and dbSNP rsIDs to a variant set for cross-study comparison or clinical repor
- Overview
- When to Use
- Prerequisites
- Quick Start
- Workflow
- Step 1: Install SnpEff and Download Genome Database
- Step 2: Annotate VCF with Functional Effects
- Step 3: Filter HIGH-Impact Variants with SnpSift
- Step 4: Add ClinVar and dbSNP Annotations
- Step 5: Extract Fields to Tab-Delimited Output
- Step 6: Parse Annotated VCF in Python with cyvcf2
- Step 7: Summary Statistics and Consequence Visualization
- Key Parameters
- Key Concepts
Download SnpEff JAR wget https://snpeff.blob.core.windows.net/versions/snpEff_latest_core.zip unzip snpEff_latest_core.zip JAR is at snpEff/snpEff.jar and snpEff/SnpSift.jar Or via conda (recommended for reproducibility) conda install -c bioconda snpeff Verify java -jar snpEff/snpEff.jar -version SnpEff 5.2a (build 2024-02-06) Install Python packages for downstream parsing
What does the snpeff-variant-annotation skill do?
Annotate and filter VCF variants with SnpEff and SnpSift. SnpEff predicts functional effects (HIGH/MODERATE/LOW/MODIFIER), genes, transcripts, AA changes, HGVS; SnpSift filters and adds ClinVar/dbSNP. Java CLI with Python subprocess integration. Use ANNOVAR for multi-database annotation; Ensembl VEP for REST API; SnpEff for fast CLI with pre-built genomes.
How do I install it?
Run `npx skills add BioTender-max/awesome-bio-agent-skills --skill snpeff-variant-annotation --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.
