Recent Releases of https://github.com/biocore/biom-format

https://github.com/biocore/biom-format - Maintenance release 2.1.17

What's Changed

  • Add py313 to CI, remove outdated Python versions by @wasade in https://github.com/biocore/biom-format/pull/986
  • Speedup import time with lazy imports by @mataton in https://github.com/biocore/biom-format/pull/987
  • Replaced QEMU with a native aarch64 runner by @qiyunzhu in https://github.com/biocore/biom-format/pull/992
  • Fixing a typo in docstring by @qiyunzhu in https://github.com/biocore/biom-format/pull/990
  • Build wheels for BIOM and modernize package metadata by @mataton in https://github.com/biocore/biom-format/pull/996
  • REL: denote 2.1.17 by @wasade in https://github.com/biocore/biom-format/pull/997

Full Changelog: https://github.com/biocore/biom-format/compare/2.1.16...2.1.17

- Python
Published by wasade 10 months ago

https://github.com/biocore/biom-format - Maintenance, bug fix, performance and feature release

New features:

  • Add Windows support. PR #951 revises codebase to be Windows compatible and adds this support to the CI testing matrix.
  • Add NumPy 2.0 support. PR #950 ensures code compatibility with NumPy 2.0. This support is yet to be added to the CI testing matrix.
  • Expand API for Table.partition to allow for passing dict mappings from ids to groups and vice versa, remove of empty vectors, and ignoring None partitions. See issue #937
  • NumPy 2.0 support, see issue #956
  • The optimized subsample without replacement method is now exposed as biom.subsample. Note that this method operates inplace on SciPy csr_matrix and csc_matrix objects. See issue #958

Bug Fixes:

  • Fixed an edge case on in align_tree when a feature was empty, see issue #948
  • In subsample(..., with_replacement=True), it was possible to trigger a numerical stability on sum, see issue #952
  • update_ids(..., strict=False) could yield truncated IDs, see issue #957

Performance improvements:

  • Revise Table._fast_merge to use COO directly. For very large tables, this reduces runtime by ~50x and memory by ~5x. See PR #913.
  • Drastically reduce the memory needs of subsampling when sums are large. Also adds 64-bit support. See PR #935.
  • Improve handling of not-perfectly-integer inputs. See PR #938.

New Contributors

  • @ake123 made their first contribution in https://github.com/biocore/biom-format/pull/936
  • @sfiligoi made their first contribution in https://github.com/biocore/biom-format/pull/935
  • @qiyunzhu made their first contribution in https://github.com/biocore/biom-format/pull/950
  • @mataton made their first contribution in https://github.com/biocore/biom-format/pull/951

Full Changelog: https://github.com/biocore/biom-format/compare/2.1.15.2...2.1.16

- Python
Published by wasade about 2 years ago

https://github.com/biocore/biom-format - Artifact push

Minor release for artifact push

- Python
Published by wasade about 3 years ago

https://github.com/biocore/biom-format - Artifact push

Minor release for artifact push

- Python
Published by wasade about 3 years ago

https://github.com/biocore/biom-format - Maintenance and bugfix release

Thank you in particular to @peterjc for his detailed review of the project! And also thank you to both @peterjc and @Midnighter for their contributions for this release.

Bug fixes:

  • Allow Table.to_json to properly handle numpy types in metadata, see issue #886
  • Do not modify IDs in place in the presence of duplicate relabels, see issue #892
  • Catch an edge case where a failured ID update in place would actually change IDs, see issue #892

New features:

  • biom.parse.save_table makes saving less tedious, see issue #897
  • biom.util.biom_open now supports pathlib.Path, see issue #894
  • You can now set a random seed at the call to Table.subsample, see issue #914.

General maintenance:

  • Allow specifying a creation time on write, see issue #895
  • h5py optional code blocks have been removed, see issue #896
  • Many warnings from the test suite have been resolved, see issue #912
  • Politely error when validating non biom-format files, see issue #901
  • Disallow head with -n <= 0 and -m <= 0, see issue #899

- Python
Published by wasade about 3 years ago

https://github.com/biocore/biom-format - Bug fix release

What's Changed

  • Avoid dense transform collapse by @wasade in https://github.com/biocore/biom-format/pull/888

Full Changelog: https://github.com/biocore/biom-format/compare/2.1.13...2.1.14

- Python
Published by wasade over 3 years ago

https://github.com/biocore/biom-format - Performance and bug fix release

What's Changed

  • Clarification about ID type in the docs for Table.update_ids by @fedarko in https://github.com/biocore/biom-format/pull/879
  • Use sparse matrix for table.collapse(..., onetomany=True) by @wasade in https://github.com/biocore/biom-format/pull/884
  • Take column names from all metadata not just first entry by @asafpr in https://github.com/biocore/biom-format/pull/881

New Contributors

  • @fedarko made their first contribution in https://github.com/biocore/biom-format/pull/879
  • @asafpr made their first contribution in https://github.com/biocore/biom-format/pull/881

Full Changelog: https://github.com/biocore/biom-format/compare/2.1.12...2.1.13

- Python
Published by wasade over 3 years ago

https://github.com/biocore/biom-format - Make pypi happy

Pypi doesn't allow reuse of filenames even if deleted, so generating a unique tag just for it

- Python
Published by wasade over 4 years ago

https://github.com/biocore/biom-format - General maintenance release

General maintenance and feature expansion, released on 25 March 2022.

Thank you to @nsoranzo, @mortonjt, @tillea and @antgonza for the contributions!

Bug fixes:

  • Table.from_json now respects the creation date issue #770 in Python 3.7 and higher

New Features

  • Python 3.10 support, see PR #865
  • 10x improvement on Table.collapse when operating over many partitions, see PR #866
  • Minor performance improvement, see PR #871
  • Coerce consistent, and fixed width, types for IDs, see PR #872
  • Table / metadata alignment support, see PR #859

- Python
Published by wasade over 4 years ago

https://github.com/biocore/biom-format - Bug fix release for a rare string conversion issue

During deployment testing for QIIME 2 2020.11, it was observed that certain combinations of hdf5 or h5py dependencies can result in metadata strings parsing as ASCII rather than UTF-8. Parse of BIOM-Format 2.1.0 files now normalize metadata strings as UTF-8, see #853. Thanks @thermokarst for helping tracking this down!

- Python
Published by wasade over 5 years ago

https://github.com/biocore/biom-format - Support for pandas >= 1.0, and new features

New features and support for Pandas >= 1.0, released on 5 November 2020. Thank you for the contributions @fbeghini, @adamgayoso, and @ElDeveloper!

Important:

Cython and numpy are no more required to be present before building, see PR #840

New Features:

Performance boost to Table.remove_empty. For large tables this cuts the running time from 20 seconds to ~1.1 seconds, see PR #847

A much faster way to merge tables (without metadata) has been added. For large tables, this was a few minutes rather than a few hours. This method is implicitly invoked when calling Table.merge if unioning both axes, and the tables lack metadata. Table.concat is still much faster, but assumes one axis is disjoint. See PR #848.

Simplify interaction with the concatenation method, allowing for passing in an individual table and support for a general biom.concat(tables) wrapper. See PR #851.

Added support for parsing adjacency table structures, see issue #823.

Bug fixes:

Support for pandas >= 1.0, see the comment and commits here

- Python
Published by wasade over 5 years ago

https://github.com/biocore/biom-format - Bug fix release and removal of py27

A summary of the changes in 2.1.8 is below. Thanks in particular to @wwydmanski, @KasperSkytte, @gwarmstrong, @cdiener, @pieterprovoost and @raissameyer for their contributions on this release.

This is a re-release of 2.1.8, which when first pushed out contained a build issue related to latent .c files.

Important:

  • Python 2.7 and 3.5 support has been dropped.
  • Python 3.8 support has been added into Travis CI.
  • A change to the defaults for Table.nonzero_counts was performed such that the default now is to count the number of nonzero features. See issue #685
  • We now require a SciPy >= 1.3.1. See issue #816

New Features:

  • The detailed report is no longer part of the table validator. See issue #378.
  • load_table now accepts open file handles. See issue #481.
  • biom export-metadata has been added to export metadata as TSV. See issue #820.
  • Table.to_tsv has been modified to allow for direct_io. See issue #836.

Bug fixes:

  • Table.to_dataframe(dense=False) does now correctly produce sparse data frames (and not accidentally dense ones as before). See issue #808.
  • Order of error evaluations was unstable in Python versions without implicit OrderedDict. See issue #813. Thanks @gwarmstrong for identifying this bug.
  • Table._extract_data_from_tsv would fail if taxonomy was provided, and if the first row had the empty string for taxonomy. See issue #827. Thanks @KasperSkytte for identifying this bug.

- Python
Published by wasade over 6 years ago

https://github.com/biocore/biom-format - 2.1.7: Bug fixes, performance improvements and new features

A summary of the release is below. Thank you to @stevendbrown, @gregcaporaso, @ElDeveloper, @rec3141, and @nreeve17 for the commits!

Important:

  • Python 3.4 support has been dropped. We now only support Python 2.7, 3.5, 3.6 and 3.7.
  • We will be dropping Python 2.7 support on the next release.
  • Pandas >= 0.20.0 is now the minimum required version.
  • pytest is now used instead of nose.

New Features:

  • Massive performance boost to Table.collapse with the default collapse function. The difference was 10s of milliseconds vs. minutes stemming from prior use of operator.add. See issue #761.
  • Table.align_to for aligning one table to another. This is useful in multi-omic analyses where multiple preparations have been performed on the sample physical samples. This is essentially a helper method around Table.sort_order. See issue #747.
  • Added additional sanity checks when calling Table.to_hdf5, see PR #769.
  • Table.subsample() can optionally perform subsampling with replacement. See issue #774.
  • Table.to_dataframe() now supports a dense argument to return pd.DataFrame. See issue #762.
  • Parsing methods for BIOM-Format 1.0.0 tables now preserve dict ordering. See issue #781.

Bug fixes:

  • Table.subsample(by_id=True, axis='observation') did not subsample over the 'observations'. Because of the nature of the bug, an empty table was returned, so the scope of the issue is such that it should not have produced misleading results but instead triggered empty table errors, with the exception of the pathological case of the ID namespaces between features and samples not being disjoint. See PR #759 for more information.
  • Tables of shape (0, n) or (n, 0) were raising exceptions when being written out. See issue #619.
  • Tables loaded with a list of empty dicts will have their metadata attributes set to None. See issue #594.

- Python
Published by wasade almost 8 years ago

https://github.com/biocore/biom-format - 2.1.6: Bug fixes, and API expansion

This release added several new features and is backward compatible with version 2.1.5.

A subset of the new features include:

  • Table.rankdata for ranking abundances over either axis
  • Table.concat for concatenating tables rapidly when one axis is disjoint (i.e., merging tables with common observations but unique samples).
  • Table.to_dataframe to convert the contained data into a Pandas DataFrame
  • biom table-ids to dump out the IDs from a given axis

For full details, see the project's ChangeLog.md file.

- Python
Published by wasade about 9 years ago

https://github.com/biocore/biom-format - 2.1.5: added Python 2/3 compatibility

This release added several new features and is backward compatible with version 2.1.4.

New features include: - Python 2/Python 3 compatibility; - the new biom head command, which allows for viewing the first few rows and columns of biom file in tab-separated text format; - the new biom from-uc command, which allows for creation of biom files directly from vsearch/uclust/usearch .uc files.

For full details, see the project's ChangeLog.md file.

- Python
Published by gregcaporaso over 10 years ago