Skip to main content

Python package for Circular Binary Segmentation

Project description

Circular Binary Segmentation

Build Status PyPI version Coffee

Circular Binary Segmentation (CBS) is an algorithm tests for change-points using a maximal t-statistic with a permutation reference distribution to obtain the corresponding p-value.

All citations should reference to original paper.

Install

If you dont already have numpy and scipy installed, it is best to download Anaconda, a python distribution that has them included.

    https://continuum.io/downloads

Dependencies can be installed by:

    pip install -r requirements.txt

PyPI install, presuming you have all its requirements installed:

	pip install cbseg

Usage

from cbseg import determine_cbs_stat, determine_t_stat, determine_cbs, segment, validate
import numpy as np

# Create data
np.random.seed(10)
x = np.random.random(300000)
x[10000:20000] = x[10000:20000] + 0.1
x[25000:27000] = x[25000:27000] - 1

# Calculate segments
L = segment(x, shuffles=1000, p=0.05)
for l in L:
   print(l)
# Interval(0-9998, 0, 0.8195453778139452)
# Interval(9998-20005, 0, 0.6922370217962109)
# Interval(20005-23672, 0, 0.37855730268017107)
# Interval(23672-24999, 0, 0.47507824637709734)
# Interval(24999-27000, 0, 1.106086021061645)
# Interval(27000-27765, 0, 0.20298421273826422)
# Interval(27765-300000, 0, 0.4615259909041863)

# Validate segments
SV = validate(x, L, shuffles=1000, p=0.05)
for l in SV:
   print(l)
# Interval(0-9998, 0, 59.217947014694886)
# Interval(9998-20005, 0, 24.51595009558689)
# Interval(20005-24999, 0, 1426.421130519047)
# Interval(24999-27000, 0, 214.73719913960934)
# Interval(27000-27765, 0, 1446.2331071442745)
# Interval(27765-300000, 0, 1446.2331071442745)

Original paper

E. S. Venkatraman, Adam B. Olshen; A faster circular binary segmentation algorithm for the analysis of array CGH data, Bioinformatics, https://doi.org/10.1093/bioinformatics/btl646

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cbseg-1.0.0.tar.gz (136.7 kB view details)

Uploaded Source

File details

Details for the file cbseg-1.0.0.tar.gz.

File metadata

  • Download URL: cbseg-1.0.0.tar.gz
  • Upload date:
  • Size: 136.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.5

File hashes

Hashes for cbseg-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d76cf6af0340bdef1fabb8503ed980ba8ba34cc3f04aeb849f8acc22a672b4be
MD5 4342d4dc57d51673002f508c19ce4683
BLAKE2b-256 5bff3f9fe6dfe00f9aa758b4ea500e057385266990b7b5071d083263972a733d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page