Skip to content

Commit 596e232

Browse files
authored
Add changelog for v0.5.0
1 parent 812d83e commit 596e232

File tree

1 file changed

+42
-1
lines changed

1 file changed

+42
-1
lines changed

CHANGELOG.md

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,47 @@
11
# Release notes
22

3-
## [Upcoming release](https://github.com/open2c/cooltools/compare/v0.4.0...HEAD)
3+
## [Upcoming release](https://github.com/open2c/cooltools/compare/v0.5.0...HEAD)
4+
5+
## [v0.5.0](https://github.com/open2c/cooltools/compare/v0.4.0...v0.5.0)
6+
7+
**NOTE: THIS RELEASE BREAKS BACKWARDS COMPATIBILITY!**
8+
9+
This release addresses two major issues:
10+
* Integration with bioframe [viewframes](https://bioframe.readthedocs.io/en/latest/guide-intervalops.html#genomic-views) defined as of bioframe v0.3.
11+
* Synchronization of the CLI and Python API
12+
13+
Additionally, [the documentation](https://cooltools.readthedocs.io/en/latest/) has been greatly improved and now includes detailed tutorials that show how to use the `cooltools` API in conjunction with other Open2C libraries. These tutorials are automatically re-built from notebooks copied from https://github.com/open2c/open2c_examples repository.
14+
15+
### API changes
16+
* More clear separation of top-level user-facing functions and low-level API.
17+
* Most standard analyses can be performed using just the user-facing functions which are imported into the top-level namespace. Some of them are new or heavily modified from earlier versions.
18+
* `cooltools.expected_cis` and `cooltools.expected_trans` for average by-diagonal contact frequency in intra-chromosomal data and in inter-chromosomal data, respectively
19+
* `cooltools.eigs_cis` and `cooltools.eigs_trans` for eigenvectors (compartment profiles) of cis and trans data, repectively
20+
* `cooltools.digitize` and `cooltools.saddle` can be used together for creation of 2D summary tables of Hi-C interactions in relation to a digitized genomic track, such as eigenvectors
21+
* `cooltools.insulation` for insulation score and annotation of insulating boundaries
22+
* `cooltools.directionality` for directionality index
23+
* `cooltools.pileup` for average signal at 1D or 2D genomic features, including APA
24+
* `cooltools.coverage` for calculation of per-bin sequencing depth
25+
* `cooltools.sample` for random downsampling of cooler files
26+
27+
* For non-standard analyses that require custom algorithms, a lower level API is available under `cooltools.api`
28+
29+
* Most functions now take an optional `view_df` argument. A pandas dataframe defining a genomic view (https://bioframe.readthedocs.io/en/latest/guide-technical-notes.html) can be provided to limit the analyses to regions included in the view. If not provided, the analysis is performed on whole chromosomes according to what’s stored in the cooler.
30+
* All functions apart from `coverage` now take a `clr_weight_name` argument to specify how the desired balancing weight column is named. Providing a `None` value allows one to use unbalanced data (except the `eigs_cis`, `eigs_trans` methods, since eigendecomposition is only defined for balanced Hi-C data).
31+
* The output of `expected-cis` function has changed: it now contains `region1` and `region2` columns (with identical values in case of within-region expected). Additionally, it now allows smoothing of the result to avoid noisy values at long distances (enabled by default and result saved in additional columns of the dataframe)
32+
* The new `cooltools.insulation` method includes a thresholding step to detect strong boundaries, using either the Li or the Otsu method (from `skimage.thresholding`), or a fixed float value. The result of thresholding for each window size is stored as a boolean in a new column `is_boundary_{window}`.
33+
* New subpackage `sandbox` for experimental codes that are either candidates for merging into cooltools or candidates for removal. No documentation and tests are expected, proceed at your own risk.
34+
* New subpackage `lib` for auxiliary modules
35+
36+
### CLI changes
37+
* CLI tools are renamed with prefixes dropped (e.g. `diamond-insulation` is now `insulation`), to align with names of user-facing API functions.
38+
* The CLI tool for expected has been split in two for intra- and inter-chromosomal data (`expected-cis` and `expected-trans`, repectively).
39+
* Similarly, the compartment profile calculation is now separate for cis and trans (`eigs-cis` and `eigs-trans`).
40+
* New CLI tool `cooltools pileup` for creation of average features based on Hi-C data. It takes a .bed- or .bedpe-style file to create average on-diagonal or off-diagonal pileups, respectively.
41+
42+
### Maintenance
43+
Support for Python 3.6 dropped
44+
445

546
## [v0.4.0](https://github.com/open2c/cooltools/compare/v0.3.2...v0.4.0)
647

0 commit comments

Comments
 (0)