bio-copy-number-gatk-cnv
Call copy number variants with the GATK best-practices workflows — the somatic CNV pipeline (CollectReadCounts, DenoiseReadCounts with tangent normalization, ModelSegments, CallCopyRatioSegments) and the germline GATK-gCNV pipeline (DetermineGermlineContigPloidy, GermlineCNVCaller cohort/case mode, PostprocessGermlineCNVCalls). Covers panel-of-normals construction, AnnotateIntervals/FilterIntervals, allelic-count integration, and QS-based filtering. Use when integrating CNV calling into a GATK variant pipeline, calling rare germline CNVs from an exome cohort, deciding between the somatic and g
npx skills add BioTender-max/awesome-bio-agent-skills --skill gatk-cnv --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.
## Version Compatibility Reference examples tested with: GATK 4.5+ (gatk4), Python 3.10+ (gcnv conda env), R 4.3+. Before using code patterns, verify installed versions match. If versions differ: - CLI: `gatk --version` then `gatk <ToolName> --help` to confirm arguments - gCNV requires a working `gatkcondaenv` (theano/tensorflow stack) — `gatk` will report if the Python environment is missing GATK 4.5+ gCNV inference defaults are tuned for whole-exome data; whole-genome runs generally need parameter changes. If a tool reports an unrecognized argument, check the help for that exact GATK version rather than retrying. # GATK CNV Workflows **"Call CNVs the GATK way"** -> GATK has two *separate* CNV workflows that share almost no tools. Picking the wrong one is the most common mistake. - Somatic CNV: `CollectReadCounts` -> `DenoiseReadCounts` -> `ModelSegments` -> `CallCopyRatioSegments`. Tumor copy-ratio segments, optionally allele-aware. - Germline gCNV: `DetermineGermlineContigPloidy` -> `GermlineCNVCaller` -> `PostprocessGermlineCNVCalls`. Per-sample germline CN genotypes (VCF). ## Critical: What GATK Somatic CNV Does NOT Provide `ModelSegments` + `CallCopyRatioSegments` produce **c
- Version Compatibility
- Critical: What GATK Somatic CNV Does NOT Provide
- Somatic vs Germline — Choosing the Workflow
- Decision Tree by Scenario
- Somatic CNV Pipeline
- Germline gCNV Pipeline
- Failure Modes
- Tangent normalization removes a real CNV
- Mistaking ModelSegments output for allele-specific integer CN
- FilterIntervals silently drops intervals containing real variants
- Raw gCNV output has ~22% precision
- gCNV cohort too small or mismatched
- Reconciliation: GATK vs Other Callers
- Quantitative Thresholds
gatk PreprocessIntervals -R ref.fa -L targets.interval_list \ gatk AnnotateIntervals -R ref.fa -L preprocessed.interval_list \ gatk CollectReadCounts -R ref.fa -I sample.bam -L preprocessed.interval_list \ gatk CreateReadCountPanelOfNormals \ gatk DenoiseReadCounts -I tumor.counts.hdf5 --count-panel-of-normals cnv.pon.hdf5 \ gatk CollectAllelicCounts -R ref.fa -I tumor.bam -L common_snps.interval_list \ gatk CollectAllelicCounts -R ref.fa -I normal.bam -L common_snps.interval_list \ gatk ModelSegments --denoised-copy-ratios tumor.denoisedCR.tsv \ gatk CallCopyRatioSegments -I segments/tumor.cr.seg -O segments/tumor.called.seg gatk DetermineGermlineContigPloidy -L preprocessed.interval_list \
What does the bio-copy-number-gatk-cnv skill do?
Call copy number variants with the GATK best-practices workflows — the somatic CNV pipeline (CollectReadCounts, DenoiseReadCounts with tangent normalization, ModelSegments, CallCopyRatioSegments) and the germline GATK-gCNV pipeline (DetermineGermlineContigPloidy, GermlineCNVCaller cohort/case mode, PostprocessGermlineCNVCalls). Covers panel-of-normals construction, AnnotateIntervals/FilterIntervals, allelic-count integration, and QS-based filtering. Use when integrating CNV calling into a GATK variant pipeline, calling rare germline CNVs from an exome cohort, deciding between the somatic and g
How do I install it?
Run `npx skills add BioTender-max/awesome-bio-agent-skills --skill gatk-cnv --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.
