Skip to main content

VCFPy

https://img.shields.io/pypi/v/vcfpy.svg https://img.shields.io/travis/bihealth/vcfpy.svg Documentation Status Updates Test Coverage

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

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.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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vcfpy-0.5.0.tar.gz (973.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vcfpy-0.5.0-py2.py3-none-any.whl (30.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file vcfpy-0.5.0.tar.gz.

File metadata

  • Download URL: vcfpy-0.5.0.tar.gz
  • Upload date:
  • Size: 973.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for vcfpy-0.5.0.tar.gz
Algorithm Hash digest
SHA256 c5c6621bdef6f16966e155f7a364d43a6af65aa53fca3c971fe7d465388c3ac9
MD5 cdbe719c8b435969e4e9e08ae1b30d0e
BLAKE2b-256 79a340db450e009eb7f98c47f7b2ce07383dd8d697d0582cc3aa86d99219973c

See more details on using hashes here.

File details

Details for the file vcfpy-0.5.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for vcfpy-0.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5b4c8bc97dff23528c89fb80ed8347c69729511db65a4348ea43131eab334f9b
MD5 45765007d11a75236e6c00757dd42ec6
BLAKE2b-256 a3df17bf9e1d9a196e7c1cd4e37bd7d2bf6e879a06a33bec42d83b5c77c32f25

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page