skip to navigation
skip to content

Not Logged In

CNVkit 0.3.5

Copy number variation toolkit: Infer copy number from targeted DNA sequencing.

A command-line toolkit and Python library for detecting copy number variants and alterations genome-wide from targeted DNA sequencing.

Read the full documentation at:

Questions, comments, help and discussion on SeqAnswers:

Try it

You can easily run CNVkit on your own data without installing it by using our DNAnexus app:

A Galaxy tool is also available for testing (but requires CNVkit installation, see below):


From a Python package repository

Reasonably up-to-date CNVkit packages are available on PyPI and can be installed using conda (preferred on Mac OS X, and a solid choice on Linux too):

conda install cnvkit

Or pip (usually works on Linux if the dependencies are installed, see below):

pip install cnvkit

In either case, to run the recommended segmentation algorithms CBS and Fused Lasso, you will need to also install the R dependencies DNAcopy and PSCBS (see below).

From source

The script requires no installation and can be used in-place. Just install the dependencies.

To install the main program, supporting scripts and cnvlib Python library, use as usual:

python build
python install

Python dependencies

Install these via pip or conda:

On Ubuntu or Debian Linux:

sudo apt-get install python-numpy python-matplotlib python-reportlab python-pip
sudo pip install biopython pysam pyvcf --upgrade

On Mac OS X you may instead find it much easier to first install the Python package manager Miniconda, or the full Anaconda distribution, which includes most of the dependencies. Then install the rest of CNVkit’s dependencies:

conda install numpy matplotlib reportlab biopython pysam pyvcf

Otherwise, we recommend using Homebrew to install an up-to-date Python (e.g. brew install python) and as many of the Python packages as possible (primarily NumPy, SciPy and matplotlib). Then, proceed with pip:

sudo pip install numpy matplotlib reportlab biopython pysam pyvcf

R dependencies

Copy number segmentation currently depends on R packages.


  • matrixStats (for pruneByHClust in PSCBS)

PSCBS depends on the package DNAcopy which part of Bioconductor, and cannot be installed through CRAN directly. To use it, you must first install Bioconductor, then DNAcopy, then the PSCBS package as shown below.

Within R:

> source("")
> biocLite("DNAcopy")
> install.packages(c("PSCBS", "matrixStats", "cghFLasso"))


You can test your installation by running the CNVkit pipeline on the example files in the test/ directory. The pipeline is implemented as a Makefile and can be run with the make command (standard on Unix/Linux/Mac OS X systems):

cd test/

If this pipeline completes successfully (it should take less than a minute), you’ve installed CNVkit correctly.

To run the pipeline on additional, larger example file sets (named TR and EX), do this:

make all

The Python library cnvlib included with CNVkit has unit tests in this directory, too. To run the test suite:

File Type Py Version Uploaded on Size
CNVkit-0.3.5.tar.gz (md5) Source 2015-02-28 72KB
  • Downloads (All Versions):
  • 41 downloads in the last day
  • 380 downloads in the last week
  • 1415 downloads in the last month