# Bioconductor Dnacopy

Implements the circular binary segmentation (CBS) algorithm to segment DNA copy number...

- Repository: https://github.com/bioMate-AI/biomate-bioconductor-kb (793 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-06-20
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add bioMate-AI/biomate-bioconductor-kb --skill bioconductor-dnacopy -g -a claude-code -y`
Codex: `npx skills add bioMate-AI/biomate-bioconductor-kb --skill bioconductor-dnacopy -g -a codex -y`
Cursor: `npx skills add bioMate-AI/biomate-bioconductor-kb --skill bioconductor-dnacopy -g -a cursor -y`
Gemini CLI: `npx skills add bioMate-AI/biomate-bioconductor-kb --skill bioconductor-dnacopy -g -a gemini-cli -y`

## Description

Implements the circular binary segmentation (CBS) algorithm to segment DNA copy number data and identify genomic regions with abnormal copy number.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# DNAcopy

## Dependencies & Environment

> Package-intrinsic requirements from the Bioconductor landing page, reproduce in any R environment.

- **Version:** 1.86.0 · **Bioconductor:** 3.23 · **R:** ≥ 4.6
- **Depends:** Imports
- **System requirements:** URL
- **Install:** `BiocManager::install("DNAcopy")`

## When to Use
- **Copy Number Segmentation**: Finding change-points in array DNA copy number data (e.g., array CGH) using the `segment()` function.
- **Identifying Gains and Losses**: Determining regions of gained and lost copy number by plotting segment means with `plot()`.
- **Outlier Smoothing**: Smoothing single point outliers in log-ratio data prior to segmentation using `smooth.CNA()`.

## When NOT to Use
- For allele-specific copy number estimation or tumor purity/ploidy correction, use `PureCN` because `DNAcopy` only segments total copy number.
- For single-cell DNA copy number profiling where specialized noise models are required, use `AneuFinder` because `DNAcopy` assumes bulk-level signal distributions.
- For multi-sample joint segmentation, use `copynumber` because `DNAcopy` processes samples independently.

## Data Requirements
- **Input Object**: Data must be converted into a `CNA` object using the `CNA()` function.
- **Required Columns**: A matrix or vector of log-ratio data, a vector of `Chromosome` identifiers, and a vector of `Position` (map locations).
- **Data Type**: Typically specified as `data.type="logratio"`.

The rest: https://github.com/bioMate-AI/biomate-bioconductor-kb/blob/HEAD/skills/genomics/dnacopy/SKILL.md
