Metadata-Version: 2.0
Name: vcfpy
Version: 0.7.0
Summary: Python 3 VCF library with good support for both reading and writing
Home-page: https://github.com/bihealth/vcfpy
Author: Manuel Holtgrewe
Author-email: manuel.holtgrewe@bihealth.de
License: MIT license
Keywords: vcfpy
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Requires-Dist: pysam (>=0.9)

=====
VCFPy
=====


.. image:: https://img.shields.io/pypi/v/vcfpy.svg
        :target: https://pypi.python.org/pypi/vcfpy

.. image:: https://img.shields.io/travis/bihealth/vcfpy.svg
        :target: https://travis-ci.org/bihealth/vcfpy

.. image:: https://readthedocs.org/projects/vcfpy/badge/?version=latest
        :target: https://vcfpy.readthedocs.io/en/latest/?badge=latest
        :alt: Documentation Status

.. image:: https://pyup.io/repos/github/bihealth/vcfpy/shield.svg
        :target: https://pyup.io/repos/github/bihealth/vcfpy/
        :alt: Updates

.. image:: https://api.codacy.com/project/badge/Grade/cfe741307ec34e8fb90dfe37e84a2519
        :target: https://www.codacy.com/app/manuel-holtgrewe/vcfpy?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=bihealth/vcfpy&amp;utm_campaign=Badge_Grade
        :alt: Codacy Analysis

.. image:: https://api.codacy.com/project/badge/Coverage/cfe741307ec34e8fb90dfe37e84a2519
        :alt: Codacy Coverage
        :target: https://www.codacy.com/app/manuel-holtgrewe/vcfpy?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=bihealth/vcfpy&amp;utm_campaign=Badge_Coverage

Python 3 VCF library with good support for both reading and writing

* Free software: MIT license
* Documentation: https://vcfpy.readthedocs.io.


Features
--------

- Support for reading and writing VCF v4.3
- Interface to ``INFO`` and ``FORMAT`` fields is based on ``OrderedDict`` allows for easier modification than PyVCF (also I find this more pythonic)
- Read (and jump in) and write BGZF files just using ``vcfpy``

Why another VCF parser for Python!
----------------------------------

I've been using PyVCF with quite some success in the past.
However, the main bottleneck of PyVCF is when you want to modify the per-sample genotype information.
There are some issues in the tracker of PyVCF but none of them can really be considered solved.
I tried several hours to solve these problems within PyVCF but this never got far or towards a complete rewrite...

For this reason, VCFPy was born and here it is!

What's the State?
-----------------

VCFPy is the result of two full days of development plus some maintenance work later now (right now).
I'm using it in several projects but it is not as battle-tested as PyVCF.

Why Python 3 Only?
------------------

As I'm only using Python 3 code, I see no advantage in carrying around support for legacy Python 2 and maintaining it.
At a later point when VCFPy is known to be stable, Python 2 support might be added if someone contributes a pull request.


=======
History
=======

0.7.0 (2016-09-25)
------------------

* Smaller improvements and fixes to documentation
* Adding Codacy coverage and static code analysis results to README
* Various smaller code cleanup triggered by Codacy results
* Adding ``__eq__``, ``__neq__`` and ``__hash__`` to data types (where applicable)

0.6.0 (2016-09-25
-----------------

* Refining implementation for breakend and symbolic allele class
* Removing ``record.SV_CODES``
* Refactoring parser module a bit to make the code cleaner
* Fixing small typos and problems in documentation

0.5.0 (2016-09-24)
------------------

* Deactivating warnings on record parsing by default because of performance
* Adding validation for ``INFO`` and ``FORMAT`` fields on reading (#8)
* Adding predefined ``INFO`` and ``FORMAT`` fields to ``pyvcf.header`` (#32)

0.4.1 (2016-09-22)
------------------

* Initially enabling codeclimate

0.4.0 (2016-09-22)
------------------

* Exporting constants for encoding variant types
* Exporting genotype constants ``HOM_REF``, ``HOM_ALT``, ``HET``
* Implementing ``Call.is_phased``, ``Call.is_het``, ``Call.is_variant``, ``Call.is_phased``, ``Call.is_hom_ref``, ``Call.is_hom_alt``
* Removing ``Call.phased`` (breaks API, next release is 0.4.0)
* Adding tests, fixing bugs for methods of ``Call``

0.3.1 (2016-09-21)
------------------

* Work around ``FORMAT/FT`` being a string; this is done so in the Delly output

0.3.0 (2016-09-21)
------------------

* ``Reader`` and ``Writer`` can now be used as context manager (with ``with``)
* Including license in documentation, including Biopython license
* Adding support for writing bgzf files (taken from Biopython)
* Adding support for parsing arrays in header lines
* Removing ``example-4.1-bnd.vcf`` example file because v4.1 tumor derival lacks ``ID`` field
* Adding ``AltAlleleHeaderLine``, ``MetaHeaderLine``, ``PedigreeHeaderLine``, and ``SampleHeaderLine``
* Renaming ``SimpleHeaderFile`` to ``SimpleHeaderLine``
* Warn on missing ``FILTER`` entries on parsing
* Reordered parameters in ``from_stream`` and ``from_file`` (#18)
* Renamed ``from_file`` to ``from_stream`` (#18)
* Renamed ``Reader.jump_to`` to ``Reader.fetch``
* Adding ``header_without_lines`` function
* Generally extending API to make it esier to use
* Upgrading dependencies, enabling pyup-bot
* Greatly extending documentation

0.2.1 (2016-09-19)
------------------

* First release on PyPI


