Releases: althonos/pyopal
Releases · althonos/pyopal
v0.7.0
Added
- Support for Python 3.13.
Changed
- Bump required
scoring-matrices
dependency tov0.3.0
. - Reorganize project to build with CMake and
scikit-build-core
. - Update documentation to use the PyData theme.
Fixed
- Signature of Cython classes constructors not displaying in documentation.
Removed
- Support for Python 3.6.
v0.6.1
v0.6.0
Changed
- Use
scoring-matrices
package to handle scoring matrices. - Import Cython classes from
pyopal.lib
in the mainpyopal
namespace.
Fixed
- Patching of architecture flags of MacOS compilers.
Removed
- The
ScoreMatrix
class frompyopal.lib
.
v0.5.2
v0.5.1
Fixed
- Broken behaviour of the
ordered
keyword inpyopal.align
.
v0.5.0
Added
- Support for compiling and running package on Windows.
- Support for Python 3.12.
pyopal.Alphabet
class for handling sequence encoding outside ofScoreMatrix
.- Additional score matrices using the data files from Opal.
encode_into
anddecode_into
sans-io methods ofAlphabet
.Aligner
class to handle alignment of a query to a database.ScoreMatrix.__eq__
implementation.Database.lengths
property to get the lengths of all the sequences in a database without decoding them.pyopal.align
top-level function to handle multithreaded alignments.Alphabet.__eq__
implementation comparing letters.pool
argument topyopal.align
to support reusing aThreadPool
.
Changed
- Store
Database
sequences usingshared_ptr
for fast slicing and extraction of a database subset. - Use templates to generate platform-specific Cython files.
- Make internal extension public as
pyopal.lib
submodule. - Avoid temporary data copy in
Database._encode
. - Move Cython and Opal headers inside package to allow Cython import in other extensions.
- Make
Database
use mostly the pointer array to make the algorithms more generic over the storage class. - Make
MAX_ALPHABET_SIZE
a constant ofpyopal.lib
rather than a user-defined macro for compatibility in other extensions. - Update
Aligner.align
to use theBaseDatabase
Cython API.
Fixed
- SSE2 not being detected on x86-64, where it is mandatory.
- Mark Opal search functions as
noexcept
in Cython to avoid exception checks. ScoreMatrix
buffer-protocol not returning a read-only buffer.Database.mask
accessing out-of-bound elements when building pointer array.- Broken detection of
PyInterpreterState_GetID
insetup.py
. FullResult.cigar
crashing on alignments starting withX
.- Memory leak in
Aligner.align
caused by faulty allocation of pointer array. __repr__
implementations ofAlphabet
andFullResult
.Alphabet.__getitem__
reading past the letters buffer.
Removed
Database.search
method.
v0.5.0-a5
Added
Alphabet.__eq__
implementation comparing letters.pool
argument topyopal.align
to support reusing aThreadPool
.
Changed
- Update
Aligner.align
to use theBaseDatabase
Cython API.
Fixed
- Memory leak in
Aligner.align
caused by faulty allocation of pointer array. __repr__
implementations ofAlphabet
andFullResult
.Alphabet.__getitem__
reading past the letters buffer.
v0.5.0-a4
Added
encode_into
anddecode_into
sans-io methods ofAlphabet
.Aligner
class to handle alignment of a query to a database.ScoreMatrix.__eq__
implementation.Database.lengths
property to get the lengths of all the sequences in a database without decoding them.pyopal.align
top-level function to handle multithreaded alignments.
Fixed
FullResult.cigar
crashing on alignments starting withX
.
v0.5.0-a3
Added
- Additional score matrices using the data files from Opal.
Changed
- Avoid temporary data copy in
Database._encode
. - Move Cython and Opal headers inside package to allow Cython import in other extensions.
- Make
Database
use mostly the pointer array to make the algorithms more generic over the storage class. - Make
MAX_ALPHABET_SIZE
a constant ofpyopal.lib
rather than a user-defined macro for compatibility in other extensions.
Fixed
ScoreMatrix
buffer-protocol not returning a read-only buffer.Database.mask
accessing out-of-bound elements when building pointer array.- Broken detection of
PyInterpreterState_GetID
insetup.py
.
v0.5.0-a2
Added
pyopal.Alphabet
class for handling sequence encoding outside ofScoreMatrix
.
Changed
- Make internal extension public as
pyopal.lib
submodule.