bio-copy-number-cnv-visualization
Visualize copy number profiles, segments, allele-specific tracks, and cohort patterns from CNVkit, GATK, ASCAT, FACETS, Sequenza, and other callers. Covers genome-wide and per-chromosome log2 scatter plots, B-allele-frequency/minor-allele-fraction tracks, ideograms, cohort heatmaps, circos views, and caller-native plots. Use when creating publication CNV figures, choosing which plot answers a given question, diagnosing a wrong diploid baseline visually, displaying loss of heterozygosity, or deciding what depth-only plots cannot reveal.
npx skills add BioTender-max/awesome-bio-agent-skills --skill cnv-visualization --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: matplotlib 3.8+, pandas 2.2+, numpy 1.26+, seaborn 0.13+, CNVkit 0.9.10+, GATK 4.5+; R 4.3+ with ggplot2 3.5+. Before using code patterns, verify installed versions match. If versions differ: - Python: `pip show matplotlib pandas` then `help(function)` for signatures - R: `packageVersion('ggplot2')` then `?function_name` - CLI: `cnvkit.py version`, `gatk --version` If code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example rather than retrying. # CNV Visualization **"Plot my copy number profile"** -> A CNV figure is an argument, not a picture. The plot type, the y-axis quantity, and where the diploid baseline sits all determine what the reader can conclude. The single most important rule: a depth-only log2 plot cannot show loss of heterozygosity, cannot show tumor purity, and silently misleads if the diploid baseline is centered on a non-diploid mode. - CLI: `cnvkit.py scatter` / `diagram` / `heatmap`; `gatk PlotModeledSegments` - Python: `matplotlib` for custom genome-wide and allele-specific tracks - R: `ggplot2`, `karyoploteR` for publication ideograms ## Plot Selection
- Version Compatibility
- Plot Selection — What Each View Reveals and Hides
- CNVkit Built-in Plots
- Genome-Wide log2 Profile with Segments
- Combined log2 + B-Allele-Frequency Panel
- Cohort Heatmap
- Caller-Native Diagnostic Plots
- Failure Modes
- The diploid-baseline centering trap
- log2 axis presented as if it were absolute copy number
- Cohort heatmap binning erases focal events
- Quantitative Thresholds
- Common Errors
- References
cnvkit.py scatter sample.cnr -s sample.cns -o scatter.png # genome-wide cnvkit.py scatter sample.cnr -s sample.cns -c chr17 -o chr17.png # one chromosome cnvkit.py scatter sample.cnr -s sample.cns -v sample.vcf.gz -o baf.png # with BAF panel cnvkit.py diagram sample.cnr -s sample.cns -o diagram.pdf # ideogram cnvkit.py heatmap cohort/*.cns -d -o cohort_heatmap.pdf # cohort, desaturated gatk PlotModeledSegments --denoised-copy-ratios tumor.denoisedCR.tsv \
What does the bio-copy-number-cnv-visualization skill do?
Visualize copy number profiles, segments, allele-specific tracks, and cohort patterns from CNVkit, GATK, ASCAT, FACETS, Sequenza, and other callers. Covers genome-wide and per-chromosome log2 scatter plots, B-allele-frequency/minor-allele-fraction tracks, ideograms, cohort heatmaps, circos views, and caller-native plots. Use when creating publication CNV figures, choosing which plot answers a given question, diagnosing a wrong diploid baseline visually, displaying loss of heterozygosity, or deciding what depth-only plots cannot reveal.
How do I install it?
Run `npx skills add BioTender-max/awesome-bio-agent-skills --skill cnv-visualization --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.
