Lightmotif

Latest version: v0.9.1

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

Scan your dependencies

Page 1 of 3

0.9.1

Added

`lightmotif-py`
- Arch User Repository package `python-lightmotif` to distribute the Python package on ArchLinux.

Fixed

`lightmotif-py`
- Fix issues with source distribution missing required files for compilation.
- Remove unused test data to reduce size of source distribution.

0.9.0

Added

`lightmotif`
- `DenseMatrix::ravel` to get the array of a `DenseMatrix` as a single continuous slice.

`lightmotif-py`
- Support for protein alphabets ([5](https://github.com/althonos/lightmotif/issues/5)).
- `protein` property to `CountMatrix`, `WeightMatrix`, `ScoringMatrix`, `EncodedSequence` and `StripedSequence`.
- `Scanner` class to use the new DNA scanning algorithm.
- Buffer protocol implmementation for `ScoringMatrix` objects.
- `lightmotif.load` function to load one or more `Motif` from a file-like object ([6](https://github.com/althonos/lightmotif/issues/6)).
- `Motif.name` property to store the optional name of a `Motif`.
- Several `Motif` subclasses to store motif and metadata loaded from a file.
- Type annotations for the `lightmotif.lib` package.

Fixed

`lightmotif-io`
- Parsing of floating-point numbers in JASPAR parser.
- Panic on error unwrapping in `lightmotif-io`.

Changed

`lightmotif`
- Rewrite `DenseMatrix` with constant platform-specific alignment to reduce amount of `unsafe` code.

Removed

`lightmotif-py`
- `alphabet` parameter of `ScoringMatrix` and `EncodedSequence`.

0.8.0

Added

`lightmotif`
- `lightmotif::pwm::DiscreteMatrix` to store a discretized `ScoringMatrix`.
- `MatrixElement` marker trait for `Default + Copy` types that can be used as a `DenseMatrix` element.
- `lightmotif::scores::Scores` wrapper of `Vec<T>` with shortcut `max`, `threshold` and `argmax` methods.
- AVX2 and NEON implementations of `Score<u8, Dna>` pipeline operation.

Fixed

`lightmotif`
- Remove requirement for `T: Debug` in `Clone` implementation of `DenseMatrix<T>`.
- SSE2 and AVX2 implementations of `Argmax` not returning the last index in case of ties.

`lightmotif-tfmpvalue`
- Cache internal buffer for Q-values to avoid reallocation between iterations.

Changed

`lightmotif`
- Cache the `Pipeline` used in `lightmotif::scan::Scanner`.
- Make `lightmotif::scores::StripedScores` generic over the score type.
- Make `Maximum` and `Threshold` generic over the score type.
- Use a discrete matrix in `Scanner` to quickly eliminate blocks without candidate position above given threshold.
- Compile crate without the `rand` and `rand-distr` features by default.

`lightmotif-py`
- Update `pyo3` dependency to `v0.22.0`.

0.7.3

Added

`lightmotif-io`
- `lightmotif_io::jaspar` to read matrices in raw JASPAR format.
- Implementation of `Clone` and `Error` for the `lightmotif_io::error::Error` type.

Changed

`lightmotif`
- Use logarithmic subtraction in `FrequencyMatrix::to_scoring`.
- Use `_mm256_permutevara8x32_ps` instead of `_mm256_permutevar_ps` in AVX2 implementation to avoid special handling of unknown matric character `N`.

Fixed

`lightmotif`
- Striping of empty sequences panicking on AVX2 implementation.
- Scoring of empty range of rows panicking.
- Invalid alignment of data in AVX2 code.
- `Clone` implementation of `DenseMatrix` not preserving memory alignment.

0.7.2

Added

`lightmotif-py`
- Add `__len__` implementation for all matrix clases.
- Allow changing the logarithm base in `WeightMatrix.log_odds` method.
- Implement `__getitem__` for row access for all matrix classes.

0.7.1

Fixed

`lightmotif`
- Resizing of `StripedScores` output in NEON implementation of `Score`.

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.