Skip to content
This repository was archived by the owner on Nov 25, 2023. It is now read-only.

Initial Update #3

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Initial Update #3

wants to merge 2 commits into from

Conversation

pyup-bot
Copy link

@pyup-bot pyup-bot commented Aug 4, 2018

This PR sets up pyup.io on this repo and updates all dependencies at once, in a single branch.

Subsequent pull requests will update one dependency at a time, each in their own branch. If you want to start with that right away, simply close this PR.

Update pysam from 0.8.3 to 0.15.0.

Changelog

0.15.0

==============

This release wraps htslib/samtools/bcftools version 1.9.0.

* [673] permit dash in chromosome name of region string
* [656] Support `text` when opening a SAM file for writing
* [658] return None in get_forward_sequence if sequence not in record
* [683] allow lower case bases in MD tags
* Ensure that = and X CIGAR ops are treated the same as M

0.14.1

==============

This is mostly a bugfix release, though bcftools has now also been
upgraded to 1.7.0.

* [621] Add a warning to count_coverage when an alignment has an
empty QUAL field
* [635] Speed-up of AlignedSegment.find_intro()
* treat border case of all bases in pileup column below quality score
* [634] Fix access to pileup reference_sequence

0.14.0

==============

This release wraps htslib/samtools versions 1.7.0.

* SAM/BAM/CRAM headers are now managed by a separate AlignmentHeader
class.
* AlignmentFile.header.as_dict() returns an ordered dictionary.
* Use "stop" instead of "end" to ensure consistency to
VariantFile. The end designations have been kept for backwards
compatibility.

* [611] and [293] CRAM repeated fetch now works, each iterator
reloads index if multiple_iterators=True
* [608] pysam now wraps htslib 1.7 and samtools 1.7.
* [580] reference_name and next_reference_name can now be set to "*"
(will be converted to None to indicate an unmapped location)
* [302] providing no coordinate to count_coverage will not count from
start/end of contig.
* [325] SQ records will be automatically added to header if they are
absent from text section of header.
* [529] add get_forward_sequence() and get_forward_qualities()
methods
* [577] add from_string() and to_dict()/from_dict() methods to
AlignedSegment. Rename tostring() to to_string() throughout for
consistency
* [589] return None from build_alignment_sequence if no MD tag is set
* [528] add PileupColumn.__len__ method

Backwards incompatible changes:

* AlignmentFile.header now returns an AlignmentHeader object. Use
AlignmentFile.header.to_dict() to get the dictionary as
previously. Most dictionary accessor methods (keys(), values(),
__getitem__, ...) have been implemented to ensure some level of
backwards compatibility when only reading.

The rationale for this change is to have consistency between
AlignmentFile and VariantFile.
       
* AlignmentFile and FastaFile now raise IOError instead of OSError

Medium term we plan to have a 1.0 release. The pysam
interface has grown over the years and the API is cluttered with
deprecated names (Samfile, getrname(), gettid(), ...). To work towards
this, the next release (0.15.0) will yield DeprecationWarnings 
for any parts of the API that are considered obsolete and will not be
in 1.0. Once 1.0 has been reached, we will use semantic versioning.

0.13.0

===============

This release wraps htslib/samtools/bcftools versions 1.6.0 and
contains a series of bugfixes.

* [544] reading header from remote TabixFiles now works.
* [531] add missing tag types H and A. A python float will now be
added as 'f' type instead of 'd' type.
* [543] use FastaFile instead of Fastafile in pileup.
* [546] set is_modified flag in setAttribute so updated attributes
are output.
* [537] allow tabix index files to be created in a custom location.
* [530] add get_index_statistics() method

0.12.0.1

================

Bugfix release to solve compilation issue due to missinge
bcftools/config.h file.

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
* [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.
* [512] add get_index_statistics() method to AlignmentFile.

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: https://github.com/pysam-developers/pysam/pull/518
Please comment on github.

0.11.2.2

================

Bugfix release to address two issues:

* Changes in 0.11.2.1 broke the GTF/GFF3 parser. Corrected and
more tests have been added.
* [479] Correct VariantRecord edge cases described in issue

0.11.2.1

================

Release to fix release tar-ball containing 0.11.1 pre-compiled
C-files.

0.11.2

==============

This release wraps htslib/samtools/bcfools versions 1.4.1 in response
to a security fix in these libraries. Additionaly the following
issues have been fixed:

* [452] add GFF3 support for tabix parsers
* [461] Multiple fixes related to VariantRecordInfo and handling of INFO/END
* [447] limit query name to 251 characters (only partially addresses issue)

VariantFile and related object fixes

* Restore VariantFile.\_\_dealloc\_\_
* Correct handling of bcf_str_missing in bcf_array_to_object and
bcf_object_to_array
* Added update() and pop() methods to some dict-like proxy objects
* scalar INFO entries could not be set again after being deleted
* VariantRecordInfo.__delitem__ now allows unset flags to be deleted without
raising a KeyError
* Multiple other fixes for VariantRecordInfo methods
* INFO/END is now accessible only via VariantRecord.stop and
VariantRecord.rlen.  Even if present behind the scenes, it is no longer
accessible via VariantRecordInfo.
* Add argument to issue a warning instead of an exception if input appears
to be truncated

Other features and fixes:

* Make AlignmentFile \_\_dealloc\_\_ and close more
stringent
* Add argument AlignmentFile to issue a warning instead of an
exception if input appears to be truncated

0.11.1

==============

Bugfix release

* [440] add deprecated 'always' option to infer_query_length for backwards compatibility.

0.11.0

==============

This release wraps the latest versions of htslib/samtools/bcftools and
implements a few bugfixes.

* [413] Wrap HTSlib/Samtools/BCFtools 1.4 
* [422] Fix missing pysam.sort.usage() message
* [411] Fix BGZfile initialization bug
* [412] Add seek support for BGZFile
* [395] Make BGZfile iterable
* [433] Correct getQueryEnd
* [419] Export SAM enums such as pysam.CMATCH
* [415] Fix access by tid in AlignmentFile.fetch()
* [405] Writing SAM now outputs a header by default.
* [332] split infer_query_length(always) into infer_query_length and infer_read_length

0.10.0

==============

This release implements further functionality in the VariantFile API
and includes several bugfixes:

* treat special case -c option in samtools view outputs to stdout even
if -o given, fixes 315
* permit reading BAM files with CSI index, closes 370
* raise Error if query name exceeds maximum length, fixes 373
* new method to compute hash value for AlignedSegment
* AlignmentFile, VariantFile and TabixFile all inherit from HTSFile
* Avoid segfault by detecting out of range reference_id and
next_reference in AlignedSegment.tostring
* Issue 355: Implement streams using file descriptors for VariantFile
* upgrade to htslib 1.3.2
* fix compilation with musl libc
* Issue 316, 360: Rename all Cython modules to have lib as a prefix
* Issue 332, hardclipped bases in cigar included by
pysam.AlignedSegment.infer_query_length()
* Added support for Python 3.6 filename encoding protocol
* Issue 371, fix incorrect parsing of scalar INFO and FORMAT fields in VariantRecord
* Issue 331, fix failure in VariantFile.reset() method
* Issue 314, add VariantHeader.new_record(), VariantFile.new_record() and
VariantRecord.copy() methods to create new VariantRecord objects
* Added VariantRecordFilter.add() method to allow setting new VariantRecord filters
* Preliminary (potentially unsafe) support for removing and altering header metadata
* Many minor fixes and improvements to VariantFile and related objects

Please note that all internal cython extensions now have a lib prefix
to facilitate linking against pysam extension modules. Any user cython
extensions using cimport to import pysam definitions will need
changes, for example::

cimport pysam.csamtools

will become::

cimport pysam.libcamtools

0.9.1

=============

This is a bugfix release addressing some installation problems
in pysam 0.9.0, in particular:

* patch included htslib to work with older libcurl versions, fixes 262.
* do not require cython for python 3 install, fixes 260
* FastaFile does not accept filepath_index any more, see 270
* add AlignedSegment.get_cigar_stats method.
* py3 bugfix in VariantFile.subset_samples, fixes 272
* add missing sysconfig import, fixes 278
* do not redirect stdout, but instead write to a separately
created file. This should resolve issues when pysam is used
in notebooks or other environments that redirect stdout.
* wrap htslib-1.3.1, samtools-1.3.1 and bcftools-1.3.1
* use bgzf throughout instead of gzip
* allow specifying a fasta reference for CRAM file when opening
for both read and write, fixes 280

0.9.0

=============

Overview
--------

The 0.9.0 release upgrades htslib to htslib 1.3 and numerous other
enchancements and bugfixes. See below for a detailed list.

0.8.4

=============

This release contains numerous bugfixes and a first implementation of
a pythonic interface to VCF/BCF files. Note that this code is still
incomplete and preliminary, but does offer a nearly complete immutable
Pythonic interface to VCF/BCF metadata and data with reading and
writing capability.
Links

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant