Hi,
I've used cyvcf for a long time, and really enjoy the speed compared to PyVCF. Lately I've discovered some discrepancies however that make analysis somewhat cumbersome. It specifically deals with parsing the FILTER column. It seems as if cyvcf treats an undefined filter (i.e. '.', often provided with raw,unfiltered calls from GATK) and variants that are deemed reliable after filtering (i.e. 'PASS') in the same way. Both '.' and 'PASS' in the VCF filter column are parsed into None objects by cyvcf. PyVCF treats them differently (None and an empty list, respectively). I discovered this with cyvcf 0.1.11 and PyVCF 0.6.7.
Hi,
I've used cyvcf for a long time, and really enjoy the speed compared to PyVCF. Lately I've discovered some discrepancies however that make analysis somewhat cumbersome. It specifically deals with parsing the FILTER column. It seems as if cyvcf treats an undefined filter (i.e. '.', often provided with raw,unfiltered calls from GATK) and variants that are deemed reliable after filtering (i.e. 'PASS') in the same way. Both '.' and 'PASS' in the VCF filter column are parsed into None objects by cyvcf. PyVCF treats them differently (None and an empty list, respectively). I discovered this with cyvcf 0.1.11 and PyVCF 0.6.7.