Releases: althonos/pyopal
Releases · althonos/pyopal
v0.7.3
v0.7.2
Fixed
- Memory leak in
Aligner.alignwhen running in buckets overflow mode.
v0.7.1
Fixed
- Extra key in
pyproject.tomlcausing build issues with version0.11.0ofscikit-build-core. - Broken detection of default SSE2 support for x86-64 CPUs on Windows.
- Missing
opal.hfile in Python site install to allow Cython imports.
v0.7.0
Added
- Support for Python 3.13.
Changed
- Bump required
scoring-matricesdependency 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-matricespackage to handle scoring matrices. - Import Cython classes from
pyopal.libin the mainpyopalnamespace.
Fixed
- Patching of architecture flags of MacOS compilers.
Removed
- The
ScoreMatrixclass frompyopal.lib.
v0.5.2
v0.5.1
Fixed
- Broken behaviour of the
orderedkeyword inpyopal.align.
v0.5.0
Added
- Support for compiling and running package on Windows.
- Support for Python 3.12.
pyopal.Alphabetclass for handling sequence encoding outside ofScoreMatrix.- Additional score matrices using the data files from Opal.
encode_intoanddecode_intosans-io methods ofAlphabet.Alignerclass to handle alignment of a query to a database.ScoreMatrix.__eq__implementation.Database.lengthsproperty to get the lengths of all the sequences in a database without decoding them.pyopal.aligntop-level function to handle multithreaded alignments.Alphabet.__eq__implementation comparing letters.poolargument topyopal.alignto support reusing aThreadPool.
Changed
- Store
Databasesequences usingshared_ptrfor fast slicing and extraction of a database subset. - Use templates to generate platform-specific Cython files.
- Make internal extension public as
pyopal.libsubmodule. - Avoid temporary data copy in
Database._encode. - Move Cython and Opal headers inside package to allow Cython import in other extensions.
- Make
Databaseuse mostly the pointer array to make the algorithms more generic over the storage class. - Make
MAX_ALPHABET_SIZEa constant ofpyopal.librather than a user-defined macro for compatibility in other extensions. - Update
Aligner.alignto use theBaseDatabaseCython API.
Fixed
- SSE2 not being detected on x86-64, where it is mandatory.
- Mark Opal search functions as
noexceptin Cython to avoid exception checks. ScoreMatrixbuffer-protocol not returning a read-only buffer.Database.maskaccessing out-of-bound elements when building pointer array.- Broken detection of
PyInterpreterState_GetIDinsetup.py. FullResult.cigarcrashing on alignments starting withX.- Memory leak in
Aligner.aligncaused by faulty allocation of pointer array. __repr__implementations ofAlphabetandFullResult.Alphabet.__getitem__reading past the letters buffer.
Removed
Database.searchmethod.
v0.5.0-a5
Added
Alphabet.__eq__implementation comparing letters.poolargument topyopal.alignto support reusing aThreadPool.
Changed
- Update
Aligner.alignto use theBaseDatabaseCython API.
Fixed
- Memory leak in
Aligner.aligncaused by faulty allocation of pointer array. __repr__implementations ofAlphabetandFullResult.Alphabet.__getitem__reading past the letters buffer.