From b11557fa6af444bb5530036fb66e5577f4d9dec2 Mon Sep 17 00:00:00 2001 From: Martin Larralde Date: Fri, 28 Jun 2024 16:50:50 +0200 Subject: [PATCH] Release v0.8.0 --- CHANGELOG.md | 35 +++++++++++++++++++++++++++- lightmotif-bench/Cargo.toml | 2 +- lightmotif-io/Cargo.toml | 4 ++-- lightmotif-py/Cargo.toml | 6 ++--- lightmotif-py/lightmotif/__init__.py | 2 +- lightmotif-tfmpvalue/Cargo.toml | 4 ++-- lightmotif/Cargo.toml | 2 +- 7 files changed, 44 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4929086..f388900 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,40 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] -[Unreleased]: https://github.com/althonos/lightmotif/compare/v0.7.3...HEAD +[Unreleased]: https://github.com/althonos/lightmotif/compare/v0.8.0...HEAD + + +## [v0.8.0] - 2024-06-28 +[v0.8.0]: https://github.com/althonos/lightmotif/compare/v0.7.3...v0.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` with shortcut `max`, `threshold` and `argmax` methods. +- AVX2 and NEON implementations of `Score` pipeline operation. + +### Fixed + +#### `lightmotif` +- Remove requirement for `T: Debug` in `Clone` implementation of `DenseMatrix`. +- 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`. ## [v0.7.3] - 2024-06-17 diff --git a/lightmotif-bench/Cargo.toml b/lightmotif-bench/Cargo.toml index 80316f1..39506f2 100644 --- a/lightmotif-bench/Cargo.toml +++ b/lightmotif-bench/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lightmotif-bench" -version = "0.7.3" +version = "0.8.0" edition = "2021" publish = false diff --git a/lightmotif-io/Cargo.toml b/lightmotif-io/Cargo.toml index 3c33ca4..ea51922 100644 --- a/lightmotif-io/Cargo.toml +++ b/lightmotif-io/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lightmotif-io" -version = "0.7.3" +version = "0.8.0" authors = ["Martin Larralde "] edition = "2021" license = "MIT" @@ -20,4 +20,4 @@ generic-array = "1.0" [dependencies.lightmotif] path = "../lightmotif" -version = "0.7.3" +version = "0.8.0" diff --git a/lightmotif-py/Cargo.toml b/lightmotif-py/Cargo.toml index ee5dd4e..9b1dbc9 100644 --- a/lightmotif-py/Cargo.toml +++ b/lightmotif-py/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lightmotif-py" -version = "0.7.3" +version = "0.8.0" authors = ["Martin Larralde "] edition = "2021" license = "MIT OR GPL-3.0-or-later" @@ -17,11 +17,11 @@ path = "lightmotif/lib.rs" [dependencies.lightmotif] path = "../lightmotif" -version = "0.7.3" +version = "0.8.0" [dependencies.lightmotif-tfmpvalue] optional = true path = "../lightmotif-tfmpvalue" -version = "0.7.3" +version = "0.8.0" [dependencies] pyo3 = "0.22.0" generic-array = "1.0.0" diff --git a/lightmotif-py/lightmotif/__init__.py b/lightmotif-py/lightmotif/__init__.py index 59cb1ab..5dba0c4 100644 --- a/lightmotif-py/lightmotif/__init__.py +++ b/lightmotif-py/lightmotif/__init__.py @@ -1,4 +1,4 @@ -__version__ = "0.7.3" +__version__ = "0.8.0" from . import lib from .lib import ( diff --git a/lightmotif-tfmpvalue/Cargo.toml b/lightmotif-tfmpvalue/Cargo.toml index 952f4f0..5971ff3 100644 --- a/lightmotif-tfmpvalue/Cargo.toml +++ b/lightmotif-tfmpvalue/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lightmotif-tfmpvalue" -version = "0.7.3" +version = "0.8.0" authors = ["Martin Larralde "] edition = "2021" license = "GPL-3.0-or-later" @@ -13,5 +13,5 @@ keywords = ["bioinformatics", "motif", "pssm", "pvalue"] [dependencies.lightmotif] path = "../lightmotif" -version = "0.7.3" +version = "0.8.0" diff --git a/lightmotif/Cargo.toml b/lightmotif/Cargo.toml index c0a6645..622783b 100644 --- a/lightmotif/Cargo.toml +++ b/lightmotif/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lightmotif" -version = "0.7.3" +version = "0.8.0" authors = ["Martin Larralde "] edition = "2021" license = "MIT"