Pytrimal

Latest version: v0.7.0

Safety actively analyzes 634607 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

0.5.2

Changed
- Replace NEON horizontal sums with implementations using `vaddvq` on Aarch64 and `vpaddl` on Armv7.
- Remove one layer of table lookup in all `Similarity::CalculateVectors` implementations.
- Make all SIMD code use local buffers and deallocate early.

Fixed
- Invalid operator being used in Cython code to deallocate C++ arrays.

Added
- SSE2 and NEON implementations for the `Gaps` statistic.

0.5.1

Fixed
- Build of `cpu_features` for platforms without hardware detection support.

0.5.0

Added
- `pytrimal.RepresentativeTrimmer` class to trim by maximum identity or fixed number of cluster representatives.
- `pickle` protocol support for all trimmer classes.
- Conversion methods to convert an `Alignment` from and to Biopython or PyHMMER objects.
- Arm NEON implementation of the statistics computation algorithm, with speed-up similar to that of the SSE implementation.

Fixed
- `std::streambuf` implementation based on the `readinto` Python method not working on Arm because of `char` being used to read ASCII.

Removed
- Support for Python 3.5, due to Cython compatibility issues.

0.4.0

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.
- `Alignment.load` not working properly in PyPy environments.
- `Alignment` constructor sometimes crashing when not given any sequence.

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`.

0.3.0

Added
- Support for loading an `Alignment` from a file-like object for certain formats.
- Generic optimized backend using caching optimizations from [inab/trimal66](https://github.com/inab/trimal/pull/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`.

0.2.2

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`.

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.