Skip to content

Releases: open2c/cooler

v0.8.0

31 Dec 17:21

Choose a tag to compare

New features

  • Support for non-symmetric matrices, e.g. RNA-DNA maps.
  • Create function accepts a boolean symmetric_upper option to set the storage mode. Default is True.
  • Creation commands also use symmetric_upper by default, which can be overridden with a flag.

New schema version: 3

  • Adds required storage-mode metadata attribute. Two possible values: "symmetric-upper" indicates a symmetric matrix encoded as upper triangle (previously the only storage mode); "square" indicates no special encoding (e.g. for non-symmetric matrices).

API changes

  • cooler.annotate() option replace now defaults to False.

  • Submodule renaming. Old names are preserved as aliases but are deprecated.

    • cooler.io -> cooler.create.
    • cooler.ice -> cooler.balance.
  • New top level public functions:

    • cooler.create_cooler(). Use instead of cooler.io.create and cooler.io.create_from_unordered.
    • cooler.merge_coolers()
    • cooler.coarsen_cooler()
    • cooler.zoomify_cooler()
    • cooler.balance_cooler(). Alias: cooler.balance.iterative_correction().
  • Refactored file operations available in cooler.fileops. See the API reference.

CLI changes

  • Various output options added to cooler info, cooler dump, cooler makebins and cooler digest.
  • Generic data and attribute hierarchy viewers cooler tree and cooler attrs.
  • Generic cp, mv and ln convenience commands.
  • New verbosity and process info options.

v0.7.11

17 Aug 19:55

Choose a tag to compare

  • Genomic range parser supports humanized units (k/K(b), m/M(b), g/G(b))
  • Experimental support for arbitrary aggregation operations in cooler csort (e.g. mean, median, max, min)
  • Documentation updates

Bug fixes

  • Fix newline handling for csort when p1 or p2 is last column.
  • Fix --count-as-float regression in load/cload.

v0.7.10

07 May 23:58

Choose a tag to compare

  • Fix a shallow copy bug in validate pixels causing records to sometimes flip twice.
  • Add ignore distance (bp) filter to cooler balance
  • Start using shuffle filter by default

v0.7.9

30 Mar 18:40

Choose a tag to compare

  • Indexed pairs loading commands now provide option for 0- or 1-based positions (1-based by default). #115
  • Fixed error introduced into cload pairix in last release.

v0.7.8

18 Mar 19:26

Choose a tag to compare

  • New cooler cload pairs command provides index-free loading of pairs.
  • Changed name of create_from_unsorted to more correct create_from_unordered.

Bug fixes

  • Fixed broken use of single-file temporary store in create_from_unordered.
  • Added heuristic in pairix cload to prevent excessively large chunks. #92
  • Added extra checks in cload pairix and cload tabix. #62, #75

v0.7.7

16 Mar 20:18

Choose a tag to compare

New features

  • Implementation of unsorted (index-free) loading
    • cooler.io.create_from_unsorted takes an iterable of pixel dataframe chunks that need not be properly sorted.
    • Use input sanitization procedures for pairs sanitize_records and binned data sanitize_pixels to feed data to create_from_unsorted. #87 #108 #109
    • The cooler load command is now index-free: unsorted COO and BG2 input data can be streamed in. #90. This will soon be implemented as an option for loading pairs as well.
  • Prevent cooler balance command from exiting with non-zero status upon failed convergence using convergence error policies. #93
  • Improve the create API to support pandas read_csv-style columns and dtype kwargs to add extra value columns or override default dtypes. #108
  • Experimental implementation of trans-only balancing. #56

Bug fixes

  • Fix argmax deprecation. #99

v0.7.6

31 Oct 22:12

Choose a tag to compare

New features

  • Cooler zoomify with explicit resolutions
  • Towards standardization of multicooler structure
  • Support for loading 1-based COO triplet input files

Bug fixes

  • Fixed issue of exceeding header limit with too many scaffolds. If header size is exceeded, chrom IDs are stored as raw integers instead of HDF5 enums. There should be no effect at the API level.
  • Fixed issue of single-column chromosomes files not working in cload.
  • Fixed edge case in performing joins when using both as_pixels and join options in the matrix selector.

Happy Halloween!

v0.7.5

13 Jul 14:56

Choose a tag to compare

  • Fix pandas issue affecting cases when loading single chromosomes
  • Add transform options to higlass API

v0.7.4

25 May 04:16

Choose a tag to compare

  • Fix regression in automatic --balance option in cooler zoomify
  • Fix special cases where cooler.io.create and append would not work with certain inputs

v0.7.3

23 May 00:33

Choose a tag to compare

  • Added function to print higlass zoom resolutions for a given genome and base resolution.