Peakoscope
Peakoscope is a python package for hierarchical analysis of peak and valley regions in numeric data.
- Peak regions can be nested, for example, when a large peak region contains smaller subpeak regions.
- A one-pass algorithm that finds all nested regions and orders them into a tree.
- Trees that can filtered, traversed, partitioned, pruned, grafted and serialized.
- Optional interfaces: matplotlib, pandas, polars, CLI and object-oriented.
Usage examples
Compute the tree of nested peak regions in a data set:
>>> import peakoscope
>>> data = [10, 30, 40, 30, 10, 50, 70, 70, 50, 80]
>>> peaktree = peakoscope.tree(data)
>>> print(peaktree)
0:10
├─5:10
│ ├─9:10
│ └─6:8
└─1:4
└─2:3
Print the tree minus its root:
>>> peaktree = peakoscope.tree(data, forest=True)
>>> print(peaktree - peaktree.roots())
5:10
├─9:10
└─6:8
1:4
└─2:3
Print the leaf nodes (which are local maxima in data) and corresponding slices of data:
>>> for leaf in peaktree.leaf_nodes():
... print(leaf, leaf.subarray(data))
...
9:10 [80]
6:8 [70, 70]
2:3 [40]
Documentation
Demo, tutorials and a glossary:
Authors
- Eivind Tøstesen, contact@tostesen.no
License
Copyright (C) 2021-2025 Eivind Tøstesen. This software is licensed under GPL-3.0-or-later
Citation
Citation can include one or more of:
-
Peakoscope v1.2.0
-
Github URL: https://github.com/eivindtostesen/hierarchical_peak_finding
-
PyPI URL: https://pypi.org/project/peakoscope/
-
The open-access article:
Tøstesen, E. A stitch in time: Efficient computation of genomic DNA melting bubbles. Algorithms for Molecular Biology, 3, 10 (2008). DOI: 10.1186/1748-7188-3-10
Metadata
Release files for peakoscope 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| peakoscope-1.2.0.tar.gz | 39.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| peakoscope-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 79.5 kB
Release files / peakoscope-1.2.0.tar.gz
| Download URL | peakoscope-1.2.0.tar.gz |
|---|---|
| Size | 39.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9a00a44605b3e4dde73aea4639c7dd30829ba02cbf0c99bc72d1018ddaa3bd3c
|
|
BLAKE2b-256 checksum How to use checksums |
33b2a2b11f6e7e7abd41029026dc2c63673e94c4deb84fe73e2b9b9744e9fe08
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.2
|
Release files / peakoscope-1.2.0-py3-none-any.whl
| Download URL | peakoscope-1.2.0-py3-none-any.whl |
|---|---|
| Size | 40.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1f67a6049b7f3e24bc0504b2c8cd99db24eb7c2b70714d3517416e7b1a7e5ed1
|
|
BLAKE2b-256 checksum How to use checksums |
665645d92b3047545d5e9881030395541a95a0def7ce93998b8ca94edb174337
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.2
|