v0.23.1
This is a bugfix release, still wrapping htslib/samtools/bcftools 1.21.
It has been tested with Python versions 3.8 through 3.13, and wheels are available via PyPI for all of those Python versions. Wheels are built for macOS and Linux (manylinux_2_28 and musllinux_1_2) on both ARM and x86-64.
This release inadvertently broke binary compatibility for Cython projects. This should not affect Python projects using pysam. However Cython projects should update to release 0.23.2.
The final pysam release that supported Python 3.6 and 3.7 was v0.23.0.
Bugs fixed:
-
Worked around Cython 3.1.0 behaviour change so that
pysam.CMATCHetc remain as synonyms forpysam.CIGAR_OPS.CMATCHetc. Note that a future release will remove these synonyms to comply with Cython's new convention. (#1339, PR #1340, reported by @Adamtaranto, @andyb3, et al) -
The Python interpreter no longer exits abruptly on x86-64 Linux when
pysam.bcftools.*()commands terminate with error messages. (#1333, #1335, reported by @3ng7n33r and @Ben-Habermeyer) -
Fixed
AlignedSegment.get_aligned_pairs()type hint, which now has overloaded hints reflecting the different tuples returned. (PR #1342, thanks to @gshiba) -
Corrected “invalid type for record” exception message. (PR #1334, thanks to @gtamazian)
-
Fixed
TabixIteratorerror handling. (#1328, reported by @Fan-iX) -
Fixed bugs in the caching of
AlignedSegment.query_sequenceandAlignedSegment.query_qualitiesvalues. -
Pysam once again builds on CentOS 7, as it now works around limitations in that obsolete platform's obsolete GCC 4.8.x system compiler. (#1327, reported by @mfasold)
New functionality:
-
New
AlignedSegment.query_qualities_strproperty enables accessing the QUAL field as an ASCII-encoded base quality string. The existingAlignedSegment.query_qualitiesproperty can now take an array or such a string when setting the value. (PR #1324, PR #1341, requested by @nh13) -
Improved
AlignedSegment.cigarstringperformance. (PR #1295, thanks to @limwz01) -
Wheels are now built for musllinux in addition to manylinux and macOS. (Requested by @nh13)