wheretrue / exon

Exon is an OLAP query engine specifically for biology and life science applications.
https://www.wheretrue.dev/docs/exon/
Other
45 stars 2 forks source link

build(deps): bump lightmotif from 0.7.3 to 0.8.0 #559

Closed dependabot[bot] closed 2 months ago

dependabot[bot] commented 2 months ago

Bumps lightmotif from 0.7.3 to 0.8.0.

Release notes

Sourced from lightmotif's releases.

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

Sourced from lightmotif's changelog.

v0.8.0 - 2024-06-28

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.
Commits
  • b11557f Release v0.8.0
  • e0f3530 Bump pyo3 dependency to v0.22
  • 972259e Compile lightmotif without rand by default
  • 81301e8 Cache Q-values buffer in TfmPvalue structure
  • 59738a0 Add benchmark for the Maximum::max pipeline operation
  • 579d952 Update Avx2::argmax_u8 to use a single comparison
  • dae72f3 Add dedicated Maximum::\<f32, _>::max implementation for AVX2
  • 0a587d2 Add naive baseline implementation to dna.rs benchmark in lightmotif-bench
  • 81ece01 Fix u8 benches speed in threshold.rs benchmark
  • 4132b95 Add dedicated Maximum::\<u8, _>::max implementation for AVX2
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)