Skip to content
Snippets Groups Projects
Commit d8e791db authored by Martin Larralde's avatar Martin Larralde
Browse files

Release v0.7.0

parent 2fb9aad0
No related branches found
Tags v0.7.2
No related merge requests found
...@@ -6,7 +6,62 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ...@@ -6,7 +6,62 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
## [Unreleased] ## [Unreleased]
[Unreleased]: https://github.com/althonos/lightmotif/compare/v0.6.0...HEAD [Unreleased]: https://github.com/althonos/lightmotif/compare/v0.7.0...HEAD
## [v0.7.0] - 2024-06-14
[v0.7.0]: https://github.com/althonos/lightmotif/compare/v0.6.0...v0.7.0
### Added
#### `lightmotif`
- Implement indexing of `StripedSequence` by sequence index.
- `matrix` accessor to all matrix types in `lightmotif::pwm` and `lightmotif::seq`.
- `entropy` and `information_content` methods to `CountMatrix`.
- `SymbolCount` trait for counting the number of occurrences of a symbol in an iterable.
- Several `Background` constructors for counting occurences in one or more sequences.
- `FromIterator<A::Symbol>` constructor for `EncodedSequence<A>`.
- `MultipleOf<N>` trait to simplify typenums in platform code signatures.
- Sampling of random sequences using the `rand` dependency under a feature flag.
- `ScoringMatrix.score_into` method to re-use a `StripedScores` buffer.
- `ScoringMatrix.score_position` method to score a single sequence position.
- Indexing by `MatrixCoordinates` in `DenseMatrix`.
- Support for chanding logarithm base when building a `ScoringMatrix` from a `WeightMatrix`.
- Scanning algorithm for finding hits in a sequence with an iterator without allocating `StripedScores` for each sequence position.
### `lightmotif-py`
- Support for optional TFMPvalue interface in Python bindings under GPLv3+ code.
- Constructor for `ScoringMatrix` class.
- `ScoringMatrix.reverse_complement` to compute the reverse-complement of a scoring matrix.
### Changed
#### `lightmotif`
- Make `EncodedSequence.stripe` use a dispatching `Pipeline` internally.
- Require power-of-two alignment in `DenseMatrix` implementations.
- Update `generic-array` dependency to `v1.0`.
- Change order of parameters in `ScoringMatrix.score`.
- Reorganize scoring trait and implement row-slice scoring for AVX2 and SSE2.
- Rewrite `Pipeline::threshold` to return matrix coordinates instead of a sequence index.
- Rewrite `Pipeline::argmax` to return matrix coordinates instead of a sequence index.
#### `lightmotif-py`
- Streamline the use of pipelined functions in Python bindings.
### Fixed
#### `lightmotif`
- Handling of unknown residues in `permute` implementation of `Score` on AVX2.
- `PartialEq` for `DenseMatrix` to ignore alignment padding in each row.
### Removed
#### `lightmotif`
- Platform-specific code for thresholding a `StripedScores` matrix.
- Direct attribute access in `StripedSequence`.
#### `lightmotif-transfac`
- Remove crate from repository, superseded by the `lightmotif-io` crate.
## [v0.6.0] - 2023-12-13 ## [v0.6.0] - 2023-12-13
......
[package] [package]
name = "lightmotif-bench" name = "lightmotif-bench"
version = "0.6.0" version = "0.7.0"
edition = "2021" edition = "2021"
publish = false publish = false
......
[package] [package]
name = "lightmotif-io" name = "lightmotif-io"
version = "0.6.0" version = "0.7.0"
authors = ["Martin Larralde <martin.larralde@embl.de>"] authors = ["Martin Larralde <martin.larralde@embl.de>"]
edition = "2021" edition = "2021"
license = "MIT" license = "MIT"
...@@ -19,4 +19,4 @@ memchr = "2" ...@@ -19,4 +19,4 @@ memchr = "2"
[dependencies.lightmotif] [dependencies.lightmotif]
path = "../lightmotif" path = "../lightmotif"
version = "0.6.0" version = "0.7.0"
[package] [package]
name = "lightmotif-py" name = "lightmotif-py"
version = "0.6.0" version = "0.7.0"
authors = ["Martin Larralde <martin.larralde@embl.de>"] authors = ["Martin Larralde <martin.larralde@embl.de>"]
edition = "2021" edition = "2021"
license = "MIT OR GPL-3.0-or-later" license = "MIT OR GPL-3.0-or-later"
...@@ -17,11 +17,11 @@ path = "lightmotif/lib.rs" ...@@ -17,11 +17,11 @@ path = "lightmotif/lib.rs"
[dependencies.lightmotif] [dependencies.lightmotif]
path = "../lightmotif" path = "../lightmotif"
version = "0.6.0" version = "0.7.0"
[dependencies.lightmotif-tfmpvalue] [dependencies.lightmotif-tfmpvalue]
optional = true optional = true
path = "../lightmotif-tfmpvalue" path = "../lightmotif-tfmpvalue"
version = "0.6.0" version = "0.7.0"
[dependencies] [dependencies]
pyo3 = "0.18.3" pyo3 = "0.18.3"
generic-array = "1.0.0" generic-array = "1.0.0"
......
__version__ = "0.7.0-a1" __version__ = "0.7.0"
from . import lib from . import lib
from .lib import ( from .lib import (
......
[package] [package]
name = "lightmotif-tfmpvalue" name = "lightmotif-tfmpvalue"
version = "0.6.0" version = "0.7.0"
authors = ["Martin Larralde <martin.larralde@embl.de>"] authors = ["Martin Larralde <martin.larralde@embl.de>"]
edition = "2021" edition = "2021"
license = "GPL-3.0" license = "GPL-3.0"
...@@ -13,5 +13,5 @@ keywords = ["bioinformatics", "motif", "pssm", "pvalue"] ...@@ -13,5 +13,5 @@ keywords = ["bioinformatics", "motif", "pssm", "pvalue"]
[dependencies.lightmotif] [dependencies.lightmotif]
path = "../lightmotif" path = "../lightmotif"
version = "0.6.0" version = "0.7.0"
[package] [package]
name = "lightmotif" name = "lightmotif"
version = "0.6.0" version = "0.7.0"
authors = ["Martin Larralde <martin.larralde@embl.de>"] authors = ["Martin Larralde <martin.larralde@embl.de>"]
edition = "2021" edition = "2021"
license = "MIT" license = "MIT"
...@@ -24,4 +24,4 @@ version = "0.4.3" ...@@ -24,4 +24,4 @@ version = "0.4.3"
[features] [features]
default = ["sample"] default = ["sample"]
sample = ["rand", "rand_distr"] sample = ["rand", "rand_distr"]
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment