Skip to main content

CNSistent Logo

PyPI version PyPI downloads Documentation Status Tests

CNSistent is a Python tool for processing and analyzing copy number data. It is designed to work with data from a variety of sources. The tool is designed to be easy to use, and to provide a comprehensive set of analyses and visualizations.

READ THE DOCS HERE

CNSistent can be used as a Python package, or downloaded together with the respective data (PCAWG, TRACERx, TCGA, genomic locations):

Installation

Option 1: Full package with the data

git clone git@github.com:ICCB-Cologne/CNSistent.git
cd CNSistent
pip install -e ".[plot]"
wget -O out.tar.gz https://zenodo.org/records/14547456/files/out.tar.gz 
mkdir -p out
tar -xzf out.tar.gz -C ./out 
rm out.tar.gz

Note: the input data are part of the repository. The processed data can be downloaded and decompressed directly as shown above. Alternative is to generate the by running the ./scripts/data_process.sh and ./scripts/data_aggregate.sh.

Option 2: PIP package only

pip install CNSistent

The plotting API (cns.fig_*, cns.plot_*) needs matplotlib, which is not installed by default, as none of the CLI commands require it. To use it, install the plot extra:

pip install "CNSistent[plot]"

Numba is installed by default and is used to compile the aggregation and clustering kernels. It is not strictly required, pip install --no-deps environments without it still work, at roughly half the aggregation speed.

Data

The input dataset is also availble on Zenodo: DOI

The processed data is available on Zenodo: DOI

Deep learning code is available on Zenodo: DOI

Acessions

The contents of the data folder were obtained by processing the following sources, accessed in December 2023.

TCGA data obtained from ASCATv3 at: https://github.com/VanLoo-lab/ascat/tree/master/ReleasedData
Cite: https://www.pnas.org/doi/full/10.1073/pnas.1009843107
The results published here are in part based upon data generated by the TCGA Research Network: https://www.cancer.gov/tcga.

PCAWG data obtained from: https://dcc.icgc.org/releases/PCAWG/consensus_cnv Cite: https://www.nature.com/articles/s41587-019-0055-9

TRACERx data obtained from: https://zenodo.org/records/7649257
Cite: https://www.nature.com/articles/s41586-023-05729-x

COSMIC cancer set obtained from: https://cancer.sanger.ac.uk/census
Cite: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6450507

Human genome gene set obtained using PyENSEMBL (2023). Cite: https://academic.oup.com/nar/article/51/D1/D933/6786199

Cytoband, Gap data obtained from: https://genome.ucsc.edu Cite: https://www.nature.com/articles/35057062

Common fragile sites obtained from the HumCFS database: https://webs.iiitd.edu.in/raghava/humcfs/ Cite: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6394038 The HumCFS GRCh38/hg38 sites are cleaned and lifted over to hg19 (UCSC chain) by scripts/build_fragile_sites.py; see cns/utils/fragile_sites.py for the processing details.

Licenses

Cite Adam Streck, Roland F Schwarz, CNSistent integration and feature extraction from somatic copy number profiles, GigaScience, Volume 14, 2025, giaf104. The code is available under the MIT License. The data and text files in the data and docs folders are available under the CC BY-NC 4.0 license.

Metadata

Release files for CNSistent 1.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for CNSistent 1.1.1
File Size Uploaded
cnsistent-1.1.1.tar.gz 80.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for CNSistent 1.1.1
File Interpreter ABI Platform
cnsistent-1.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 168.5 kB

Release files / cnsistent-1.1.1.tar.gz

Download URL cnsistent-1.1.1.tar.gz
Size 80.8 kB
Tags Source
SHA-256 checksum
How to use checksums
dcc20a2da8ac1a3bece961a80d89bbcf47a5595996ca2106fbeaa091a264d39b
BLAKE2b-256 checksum
How to use checksums
88929d793bb26467e1dbf75b3a5ad447eeb35a4c80185b4b3a549a778a43ca97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / cnsistent-1.1.1-py3-none-any.whl

Download URL cnsistent-1.1.1-py3-none-any.whl
Size 87.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0847af353d9482d2ef6274ac926e7f9a5d2a9a63c829e61254c3a1a451b91da9
BLAKE2b-256 checksum
How to use checksums
64b517f634d4dca101840ab8b0038d13e741c9d1141cfa2534087dcd2b386e07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.3

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.4

2 release files

0.6.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page