Development
Please use the PyVCF repository.
Pull requests gladly accepted.
Issues should be reported at the github issue tracker.
Running tests
Please check the tests by running them with:
New features should have test code sent with them.
Changes
0.6.0 Release
- Backwards incompatible change: _Call.data is now a
namedtuple (previously it was a dict)
- Optional cython version, much improved performance.
- Improvements to writer (thanks @cmclean)
- Improvements to inheritance of classes (thanks @lennax)
0.5.0 Release
- VCF 4.1 support:
- support missing genotype #28 (thanks @martijnvermaat)
- parseALT for svs #42, #48 (thanks @dzerbino)
- trim_common_suffix method #22 (thanks @martijnvermaat)
- Multiple metadata with the same key is stored (#52)
- Writer improvements
- A/G in Number INFO fields #53 (thanks @lennax)
- Better output #55 (thanks @cmclean)
- Allow malformed INFO fields #49 (thanks @ilyaminkin)
- Added bayes factor error bias VCF filter
- Added docs on vcf_melt
- filters from @libor-m (SNP only, depth per sample, avg depth per sample)
- change to the filter API, use docstring for filter description
0.4.6 Release
- Performance improvements (#47)
- Preserve order of INFO column (#46)
0.4.5 Release
- Support exponent syntax qual values (#43, #44) (thanks @martijnvermaat)
- Preserve order of header lines (#45)
0.4.4 Release
- Support whitespace in sample names
- SV work (thanks @arq5x)
- Python 3 support via 2to3 (thanks @marcelm)
- Improved filtering script, capable of importing local files
0.4.3 Release
- Single floats in Reader._sample_parser not being converted to float #35
- Handle String INFO values when Number=1 in header #34
0.4.0 Release
- Package structure
- add vcf.utils module with walk_together method
- samtools tests
- support Freebayes’ non standard ‘.’ for no call
- fix vcf_melt
- support monomorphic sites, add is_monomorphic method, handle null QUALs
- filter support for files with monomorphic calls
- Values declared as single are no-longer returned in lists
- several performance improvements
0.3.0 Release
- Fix setup.py for python < 2.7
- Add __eq__ to _Record and _Call
- Add is_het and is_variant to _Call
- Drop aggressive parse mode: we’re always aggressive.
- Add tabix fetch for single calls, fix one->zero based indexing
- add prepend_chr mode for Reader to add chr to CHROM attributes
0.2.2 Release
Documentation release
0.2.1 Release
- Add shebang to vcf_filter.py
0.2 Release
- Replace genotype dictionary with a Call object
- Methods on Record and Call (thanks @arq5x)
- Shortcut parse_sample when genotype is None
0.1 Release
- Added test code
- Added Writer class
- Allow negative number in INFO and FORMAT fields (thanks @martijnvermaat)
- Prefer vcf.Reader to vcf.VCFReader
- Support compressed files with guessing where filename is available on fsock
- Allow opening by filename as well as filesocket
- Support fetching rows for tabixed indexed files
- Performance improvements (see test/prof.py)
- Added extensible filter script (see FILTERS.md), vcf_filter.py
Contributions
Project started by @jdoughertyii and taken over by @jamescasbon on 12th January 2011.
Contributions from @arq5x, @brentp, @martijnvermaat, @ian1roberts, @marcelm.
This project was supported by Population Genetics.