Releases: althonos/lightmotif
Releases · althonos/lightmotif
v0.3.0
Changed
- Rewrite the SSE2 maximum search implementation using a generic number of columns.
- Refactor
lightmotif::pwm
to avoid infinite odds-ratio for columns with zero background frequencies.
Added
lightmotif-tfmpvalue
crate implementing the TFMPvalue for computing p-values for aScoringMatrix
.DenseMatrix::from_rows
method to create a dense matrix from an iterable of rows.PartialEq
implementation for matrices inlightmotif
.- Methods to compute the minimum and maximum scores of a
ScoringMatrix
.
v0.2.0
Changed
- Crate structure to avoid cluttering the main
lightmotif
module namespace. - Swizzling used in the SSSE3 implementation to make it require SSE2 only.
- TRANSFAC parser to support parsing sections in arbitrary order and accept additional metadata.
- Use
memchr
to parse lines faster in TRANSFAC parser. - Use
typenum
andgeneric-array
to handle constant matrix dimensions. - Make
Score
trait generic over the number of columns in the striped sequence.
Added
- Accessors for some of the attributes of
lightmotif_transfac::Matrix
. - Pipeline method to extract the best position from a
StripedScore
matrix. - Child trait for alphabet complementation.
- Methods for reverse-complementing all matrices from
lightmotif::pwm
. Alphabet::symbols
method to get all the symbols of an alphabet.StripedSequence::encode
constructor to encode and stripe a text sequence without allocating an extraEncodedSequence
.- Iterator methods and helper struct for
StripedScores
. Protein
alphabet tolightmotif::abc
.DenseMatrix::uninitialized
constructor to allocate a dense matrix without filling its contents.lightmotif::num
module withtypenum
re-exports and additionalStrictlyPositive
marker trait.- Arm NEON implementation of the position scoring algorithm.
Display
implementation forEncodedSequence
instead of an arbitraryToString
implementation.
v0.1.1
Added
- Helper crate to detect CPU features support at runtime.
Fixed
- AVX2 code being imported on x86-64 platforms without checking for OS support.
- AVX2-enabled extension always being compiled even on platforms with no AVX2 support.
Removed
built
andpyo3-built
build dependencies (causing issues with workspaces).