pysam-0.12.0
This release wraps htslib/samtools/bcftools versions 1.5.0 and
contains a series of bugfixes.
- [#473] A new FastxRecord class that can be instantiated from class and
modified in-place. Replaces PersistentFastqProxy. - [#521] In AligmentFile, Simplify file detection logic and allow remote index files
- Removed attempts to guess data and index file names; this is magic left
to htslib. - Removed file existence check prior to opening files with htslib
- Better error checking after opening files that raise the appropriate
error (IOError for when errno is set, ValueError otherwise for backward
compatibility). - Report IO errors when loading an index by name.
- Allow remote indices (tested using S3 signed URLs).
- Document filepath_index and make it an alias for index_filename.
- Added a require_index parameter to AlignmentFile
- Removed attempts to guess data and index file names; this is magic left
- [#526] handle unset ref when creating new records
- [#513] fix bcf_translate to skip deleted FORMAT fields to avoid
segfaults - [#516] expose IO errors via IOError exceptions
- [#487] add tabix line_skip, remove 'pileup' preset
- add FastxRecord, replaces PersistentFastqProxy (still present for
backwards compatibility) - [#496] upgrade to htslib/samtools/bcftools versions 1.5
- add start/stop to AlignmentFile.fetch() to be consistent with
VariantFile.fetch(). "end" is kept for backwards compatibility.
Upcoming changes:
In the next release we are plannig to separate the header information
from AlignmentFile into a separate class AlignmentHeader. This layout
is similar to VariantFile/VariantHeader. With this change we will
ensure that an AlignedSegment record will be linked to a header so
that chromosome names can be automatically translated from the numeric
representation. As a consequence, the way new AlignedSegment records
are created will need to change as the constructor requires a header::
header = pysam.AlignmentHeader(
reference_names=["chr1", "chr2"],
reference_lengths=[1000, 1000])
read = pysam.AlignedSegment(header)
This will affect all code that instantiates AlignedSegment objects
directly. We have not yet merged to allow users to provide feed-back.
The pull-request is here: #518
Please comment on github.