Skip to content

Commit

Permalink
Release v0.7.0
Browse files Browse the repository at this point in the history
  • Loading branch information
althonos committed Jun 14, 2024
1 parent 2fb9aad commit d8e791d
Show file tree
Hide file tree
Showing 7 changed files with 67 additions and 12 deletions.
57 changes: 56 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,62 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.


## [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
Expand Down
2 changes: 1 addition & 1 deletion lightmotif-bench/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "lightmotif-bench"
version = "0.6.0"
version = "0.7.0"
edition = "2021"
publish = false

Expand Down
4 changes: 2 additions & 2 deletions lightmotif-io/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "lightmotif-io"
version = "0.6.0"
version = "0.7.0"
authors = ["Martin Larralde <[email protected]>"]
edition = "2021"
license = "MIT"
Expand All @@ -19,4 +19,4 @@ memchr = "2"

[dependencies.lightmotif]
path = "../lightmotif"
version = "0.6.0"
version = "0.7.0"
6 changes: 3 additions & 3 deletions lightmotif-py/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "lightmotif-py"
version = "0.6.0"
version = "0.7.0"
authors = ["Martin Larralde <[email protected]>"]
edition = "2021"
license = "MIT OR GPL-3.0-or-later"
Expand All @@ -17,11 +17,11 @@ path = "lightmotif/lib.rs"

[dependencies.lightmotif]
path = "../lightmotif"
version = "0.6.0"
version = "0.7.0"
[dependencies.lightmotif-tfmpvalue]
optional = true
path = "../lightmotif-tfmpvalue"
version = "0.6.0"
version = "0.7.0"
[dependencies]
pyo3 = "0.18.3"
generic-array = "1.0.0"
Expand Down
2 changes: 1 addition & 1 deletion lightmotif-py/lightmotif/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
__version__ = "0.7.0-a1"
__version__ = "0.7.0"

from . import lib
from .lib import (
Expand Down
4 changes: 2 additions & 2 deletions lightmotif-tfmpvalue/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "lightmotif-tfmpvalue"
version = "0.6.0"
version = "0.7.0"
authors = ["Martin Larralde <[email protected]>"]
edition = "2021"
license = "GPL-3.0"
Expand All @@ -13,5 +13,5 @@ keywords = ["bioinformatics", "motif", "pssm", "pvalue"]

[dependencies.lightmotif]
path = "../lightmotif"
version = "0.6.0"
version = "0.7.0"

4 changes: 2 additions & 2 deletions lightmotif/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "lightmotif"
version = "0.6.0"
version = "0.7.0"
authors = ["Martin Larralde <[email protected]>"]
edition = "2021"
license = "MIT"
Expand All @@ -24,4 +24,4 @@ version = "0.4.3"

[features]
default = ["sample"]
sample = ["rand", "rand_distr"]
sample = ["rand", "rand_distr"]

0 comments on commit d8e791d

Please sign in to comment.