Tooluniverse Variant Interpretation
wu-yc/LabClaw
Systematic clinical variant interpretation from raw variant calls to ACMG-classified recommendations with structural impact analysis.
ToolUniverse workflow — Variant Analysis. An agent skill from lamm-mit/scienceclaw.
$ npx skills add lamm-mit/scienceclaw --skill variant-analysis -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install lamm-mit/scienceclaw variant-analysis --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/lamm-mit/scienceclaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/variant-analysis .claude/skills/variant-analysis && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "variant-analysis" agent skill from https://github.com/lamm-mit/scienceclaw/tree/main/skills/variant-analysis into .claude/skills/variant-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "variant-analysis", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/lamm-mit/scienceclaw/tree/main/skills/variant-analysisType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add lamm-mit/scienceclaw --skill variant-analysis -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install lamm-mit/scienceclaw variant-analysis --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lamm-mit/scienceclaw.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/variant-analysis .agents/skills/variant-analysis && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "variant-analysis" agent skill from https://github.com/lamm-mit/scienceclaw/tree/main/skills/variant-analysis into .agents/skills/variant-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "variant-analysis", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add lamm-mit/scienceclaw --skill variant-analysis -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install lamm-mit/scienceclaw variant-analysis --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lamm-mit/scienceclaw.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/variant-analysis .cursor/skills/variant-analysis && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "variant-analysis" agent skill from https://github.com/lamm-mit/scienceclaw/tree/main/skills/variant-analysis into .cursor/skills/variant-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "variant-analysis", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/lamm-mit/scienceclaw.git --path skills/variant-analysis--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add lamm-mit/scienceclaw --skill variant-analysis -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install lamm-mit/scienceclaw variant-analysis --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lamm-mit/scienceclaw.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/variant-analysis .gemini/skills/variant-analysis && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "variant-analysis" agent skill from https://github.com/lamm-mit/scienceclaw/tree/main/skills/variant-analysis into .gemini/skills/variant-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "variant-analysis", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install lamm-mit/scienceclaw variant-analysisInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add lamm-mit/scienceclaw --skill variant-analysis -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/lamm-mit/scienceclaw.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/variant-analysis .github/skills/variant-analysis && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "variant-analysis" agent skill from https://github.com/lamm-mit/scienceclaw/tree/main/skills/variant-analysis into .github/skills/variant-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "variant-analysis", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add lamm-mit/scienceclaw --skill variant-analysis -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install lamm-mit/scienceclaw variant-analysis --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/lamm-mit/scienceclaw.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/variant-analysis .opencode/skills/variant-analysis && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "variant-analysis" agent skill from https://github.com/lamm-mit/scienceclaw/tree/main/skills/variant-analysis into .opencode/skills/variant-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "variant-analysis", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
variant-analysisToolUniverse workflow — Variant Analysis. An agent skill from lamm-mit/scienceclaw.
Variant Analysis is an agent skill from lamm-mit/scienceclaw. ToolUniverse workflow — Variant Analysis
Its SKILL.md is about 4.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `scripts/run.py`).
The licence is Apache-2.0.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit ab9aba1. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (Python), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Variant Analysis loads about 4.1k tokens when it runs. Until then it costs about 14 tokens; SKILL.md has 1,254 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from lamm-mit/scienceclaw at commit ab9aba1, republished under its Apache-2.0 licence (© lamm-mit). 1,254 words, ~4,111 tokens.
.claude/skills/variant-analysis/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Production-ready VCF processing and variant annotation skill combining local bioinformatics computation with ToolUniverse database integration. Designed to answer bioinformatics analysis questions about VCF data, mutation classification, variant filtering, and clinical annotation.
Triggers:
Example Questions:
| Capability | Description |
|---|---|
| VCF Parsing | Pure Python + cyvcf2 parsers. VCF 4.x, gzipped, multi-sample, SNV/indel/SV |
| Mutation Classification | Maps SO terms, SnpEff ANN, VEP CSQ, GATK Funcotator to standard types |
| VAF Extraction | Handles AF, AD, AO/RO, NR/NV, INFO AF formats |
| Filtering | VAF, depth, quality, PASS, variant type, mutation type, consequence, chromosome, SV size |
| Statistics | Ti/Tv ratio, per-sample VAF/depth stats, mutation type distribution, SV size distribution |
| Annotation | MyVariant.info (aggregates ClinVar, dbSNP, gnomAD, CADD, SIFT, PolyPhen) |
| SV/CNV Analysis | gnomAD SV population frequencies, DGVa/dbVar known SVs, ClinGen dosage sensitivity |
| Clinical Interpretation | ACMG/ClinGen CNV pathogenicity classification using haploinsufficiency/triplosensitivity scores |
| DataFrame | Convert to pandas for advanced analytics |
| Reporting | Markdown reports with tables and statistics, SV clinical reports |
Input VCF File (SNVs/indels or SVs)
|
v
Phase 1: Parse VCF
|-- Pure Python parser (any VCF 4.x)
|-- cyvcf2 parser (faster, C-based)
|-- Extract: CHROM, POS, REF, ALT, QUAL, FILTER, INFO, FORMAT, samples
|-- Extract per-sample: GT, VAF, depth
|-- Extract annotations from INFO (ANN, CSQ, FUNCOTATION)
|-- Detect variant class: SNV/indel vs SV/CNV
|
v
Phase 2: Classify Variants
|-- Variant type: SNV, INS, DEL, MNV, COMPLEX, SV
|-- Mutation type: missense, nonsense, synonymous, frameshift, splice, etc.
|-- Impact: HIGH, MODERATE, LOW, MODIFIER
|-- SV type: DEL, DUP, INV, BND, CNV (if structural variant)
|
v
Phase 3: Apply Filters
|-- VAF range (min/max)
|-- Read depth minimum
|-- Quality threshold
|-- PASS only
|-- Variant/mutation type inclusion/exclusion
|-- Consequence exclusion (intronic, intergenic)
|-- Population frequency range
|-- Chromosome selection
|-- SV size range (for structural variants)
|
v
Phase 4: Compute Statistics
|-- Variant type distribution
|-- Mutation type distribution
|-- Impact distribution
|-- Chromosome distribution
|-- Ti/Tv ratio (for SNVs)
|-- Per-sample VAF/depth stats
|-- Gene mutation counts
|-- SV size distribution (for structural variants)
|
v
Phase 5: Annotate with ToolUniverse (optional)
|-- MyVariant.info: ClinVar, dbSNP, gnomAD, CADD, SIFT, PolyPhen
|-- dbSNP: Population frequencies, gene associations
|-- gnomAD: Population allele frequencies
|-- Ensembl VEP: Consequence prediction
|
v
Phase 6: Generate Report / Answer Question
|-- Markdown report with tables
|-- Direct answer to specific question
|-- DataFrame for downstream analysis
|
v
Phase 7: Structural Variant & CNV Analysis (if SV/CNV detected)
|-- Annotate with gnomAD SV population frequencies
|-- Query DGVa/dbVar for known SVs (Ensembl)
|-- Identify affected genes
|-- Query ClinGen dosage sensitivity (HI/TS scores)
|-- Classify pathogenicity (Pathogenic/Likely Pathogenic/VUS/Benign)
|-- Generate SV clinical report with ACMG/ClinGen guidelinesUse pandas for:
Use python_implementation tools for:
Key functions:
vcf_data = parse_vcf("input.vcf") # Pure Python (always works)
vcf_data = parse_vcf_cyvcf2("input.vcf") # Fast C-based (if installed)
df = variants_to_dataframe(vcf_data.variants, sample="TUMOR") # For pandasAutomatic classification from annotations:
Mutation types supported: missense, nonsense, synonymous, frameshift, splice_site, splice_region, inframe_insertion, inframe_deletion, intronic, intergenic, UTR_5, UTR_3, upstream, downstream, stop_lost, start_lost
See references/mutation_classification_guide.md for full details
Common filtering patterns:
# Somatic-like variants
criteria = FilterCriteria(
min_vaf=0.05, max_vaf=0.95,
min_depth=20, pass_only=True,
exclude_consequences=["intronic", "intergenic", "upstream", "downstream"]
)
# High-confidence germline
criteria = FilterCriteria(
min_vaf=0.25, min_depth=30, pass_only=True,
chromosomes=["1", "2", ..., "22", "X", "Y"]
)
# Rare pathogenic candidates
criteria = FilterCriteria(
min_depth=20, pass_only=True,
mutation_types=["missense", "nonsense", "frameshift"]
)See references/vcf_filtering.md for all filter options
Use pandas for:
Use python_implementation for:
When to use ToolUniverse annotation tools:
Best practices:
Key tools:
MyVariant_query_variants: Batch annotation (ClinVar, dbSNP, gnomAD, CADD)dbsnp_get_variant_by_rsid: Population frequenciesgnomad_get_variant: Basic variant metadataEnsemblVEP_annotate_rsid: Consequence predictionSee references/annotation_guide.md for detailed examples
Report includes:
When VCF contains SV calls (SVTYPE=DEL/DUP/INV/BND):
clingen = ClinGen_dosage_by_gene(gene_symbol="BRCA1")
# Returns: haploinsufficiency_score, triplosensitivity_scoregnomad_sv = gnomad_get_sv_by_gene(gene_symbol="BRCA1")
# Returns: SVs with AF, AC, ANClinGen dosage score interpretation:
See references/sv_cnv_analysis.md for full SV workflow
Question: "What fraction of variants with VAF < X are annotated as Y mutations?"
result = answer_vaf_mutation_fraction(
vcf_path="input.vcf",
max_vaf=0.3,
mutation_type="missense",
sample="TUMOR"
)
# Returns: fraction, total_below_vaf, matching_mutation_typeQuestion: "What is the difference in mutation frequency between cohorts?"
result = answer_cohort_comparison(
vcf_paths=["cohort1.vcf", "cohort2.vcf"],
mutation_type="missense",
cohort_names=["Treatment", "Control"]
)
# Returns: cohorts, frequency_differenceQuestion: "After filtering X, how many Y remain?"
result = answer_non_reference_after_filter(
vcf_path="input.vcf",
exclude_intronic_intergenic=True
)
# Returns: total_input, non_reference, remaining| Tool | When to Use | Parameters | Response |
|---|---|---|---|
MyVariant_query_variants | Batch annotation | query (rsID/HGVS) | ClinVar, dbSNP, gnomAD, CADD |
dbsnp_get_variant_by_rsid | Population frequencies | rsid | Frequencies, clinical significance |
gnomad_get_variant | gnomAD metadata | variant_id (CHR-POS-REF-ALT) | Basic variant info |
EnsemblVEP_annotate_rsid | Consequence prediction | variant_id (rsID) | Transcript impact |
| Tool | When to Use | Parameters | Response |
|---|---|---|---|
gnomad_get_sv_by_gene | SV population frequency | gene_symbol | SVs with AF, AC, AN |
gnomad_get_sv_by_region | Regional SV search | chrom, start, end | SVs in region |
ClinGen_dosage_by_gene | Dosage sensitivity | gene_symbol | HI/TS scores, disease |
ClinGen_dosage_region_search | Dosage-sensitive genes in region | chromosome, start, end | All genes with HI/TS scores |
ensembl_get_structural_variants | Known SVs from DGVa/dbVar | chrom, start, end, species | Clinical significance |
See references/annotation_guide.md for detailed tool usage examples
Parse VCF, compute statistics, generate report.
report = variant_analysis_pipeline("input.vcf", output_file="report.md")Parse VCF, apply multi-criteria filter, compute statistics on filtered set.
report = variant_analysis_pipeline(
vcf_path="input.vcf",
filters=FilterCriteria(min_vaf=0.1, min_depth=20, pass_only=True),
output_file="filtered_report.md"
)Parse VCF, annotate top variants with ClinVar/gnomAD/CADD, generate clinical report.
report = variant_analysis_pipeline(
vcf_path="input.vcf",
annotate=True,
max_annotate=50,
output_file="annotated_report.md"
)Parse VCF, apply specific filters, compute targeted statistics to answer precise questions.
result = answer_vaf_mutation_fraction(
vcf_path="input.vcf",
max_vaf=0.3,
mutation_type="missense"
)Parse multiple VCFs, compare mutation frequencies across cohorts.
result = answer_cohort_comparison(
vcf_paths=["cohort1.vcf", "cohort2.vcf"],
mutation_type="missense"
)Use pandas when:
Use python_implementation when:
Best approach: Use python_implementation for parsing/classification, then convert to DataFrame for custom analysis:
# Parse and classify
vcf_data = parse_vcf("input.vcf")
passing, failing = filter_variants(vcf_data.variants, criteria)
# Convert to DataFrame for custom analysis
df = variants_to_dataframe(passing, sample="TUMOR")
# Now use pandas
missense_high_vaf = df[(df['mutation_type'] == 'missense') & (df['vaf'] >= 0.3)]See QUICK_START.md for:
© lamm-mit, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (scripts) in skills/variant-analysis of lamm-mit/scienceclaw.
Open the folder on GitHubat commit ab9aba1
Variant Analysis next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Variant Analysis this skilllamm-mit/scienceclaw | 244 | — | ~4.1k | Automated safety check: Pass | Apache-2.0 | |
| Tooluniverse Variant Interpretationwu-yc/LabClaw | 1.1k | 2 repos | ~9.5k | Automated safety check: Pass | None | |
| Tooluniverse Structural Variant Analysiswu-yc/LabClaw | 1.1k | 2 repos | ~12k | Automated safety check: Pass | None | |
| Bio Variant Calling Structural Variant CallingFreedomIntelligence/OpenClaw-Medical-Skills | 3.1k | — | ~1.7k | Automated safety check: Pass | None | |
| Tooluniverse Cancer Variant Interpretationwu-yc/LabClaw | 1.1k | 2 repos | ~8.9k | Automated safety check: Pass | None | |
| Annotating Variantsmaziyarpanahi/openmed | 5.5k | — | ~2.1k | Automated safety check: Pass | Apache-2.0 |
wu-yc/LabClaw
Systematic clinical variant interpretation from raw variant calls to ACMG-classified recommendations with structural impact analysis.
wu-yc/LabClaw
Comprehensive structural variant (SV) analysis skill for clinical genomics.
FreedomIntelligence/OpenClaw-Medical-Skills
Call structural variants (SVs) from short-read sequencing using Manta, Delly, and LUMPY.
wu-yc/LabClaw
Provide comprehensive clinical interpretation of somatic mutations in cancer.
maziyarpanahi/openmed
Annotates VCF variants and normalizes HGVS nomenclature with public, license-free annotators (Ensembl VEP REST, VEP/SnpEff/ANNOVAR offline) and links variants to gnomAD population frequencies and…
GPTomics/bioSkills
Call structural variants (=50 bp deletions, insertions, inversions, duplications, translocations) from short- or long-read data by reconstructing four orthogonal signals (discordant pairs, split…
lamm-mit/scienceclaw
Query FRED (Federal Reserve Economic Data) API for 800,000+ economic time series from 100+ sources.
lamm-mit/scienceclaw
Generates comprehensive drug research reports with compound disambiguation, evidence grading, and mandatory completeness sections.
lamm-mit/scienceclaw
Query and download public cancer imaging data from NCI Imaging Data Commons using idc-index.
lamm-mit/scienceclaw
Cloud-based quantum chemistry platform with Python API. An agent skill from lamm-mit/scienceclaw.
lamm-mit/scienceclaw
Create professional infographics using Nano Banana Pro AI with smart iterative refinement.
lamm-mit/scienceclaw
Generate comprehensive disease research reports using 100+ ToolUniverse tools.
ToolUniverse workflow — Variant Analysis. An agent skill from lamm-mit/scienceclaw. Variant Analysis is an agent skill from lamm-mit/scienceclaw.
Run `npx skills add lamm-mit/scienceclaw --skill variant-analysis -a claude-code`. Or copy the skill folder (skills/variant-analysis in lamm-mit/scienceclaw) into .claude/skills/variant-analysis in your project. Claude Code loads it when a task matches its description.
Run `npx skills add lamm-mit/scienceclaw --skill variant-analysis -a codex`. Or copy the skill folder (skills/variant-analysis in lamm-mit/scienceclaw) into .agents/skills/variant-analysis in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add lamm-mit/scienceclaw --skill variant-analysis -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/variant-analysis, .gemini/skills/variant-analysis, .github/skills/variant-analysis and .opencode/skills/variant-analysis in your project.
Going by SKILL.md and its folder, Variant Analysis needs Python for the scripts in its folder. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Variant Analysis is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.1k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Variant Analysis: Tooluniverse Variant Interpretation (wu-yc/LabClaw, 1.1k stars), Tooluniverse Structural Variant Analysis (wu-yc/LabClaw, 1.1k stars), Bio Variant Calling Structural Variant Calling (FreedomIntelligence/OpenClaw-Medical-Skills, 3.1k stars) and Tooluniverse Cancer Variant Interpretation (wu-yc/LabClaw, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
lamm-mit (a GitHub user) maintains it in lamm-mit/scienceclaw, which has 244 GitHub stars. The repository holds 85 skills in this directory. The repository was last updated on August 21, 2026.
Source: lamm-mit/scienceclaw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.