Please use the PyVCF repository. Pull requests gladly accepted. Issues should be reported at the github issue tracker.
Please check the tests by running them with:
python setup.py test
New features should have test code sent with them.
- Include missing .pyx files
- better walk together record ordering (Thanks @datagram, #141)
- Better contig handling (#115, #116, #119 thanks Martijn)
- INFO lines with type character (#120, #121 thanks @AndrewUzilov, Martijn)
- Single breakends fix (#126 thanks @pkrushe)
- Speedup by losing ordering of INFO (#128 thanks Martijn)
- HOMSEQ and other missing fields in INFO (#130 thanks Martijn)
- Add aaf property, (thanks @mgymrek #131)
- Custom equality for walk_together, thanks bow #132
- Change default line encoding to 'n'
- Improved __eq__ (#134, thanks bow)
- Handle INFO fields with multiple values, thanks
- Support writing records without GT data #88, thanks @bow
- Pickleable call data #112, thanks @superbobry
- Write files without FORMAT #95 thanks Martijn
- Strict whitespace mode, thanks Martijn, Lee Lichtenstein and Manawsi Gupta
- Add support for contigs in header, thanks @gcnh and Martijn
- Fix GATK header parsing, thanks @alimanfoo
- cython port of #79
- correct writing of meta lines #84
- issues #78, #79 (thanks Sean, Brad)
- Add strict whitespace mode for well formed VCFs with spaces in sample names (thanks Marco)
- Ignore blank lines in files (thanks Martijn)
- Tweaks for handling missing data (thanks Sean)
- bcftools tests (thanks Martijn)
- record.FILTER is always a list
- 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)
- 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
- Performance improvements (#47)
- Preserve order of INFO column (#46)
- Support exponent syntax qual values (#43, #44) (thanks @martijnvermaat)
- Preserve order of header lines (#45)
- Support whitespace in sample names
- SV work (thanks @arq5x)
- Python 3 support via 2to3 (thanks @marcelm)
- Improved filtering script, capable of importing local files
- Single floats in Reader._sample_parser not being converted to float #35
- Handle String INFO values when Number=1 in header #34
- Installation problems
- Installation problems
- Package structure
- add
vcf.utils
module withwalk_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
- Fix setup.py for python < 2.7
- Add
__eq__
to_Record
and_Call
- Add
is_het
andis_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
Documentation release
- Add shebang to vcf_filter.py
- Replace genotype dictionary with a
Call
object - Methods on
Record
andCall
(thanks @arq5x) - Shortcut parse_sample when genotype is None
- Added test code
- Added Writer class
- Allow negative number in
INFO
andFORMAT
fields (thanks @martijnvermaat) - Prefer
vcf.Reader
tovcf.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
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.