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.4.0 - 2022-08-14

Added

  • BaseTrimmer.backend property to get the backend used by a trimmer object.

  • Zero-copy slicing for AlignmentSequences and AlignmentResidues objects.

  • noduplicateseqs method for AutomaticTrimmer objects.

  • OverlapTrimmer class to perform overlap trimming with SSE-accelerated implementation.

  • AutomaticTrimmer.METHODS attribute to expose all supported automatic trimming methods.

  • __repr__ implementation to all trimmer classes.

Fixed

  • Missing deallocation code for standalone AlignmentResidues objects.

Changed

  • Use aligned memory for some temporary buffers used in SIMD code.

  • Enable loop unrolling when supported by the compiler.

  • Skip letter validation when creating an Alignment object with sequences from an AlignmentSequences object.

Removed

  • consistency_threshold and consistency_window arguments of ManualTrimmer.

v0.3.0 - 2022-06-26

Added

  • Support for loading an Alignment from a file-like object for certain formats.

  • Generic optimized backend using caching optimizations from inab/trimal#66.

Fixed

  • Compilation of code for OSX platforms in Python 3.10.

  • File not being closed on error when loading a FASTA alignment.

Changed

  • Add tests for loading an Alignment without requiring importlib.resources.

v0.2.2 - 2022-06-08

Added

  • Keyword arguments to specify the half-window sizes in manual trimmer.

  • Alignment.dump and Alignment.dumps function to write an alignment to a file, file-like object, or string.

  • Optimized implementation of Similarity::calculateVectors.

Changed

  • Use faster implementation of SSE2 horizontal sum based on _mm_sad_epu8.

v0.2.1 - 2022-06-06

Fixed

  • Missing SSE2 files in source distribution.

v0.2.0 - 2022-06-06

Added

  • Vendored cpu_features library to perform runtime detection of CPU features.

  • SIMD implementation of the similarity statistic code with SSE2 instructions.

Fixed

  • Compilation on platforms without OpenMP by adding an empty omp.h header file.

v0.1.2 - 2022-06-04

Added

  • Python constructor and buffer protocol support for SimilarityMatrix.

  • SimilarityMatrix.similarity method to get the similarity between two characters instead.

Fixed

  • Source compilation failing because of source files in the pytrimal folder.

v0.1.1 - 2022-06-03

Added

  • Type annotations for all classes of the pytrimal extension module.

Fixed

  • Cython header files not being included in source distribution.

v0.1.0 - 2022-06-02

Initial release.