Skip to content

Releases: paulsengroup/StripePy

v1.3.0

10 Dec 12:31
9c92119

Choose a tag to compare

What's Changed

This is a minor release introducing support for Python 3.14 and dropping support for Python 3.9.

Furthermore, the release includes a few minor bug fixes and performance improvements, including the new --low-memory flag which can be used to reduce the amount of memory required to fetch interaction matrices (at the cost of performance).

Changelog

  • [feat]: support Python 3.14 and drop Python 3.9 by @robomics in #200
  • [deps]: override the default process start method when appropriate by @robomics in #199
  • [deps]: bump by @rea1991 in #203
  • [perf]: disable hictkpy's logger when appropriate by @robomics in #201
  • [fix]: properly deal with zero-height stripes by @rea1991 in #195
  • [enhancement]: skip matrices with 0 interactions by @robomics in #197
  • [perf]: add --low-memory CLI option to minimize memory usage when fetching interactions by @robomics in #202

Full Changelog: v1.2.1...v1.3.0

v1.2.1

28 Oct 12:20

Choose a tag to compare

What's Changed

This is a patch release meant to ensure that StripePy continues working with the latest version of structlog (v25.5.0).

Changelog

Full Changelog: v1.2.0...v1.2.1

v1.2.0

17 Sep 13:31
07426cb

Choose a tag to compare

What's Changed

This is a small release containing a few bugfixes, documentation improvements, and a new feature to aid stripe filtering.

New filtering option

We introduce a new stripe filtering criterion based on the Coefficient of Variation (CV), --coefficient-of-variation-threshold.
This option is available in stripepy view and stripepy plot cm, and it can be used to discard mislabeled stripes that overlap regions with gaps in Hi-C maps, such as pericentromeric regions.
Refer to the documentation for more details.

Changelog

New features

  • Support stripe filtering based on the coefficient of variation of within-stripe interactions by @rea1991 in #178

Documentation

Bugfix

  • Provide a valid fallback-version to tool.hatch.version by @rea1991 in #176
  • stripepy view: properly deal with BrokenPipeErrors on macOS by @robomics in #177
  • Fix logging of exceptions by @robomics in #179
  • Ensure telemetry attributes are well defined even when null by @rea1991 in #181
  • Fix warning by @robomics in #185

Dependencies

Others

Full Changelog: v1.1.1...v1.2.0

v1.1.1

09 Jul 13:38

Choose a tag to compare

What's Changed

StripePy published in Bioinformatics 🎉 Read the paper here!

This is a small release introducing a few small features and addressing minor bugs.

New CLI options

We introduce options --license and --cite, which can be used to print StripePy's license and reference on the terminal.

Improved documentation

We restructured and expanded StripePy's documentation, which is now hosted on ReadTheDocs at stripepy.readthedocs.io.

Telemetry

This release introduces initial support to collect application telemetry from StripePy, refer to the Telemetry section in the documentation for more details.

Changelog

New features

  • Add CLI options to display Stripepy's license and bibtex entry by @robomics in #162
  • Initial support for telemetry collection by @robomics in #168

Documentation

Bugfix

Dependencies

Full Changelog: v1.1.0...v1.1.1

v1.1.0

30 Apr 13:58
2aa022c

Choose a tag to compare

This release exposes a new CLI argument --k-neighbour on the stripepy call subcommand to allow users to customize the number of bins considered to calculate the bio-descriptors.

Full Changelog: v1.0.0...v1.1.0

v1.0.0

16 Apr 12:03

Choose a tag to compare

What's Changed

This release comes with several new features, bug fixes, and performance optimization.

We updated how stripe biodescriptors are calculated to better deal with stripes located close to the beginning or the end of the chromosome. Among other things, this required us to update the schema of the HDF5 file produced by stripepy call.

We also addressed a bug that could cause slightly different results when running stripepy call on different platforms. This was due to how different CPU architectures and operating systems handle floating-point operations.

Regarding computational performance, we introduced several optimizations that resulted in the halving of memory requirements as well as significantly better multithreaded performance (we observed a 4x performance improvement when running stripepy call with default parameters on ENCFF993FGR.mcool on a MacBook Pro M1 (2020) using 8 CPU cores).

Finally, we re-architectured the logging code to support writing detailed log messages to a dedicated file and to make the messages printed to the terminal more user-friendly.

New features

  • Setup application logging by @robomics in #27
  • Improve error messages issued upon failure of CLI argument type validation by @robomics in #83
  • Add dynamic progress bar by @robomics in #86
  • Update HDF5 schema by @robomics in #85
  • Improve parameter validation in Stripe class by @robomics in #107
  • Re-introduce progress bars by @robomics in #120
  • Show default values when calling stripepy ... --help by @robomics in #118
  • Update stripepy view to support showing stripes with their biodescriptors by @robomics in #154

Bugfix

  • Ensure private datasets are downloaded only when selected explicitly by @robomics in #89
  • Correct bug in file name inside _plot_stripes_helper by @rea1991 in #93
  • Fix bug when running stripepy-call --unit-test by @robomics in #94
  • Fix inconsistent results produced on different platforms by @robomics in #92
  • Fix off-by-one error in code computing stripe biodescriptors by @robomics in #116
  • Correct bound checking in stripe plotting code by @robomics in #125
  • Fix handling of chromosomes without stripes by @rea1991 in #127
  • Fix k-neighborhood definition in compute_biodescriptors by @rea1991 in #123
  • stripepy download: ignore errors occurring while updating the progress bar by @robomics in #142
  • stripepy view: bring back compatibilty with v1 result files by @robomics in #145
  • Disable colored logging when stderr is not a TTY by @robomics in #152

CI and testing

Performance optimization

  • Optimize find_HIoIs() by @robomics in #91
  • Various optimizations for stripepy call by @robomics in #106
  • Take advantage of the new hictkpy.File.fetch() capabilities by @robomics in #143
  • Optimize performance when processing very tall stripes by @robomics in #153

Various

Full Changelog: v0.0.2...v1.0.0

v0.0.2

20 Dec 14:25
3401770

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.0.1...v0.0.2

v0.0.1

11 Dec 16:52
56fe069

Choose a tag to compare

Initial release

Contributors

Full Changelog: https://github.com/paulsengroup/StripePy/commits/v0.0.1