Python 3 VCF library with good support for both reading and writing
Project description
VCFPy
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.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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file vcfpy-0.6.0.tar.gz
.
File metadata
- Download URL: vcfpy-0.6.0.tar.gz
- Upload date:
- Size: 976.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffda4400db0ecb82374f3a52b58efb9ca18ba20a048f7195608dbf575952e056 |
|
MD5 | 153d774d60a2fe456e9bf9b1c0781c40 |
|
BLAKE2b-256 | 901e5030b63eec43b4f4dbf927481ba0ae40408195391d248bcad59172740479 |
File details
Details for the file vcfpy-0.6.0-py2.py3-none-any.whl
.
File metadata
- Download URL: vcfpy-0.6.0-py2.py3-none-any.whl
- Upload date:
- Size: 31.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 390a36e08ca363377d63f58ad8712acc192af1ff49482081eafe63efc2789384 |
|
MD5 | 20389c4b57ca08deb0e1dd428ce1c410 |
|
BLAKE2b-256 | ae063cd64df7c9e8912eb85a1dc8e8d54bd836dc4dab08bd32141466d6b2aaa4 |