Skip to content

v0.12.1

Latest

Choose a tag to compare

@nvictus nvictus released this 28 Oct 16:30
· 8 commits to master since this release
0b07e23

This patch release fixes stochastic hangs in parallel commands on very large inputs and makes very high-resolution coolers faster and much cheaper to create.

Fixes

  • Parallel commands no longer hang when a worker process dies. This affects cooler zoomify, coarsen, balance, cload tabix and cload pairix with -p. Workers killed for running out of memory left these commands waiting forever (#232). They now stop with an error that suggests fewer processes or smaller chunks, and remove any partly written output.
  • cooler.binnify with a float bin size such as 1e6 returns integer coordinates; it returned floats. A bin size that isn't a positive integer raises an error.

Performance

  • Creating and merging coolers with many bins takes much less memory and time. On 1M pairs at 10 bp on a 500 Mb chromosome (50M bins), cooler cload pairs peaked at 1.9 GB instead of 12.1 GB, and took 112 s instead of 208 s, with identical output. This also helps cooler merge, zoomify and create_cooler at high resolution.

Full Changelog: v0.12.0...v0.12.1