Python package for Circular Binary Segmentation
Project description
Circular Binary Segmentation
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d76cf6af0340bdef1fabb8503ed980ba8ba34cc3f04aeb849f8acc22a672b4be
|
|
| MD5 |
4342d4dc57d51673002f508c19ce4683
|
|
| BLAKE2b-256 |
5bff3f9fe6dfe00f9aa758b4ea500e057385266990b7b5071d083263972a733d
|