Agent skill · Data & Analytics

bio-variant-calling-filtering-best-practices

Comprehensive variant filtering including GATK VQSR, hard filters, bcftools expressions, and quality metric interpretation for SNPs and indels. Use when filtering variants using GATK best practices.

FreedomIntelligencegithub.com/FreedomIntelligenceGitHub ↗
claude-codeships scripts
Install
npx skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-variant-calling-filtering-best-practices --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 3
SKILL.md size: 12 KB
Bundled scripts: yes
Path: skills/bio-variant-calling-filtering-best-practices/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 2,909
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

## Version Compatibility Reference examples tested with: GATK 4.5+, bcftools 1.19+, numpy 1.26+ Before using code patterns, verify installed versions match. If versions differ: - Python: `pip show <package>` then `help(module.function)` to check signatures - CLI: `<tool> --version` then `<tool> --help` to confirm flags If code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying. # Variant Filtering Best Practices ## Filter Selection Decision Tree ``` Is dataset large enough for VQSR? (>30 exomes or WGS) ├── Yes → Use VQSR (machine learning) └── No → Use hard filters ├── Germline → GATK recommended thresholds └── Somatic → Caller-specific filters + manual review ``` ## GATK Hard Filter Thresholds **Goal:** Apply GATK-recommended annotation thresholds to separate true variants from artifacts. **Approach:** Use VariantFiltration with per-metric filter expressions for SNPs and indels separately. **"Filter my variants using GATK best practices"** → Apply fixed annotation thresholds (QD, FS, MQ, SOR, RankSum) to flag low-quality variants. ```bash # SNPs gatk VariantFiltration \ -R reference.

What's inside
Steps it walks through
  1. Version Compatibility
  2. Filter Selection Decision Tree
  3. GATK Hard Filter Thresholds
  4. Understanding Quality Metrics
  5. bcftools filter
  6. Soft vs Hard Filtering
  7. Expression Syntax
  8. Aggregate Functions
  9. Common bcftools Filters
  10. bcftools view Filtering
  11. Filter by Variant Type
  12. Filter by Region
  13. Filter by Samples
  14. Depth Filtering
Ships with 2 files
  • examples/filter_variants.sh
  • usage-guide.md
Commands it runs
SNPs
gatk VariantFiltration \
Indels
Hard filter (remove variants)
bcftools filter -e 'QUAL<30' input.vcf.gz -o filtered.vcf
Soft filter (mark, don't remove)
bcftools filter -s 'LowQual' -e 'QUAL<30' input.vcf.gz -o marked.vcf
Variants failing filter get "LowQual" in FILTER column
Include instead of exclude
bcftools filter -i 'QUAL>=30' input.vcf.gz -o filtered.vcf
More from OpenClaw-Medical-Skills
All skills →
About this skill
What does the bio-variant-calling-filtering-best-practices skill do?

Comprehensive variant filtering including GATK VQSR, hard filters, bcftools expressions, and quality metric interpretation for SNPs and indels. Use when filtering variants using GATK best practices.

How do I install it?

Run `npx skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-variant-calling-filtering-best-practices --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 FreedomIntelligence/OpenClaw-Medical-Skills, a repository with 2,909 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.

Keep going