Skip to content

v1.0.0

Choose a tag to compare

@rea1991 rea1991 released this 16 Apr 12:03
· 194 commits to main since this release

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