Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Unreleased

v0.5.0 - 2023-07-22

Changed

  • Bump Cython dependency to v3.0.

Fixed

  • Add missing signature of Sketch.index to type stubs.

  • PyPy builds failing on missing PyInterpreterState_GetID function.

v0.4.1 - 2022-08-20

Changed

  • Use lists instead of arrays to store state of Minimizers when pickling.

  • Skip serialization of minimizer index to reduce total state size.

  • Make Mapper.query_draft and Mapper.query_genome return hits sorted by identity in descending order.

v0.4.0 - 2022-08-04

Added

  • Multi-threaded computation of fragment mapping in Mapper.query_draft and Mapper.query_genome.

Fixed

  • NEON-specific compile flags in setup.py for Aarch64 target platforms.

  • Broken compilation for Arm platforms because of missing header guards.

v0.3.1 - 2022-07-22

Added

  • Slightly improve documentation in some classes.

  • Sphinx documentation for the project hosted on ReadTheDocs.

  • Links and instructions to install package from the Bioconda channel.

v0.3.0 - 2022-07-17

Added

  • pickle protocol implementation to Mapper and Sketch via __getstate__ and __setstate__.

  • Minimizers class to access the minimizers of a Sketch or Mapper object.

Changed

  • Make Sketcher and Mapper final.

  • Prevent direct instantiation of Mapper objects.

  • Update Mapper._query_draft to recycle memory between fragments.

  • Vendor Boost::math headers (v1.79) to allow compiling without depdendencies.

Fixed

  • Broken compilation of _fastani extension module as universal2 binaries on MacOS.

v0.2.1 - 2021-06-20

Fixed

  • Missing header files in the tar.gz distribution, preventing compilation of the wheel from source.

v0.2.0 - 2021-06-20

Added

  • Sketch.clear method to remove all sequences currently in a Sketch and reset the list of minimizers.

  • SIMD code to read and reverse-complement the input sequences efficiently on supported platforms (x86-64 with SSE2 or SSSE3, and ARM with NEON).

Changed

  • Split the Sketch type in two depending on whether the object is at the sketching stage (Sketch) or at the querying stage (Mapper).

  • Sketch.add_genome, Sketch.add_draft, Mapper.query_genome and Mapper.query_draft can now be passed a Unicode string for the sequence.

Fixed

  • Integer underflow causing minimizers out of the block window to be added to the final minimizers list.

v0.1.2 - 2021-06-15

Changed

  • Querying functions now release GIL to allow efficient parallel querying.

v0.1.1 - 2021-06-13

Fixed

  • Source distribution missing Cython and C++ sources, thus preventing compilation.

v0.1.0 - 2021-06-13

Initial release.