Recent Releases of cooler
cooler - v0.10.3
What's Changed
- Update to support numpy>=1.26 and numpy 2.x by @lrauschning in https://github.com/open2c/cooler/pull/446
- Dropped support for numpy < 1.26 and Python 3.8.
- Dropping pypairix dependency from
cooler[all]until compilation issues are resolved.
New Contributors
- @lrauschning made their first contribution in https://github.com/open2c/cooler/pull/446
Full Changelog: https://github.com/open2c/cooler/compare/v0.10.2...v0.10.3
- Python
Published by nvictus over 1 year ago
cooler - v0.10.2
Maintenance
- NumPy 2.0 was released. Pin
numpy < 2until we migrate.
- Python
Published by nvictus almost 2 years ago
cooler - v0.10.0
New features
- Support custom contig separator characters in pairix index by @nvictus in https://github.com/open2c/cooler/pull/398
Performance improvements and bug fixes
- Make annotate faster by using indexing instead of merge by @Phlya in https://github.com/open2c/cooler/pull/353
- Fix input text file handling on certain pandas versions by @thomas-reimonn in https://github.com/open2c/cooler/pull/384
- Reduce memory consumption of very high-resolution merges by @nvictus in https://github.com/open2c/cooler/pull/408
Maintenance
- Add windows and macos platforms to CI by @nvictus in https://github.com/open2c/cooler/pull/383
- Add type annotations by @GarrettNg in https://github.com/open2c/cooler/pull/387
- docs: Replace ftp with OSN storage bucket for example data. by @nvictus in https://github.com/open2c/cooler/pull/399
New Contributors
- @a-detiste made their first contribution in https://github.com/open2c/cooler/pull/346
- @manzt made their first contribution in https://github.com/open2c/cooler/pull/363
- @thomas-reimonn made their first contribution in https://github.com/open2c/cooler/pull/380
- @GarrettNg made their first contribution in https://github.com/open2c/cooler/pull/387
- Python
Published by nvictus about 2 years ago
cooler - v0.9.0
New features
- New query engine implementation (no user-facing API changes).
- New logging context and verbosity system.
API changes
cooler.balance_coolernow uses the same default argument values as the CLI.
Schema
cooler balancenow insertsdivisive_weights: Falsemetadata to balancing weights.
Maintenance
- Dropped Python 2 support.
- Removed deprecated
iomodule. - Deprecated
toolsmodule; renamedparallel. - Various dependency maintenance upgrades.
- Modernized CI and dev tools.
- Migrated to pyproject.toml and modernized packaging infra.
- Python
Published by nvictus over 3 years ago
cooler - v0.8.8
Date : 2020-06-23
Maintenance
- Improved code coverage
- Added missing autodoc for cooler balance
- Dropped pysam and biopython as hard dependencies
- Officially sunsetting Python 2.7 support
Enhancements
- Added zoom progressions (#203)
Bug fixes
- Allow hashes in read IDs in cload pairs (#193)
- Python
Published by nvictus almost 6 years ago
cooler - v0.8.4
Enhancements
* When creating coolers from unordered input, change the default temporary dir to be the same as the output file instead of the system tmp (pass '-' to use the system one). #150
* cooler ls and list_coolers() now output paths in natural order. #153
* New option in cooler.matrix() to handle divisive balancing weight vectors.
Bug fixes
* Restore function of --count-as-float option to cooler load
* Fixed partitioning issue sometimes causing some bins to get split during coarsen
* rename_chroms() will refresh cached chromosome names #147
* Cooler.bins() selector will always properly convert bins/chrom integer IDs to categorical chromosome names when the number of contigs is very large and therefore the HDF5 ENUM header is missing. Before this would only happen when explicitly requesting convert_enum=True.
- Python
Published by nvictus about 7 years ago
cooler - v0.8.2
Bug fixes
- A bug was introduced into the matrix-as-pixels selector in 0.8.0 that also affected
cooler dump. The behavior has been restored to that in 0.7.
CLI changes
New options for cooler dump pixel output:
* --matrix option: Applies to symmetric-upper coolers; no-op for square coolers. Generates all lower triangular pixels necessary to fill the requested genomic query window. Without this option, cooler dump will only return the data explicity stored in the pixel table (i.e. upper triangle).
* -one-based-ids and --one-based-starts convenience options.
- Python
Published by nvictus over 7 years ago
cooler - v0.8.1
New features
cooler zoomifycommand can take additional base resolutions as input.- Restore but deprecate
cooler.io.lsfor backwards compatibility.
Bug fixes
- Fixed regression that slowed down pre-processing during coarsen.
- Fixed missing import error on handling bad URIs.
Later update: fixed invalid .zenodo.json
- Python
Published by nvictus over 7 years ago
cooler - v0.8.0
New features
- Support for non-symmetric matrices, e.g. RNA-DNA maps.
- Create function accepts a boolean
symmetric_upperoption to set the storage mode. Default isTrue. - Creation commands also use
symmetric_upperby default, which can be overridden with a flag.
New schema version: 3
- Adds required
storage-modemetadata 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()optionreplacenow defaults toFalse.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 ofcooler.io.createandcooler.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 makebinsandcooler digest. - Generic data and attribute hierarchy viewers
cooler treeandcooler attrs. - Generic
cp,mvandlnconvenience commands. - New verbosity and process info options.
- Python
Published by nvictus over 7 years ago
cooler - v0.7.11
- 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.
- Python
Published by nvictus almost 8 years ago
cooler - v0.7.8
- New
cooler cload pairscommand provides index-free loading of pairs. - Changed name of
create_from_unsortedto more correctcreate_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 pairixandcload tabix. #62, #75
- Python
Published by nvictus about 8 years ago
cooler - v0.7.7
New features
- Implementation of unsorted (index-free) loading
cooler.io.create_from_unsortedtakes an iterable of pixel dataframe chunks that need not be properly sorted.- Use input sanitization procedures for pairs
sanitize_recordsand binned datasanitize_pixelsto feed data tocreate_from_unsorted. #87 #108 #109 - The
cooler loadcommand is now index-free: unsortedCOOandBG2input data can be streamed in. #90. This will soon be implemented as an option for loading pairs as well.
- Prevent
cooler balancecommand from exiting with non-zero status upon failed convergence using convergence error policies. #93 - Improve the
createAPI to support pandas read_csv-stylecolumnsanddtypekwargs to add extra value columns or override default dtypes. #108 - Experimental implementation of trans-only balancing. #56
Bug fixes
- Fix argmax deprecation. #99
- Python
Published by nvictus about 8 years ago
cooler -
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_pixelsandjoinoptions in the matrix selector.
Happy Halloween!
- Python
Published by nvictus over 8 years ago
cooler - v0.7.1
cooler loadcommand can now accept supplemental pixel fields and custom field numbers- Fix parsing errors with unused pixel fields
- Eliminate hard dependence on dask to make pip installs simpler. Conda package will retain dask as a run time requirement.
- Python
Published by nvictus about 9 years ago
cooler -
New features
- New Cooler URIs: Full support for Cooler objects anywhere in the data hierarchy of a .cool file
- Experimental dask support via
cooler.contrib.dask - New explicit bin blacklist option for
cooler balance - Various new CLI tools:
cooler listcooler copycooler merge
cooler csortnow produces Pairix files by defaultcooler loadnow accepts two types of matrix text input formats- 3-column sparse matrix
- 7-column bg2.gz (2D bedGraph) indexed with Pairix (e.g. using csort)
cooler coarsegrainrenamedcooler coarsen- Multi-resolution HiGlass input files can now be generated with the
cooler zoomifycommand - More flexible API functions to create and append columns to Coolers in
cooler.io
Backwards-incompatible changes
cooler.io.createsignature changed;chromsizesargument is deprecated.cooler csortargument order changed
Bug fixes
- Chromosome name length restriction removed
Cooler.openfunction now correctly opens the specific root group of the Cooler and behaves like a proper context manager in all cases
- Python
Published by nvictus about 9 years ago
cooler -
- Chromosome names longer than 32 chars are forbidden for now
- Improved pairix and tabix iterators, dropped need for slow first pass over contacts
- Python
Published by nvictus about 9 years ago
cooler -
- Fixed pairix aggregator to properly deal with autoflipping of pairs
- Python
Published by nvictus about 9 years ago
cooler -
- Migrated higlass multires aggregator to
cooler coarsegraincommand - Fixed pairix aggregator to properly deal with autoflipping of pairs
- Python
Published by nvictus about 9 years ago
cooler - v0.6.0
General
- Dropped Python 3.3 support. Added 3.6 support.
- Added contrib subpackage containing utilities for higlass, including multires aggregation.
- Fixed various issues with synchronizing read/write multiprocessing with HDF5.
- Replacing prints with logging.
- Added sandboxed tools module to develop utilities for out-of-core algorithms using Coolers.
New features
- Cooler objects have additional convenience properties chromsizes, chromnames.
- New file introspection functions ls and is_cooler to support nested Cooler groups.
- Cooler initializer can accept a file path and path to Cooler group.
- cload accepts contact lists in hiclib-style HDF5 format, the legacy tabix-indexed format, and new pairix-indexed format.
Backwards-incompatible changes
- create only accepts a file path and optional group path instead of an open file object.
- Cooler.matrix selector now returns a balanced dense 2D NumPy array by default. Explicitly set balance to False to get raw counts and set sparse to True to get a coo_matrix as per old behavior.
- Command line parameters of cload changed significantly
Bug fixes
- Fixed bug in csort that led to incorrect triangularity of trans read pairs.
- Python
Published by nvictus over 9 years ago
cooler -
Bug fix release
- Check for existence of required external tools in cooler csort
- Fixed cooler show incompatibility of label setting with older versions of matplotlib
- Fixed cooler.annotate to work on empty dataframe input
- Fixed broken pipe signals not getting suppressed on Python 2
- cooler cload raises a warning when bin file lists a contig missing from the contact list
- Python
Published by nvictus over 9 years ago
cooler -
- Fix bug in
cooler csortparsing of chromsizes file. - Workaround for two locale-related issues on Python 3. Only affects cases where a machine's locale is set to ASCII or Unices which use the ambiguous C or POSIX locales.
- Fix typo in setup.py and add pysam to dependencies.
- Python
Published by nvictus almost 10 years ago
cooler -
Hotfixes:
- Bug fix in input parser to cooler csort
- Update triu reording awk template in cooler csort
CLI changes:
- Rename cooler binnify to cooler makebins. Binnify sounds like "aggregate" which is what cload does.
- Python
Published by nvictus almost 10 years ago
cooler -
- Cooler CLI: most scripts ported over to a new command line interface using the Click framework with many updates.
- New
showandinfocommands. - Updated Readme.
- Minor bug fixes.
- Python
Published by nvictus almost 10 years ago
cooler -
- Modifed file schema: v2
- Support for nested Cooler "trees" at any depth in an HDF5 hierarchy
cooler.io: tools for cooler creationcooler.io.writeis a generic writer that takes input from a contact reader- Contact readers can take a variety of input (aggregate from a contact list, load from an existing matrix, etc.)
- Added new scripts for contact aggregation, loading, dumping and balancing
- API changes
- Table views are a bit more intuitive: selecting field names on table view objects returns a new view on the subset of columns.
- New API function: cooler.annotate for doing joins
- Documentation updated
- Python
Published by nvictus almost 10 years ago
cooler -
Added features:
- 2D range selector matrix() now provides either rectangular data as coo_matrix or triangular data as a pixel table dataframe.
- Added binning support for any genome segmentation (i.e., fixed or variable bin width).
Bug fixes: - Fixed issues with binning data from mapped read files. - Genomic locus string parser now accepts ENSEMBL-style number-only chromosome names and FASTA-style sequence names containing pipes. It will still reject a name that begins with a number followed by other characters.
- Python
Published by nvictus over 10 years ago