sciagent-skill-creator
Scaffold a new SciAgent-Skills entry. Picks pipeline/toolkit/database/guide template, creates skills/{category}/{name}/SKILL.md…
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
Claude Code
$ npx -y skills add jaechang-hits/SciAgent-Skills --skill snpeff-variant-annotation --agent claude-code
Codex
$ npx skills add jaechang-hits/SciAgent-Skills --skill snpeff-variant-annotation -a codex -y
Cursor
$ npx skills add jaechang-hits/SciAgent-Skills --skill snpeff-variant-annotation -a cursor -y
Gemini CLI
$ npx skills add jaechang-hits/SciAgent-Skills --skill snpeff-variant-annotation -a gemini-cli -y
GitHub Copilot
$ npx skills add jaechang-hits/SciAgent-Skills --skill snpeff-variant-annotation -a github-copilot -y
OpenCode
$ npx skills add jaechang-hits/SciAgent-Skills --skill snpeff-variant-annotation -a opencode -y
Windsurf
$ npx skills add jaechang-hits/SciAgent-Skills --skill snpeff-variant-annotation -a windsurf -y
name: "snpeff-variant-annotation" description: "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." license: "MIT"
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.
> **Check before installing**: The tool may already be available in the current environment (e.g., inside a `pixi` / `conda` env). Run `command -v snpEff` first and skip the install commands below if it returns a path. When running inside a pixi project, invoke the tool via `pixi run snpEff` rather than bare `snpEff`.
# 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 pip install cyvcf2 pandas matplotlib seaborn
Settle these with the user before writing any analysis code.
decisions:
- id: D1
param: annotationDatabase
kind: required
source: upstream
ask: "Which genome database should annotate these variants, and does its assembly match the VCF coordinates?"
default: "the assembly the variants were called on"
- id: D2
param: transcriptScope
kind: required
source: user
ask: "Report the consequence on every transcript of a gene, or only on the canonical one?"
default: "all transcripts - the worst consequence across them is what most filters use"
- id: D3
param: filterExpression
kind: required
source: user
ask: "Which annotated variants should survive into the final table - by predicted impact, population frequency, or clinical significance?"
default: null
- id: D4
param: frequencySkip
kind: optional_conditional
source: user
ask: "Skip annotating variants already common in the population?"
default: "annotate everything"
- id: D5
param: summaryReport
kind: optional
source: user
ask: "Generate the HTML summary alongside the annotated VCF?"
default: "generated"
- id: D6
param: javaHeap
kind: never_ask
source: data
reason: "Prevents out-of-memory on large VCFs; does not change annotations"
default: "4-8 GB"D3 has no safe default because the filter is the deliverable - a rare-disease question keeps high-impact rare variants, a pharmacogenomic one keeps known clinical annotations regardless of impact. Applying somebody else's filter silently answers their question instead.
# 1. Download the hg38 genome database (one-time setup, ~1 GB)
java -jar snpEff/snpEff.jar download hg38
# 2. Annotate variants
java -jar snpEff/snpEff.jar \
-v hg38 \
input.vcf.gz \
> annotated.vcf
# 3. Filter to HIGH-impact variants
java -jar snpEff/SnpSift.jar filter \
"ANN[*].IMPACT = 'HIGH'" \
annotated.vcf \
> high_impact.vcf
echo "Done. Check snpEff_summary.html and snpEff_genes.txt for QC stats."Download and verify the pre-built genome database for your target assembly. Databases include transcript models from Ensembl or UCSC and are built into SnpEff's local cache directory (`~/.snpEff/data/` or `snpEff/data/`).
# List all available databases (grep for your assembly) java -jar snpEff/snpEff.jar databases | grep -i "GRCh38\|hg38" # Download hg38 (Homo sapiens, GRCh38) j
Turn your AI coding agent into a life sciences expert — 199 bioinformatics skills for Claude Code covering RNA-seq, single-cell analysis, genomics, proteomics, drug discovery, and more. Boosted BixBench from 65% to 92%. Open source.
Scaffold a new SciAgent-Skills entry. Picks pipeline/toolkit/database/guide template, creates skills/{category}/{name}/SKILL.md…
Bayesian modeling with PyMC 5: priors, likelihood, NUTS/ADVI sampling, diagnostics (R-hat, ESS), LOO/WAIC comparison, prediction.…
Time-to-event modeling with scikit-survival: Cox PH (elastic net), Random Survival Forests, Boosting, SVMs for censored data.…
Guided statistical analysis: test choice, assumption checks, effect sizes, power, APA reporting. Pick tests, verify assumptions,…
Python statistical modeling: regression (OLS, WLS, GLM), discrete (Logit, Poisson, NegBin), time series (ARIMA, SARIMAX, VAR),…
DL cell/nucleus segmentation for fluorescence and brightfield microscopy. Pre-trained models (cyto3, nuclei, tissuenet) and a…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.