Install
$ agentstack add skill-awslabs-hcls-agent-skills-variant-calling ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Variant Calling (GATK4) — Pipeline Skill (Thin Scaffold)
Overview
Adds decision logic for VQSR vs hard filters, WES vs WGS parameter differences, and GATK4-specific gotchas that LLMs frequently get wrong (filter thresholds, GVCF requirements, reference consistency).
Usage
- Activate when choosing between VQSR and hard filters for a given cohort size
- Activate when setting up WES vs WGS pipeline parameters
- Activate when running Mutect2 tumor/normal or tumor-only somatic calling
Core Concepts
Decision Logic
Germline calling strategy:
├── Single sample, no future joint calling → HaplotypeCaller direct VCF
└── Cohort (≥2 samples) → HaplotypeCaller -ERC GVCF → GenomicsDBImport → GenotypeGVCFs
Filtering strategy:
├── ≥30 WGS samples OR ≥30 WES exomes → VQSR
└── 60.0 | > 200.0 |
| MQ | 3.0 | > 10.0 |
**VQSR truth sensitivity levels:**
- SNPs: 99.7
- Indels: 99.0
- Indel `--max-gaussians 4` (fewer training variants than SNPs)
**VQSR annotations:** `-an QD -an FS -an MQ -an MQRankSum -an ReadPosRankSum -an SOR`
**Mutect2 essentials:**
- `--germline-resource af-only-gnomad.hg38.vcf.gz`
- `--panel-of-normals pon.vcf.gz` (essential for tumor-only)
- `--f1r2-tar-gz` → `LearnReadOrientationModel` (FFPE/OxoG artifacts)
- `GetPileupSummaries` + `CalculateContamination` before `FilterMutectCalls`
## Common Mistakes
- **Wrong:** Aligning without proper `@RG` headers (missing ID, SM, PL, LB)
**Right:** Always specify at alignment: `-R '@RG\tID:x\tSM:x\tPL:ILLUMINA\tLB:x'`
**Why:** GATK refuses to run or silently merges samples when SM tags are wrong
- **Wrong:** Running HaplotypeCaller without `-ERC GVCF` for cohort analysis
**Right:** Always produce GVCFs when joint genotyping will be performed
**Why:** Regular VCFs cannot be joint-genotyped; must re-call from BAM
- **Wrong:** Reusing SNP hard-filter thresholds for indels (e.g., `FS > 60` for indels)
**Right:** Use `FS > 200` for indels, `FS > 60` for SNPs
**Why:** Indels tolerate higher strand bias; SNP thresholds over-filter real indels
- **Wrong:** Applying VQSR to <30 samples
**Right:** Use hard filters for small cohorts
**Why:** VQSR needs many variants to train its Gaussian mixture model
- **Wrong:** Subsetting `--known-sites` VCFs to WES capture BED for BQSR
**Right:** Use genome-wide known-sites; only restrict analysis intervals via `-L`
**Why:** BQSR needs genome-wide known sites to model base quality errors
- **Wrong:** Skipping `samtools index` between GATK steps
**Right:** Index after every BAM-producing step
**Why:** GATK requires BAM indices; missing them causes immediate failure
- **Wrong:** Mixing reference files from different genome builds
**Right:** Ensure ref.dict, ref.fa.fai, BWA index, and all VCFs match the same build
**Why:** Mismatched dictionaries cause silent failures or cryptic errors
- **Wrong:** Running Mutect2 tumor-only without a panel of normals
**Right:** Always provide `--panel-of-normals` for tumor-only calling
**Why:** Without PoN, recurrent sequencing artifacts are called as somatic mutations
## Response Format
- Lead with the command or code the user needs — explain after
- Structure as: confirm inputs → working code → key parameters explained → gotchas
- One complete working example per task; do not show every alternative
- Keep code comments minimal and functional (what, not why-it-exists)
- Target: 50-100 lines of code with brief surrounding explanation
## Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- **Author:** [awslabs](https://github.com/awslabs)
- **Source:** [awslabs/hcls-agent-skills](https://github.com/awslabs/hcls-agent-skills)
- **License:** MIT-0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.