mandawilson/PyVCF — Issue #2: if FILTER == "PASS", don't change to "." 
Author: mandawilson
Created: 2012-03-02 19:56:29+00:00
State: open
Labels: enhancement

Currently "PASS" is changed to a "." and the writer will output "." instead of "PASS". These two things have different meanings according to the VCF 4.1 spec (see below). In addition, this change makes it much harder for users to find significant differences using diff between a VCF file pre and post filtering with PyVCF.

According to the VCF 4.1 spec:

**PASS if this position has passed all filters, i.e. a call is made at this position.** Otherwise, if the site has not passed all filters, a semicolon-separated list of codes for filters that fail. e.g. “q10;s50” might indicate that at this site the quality is below 10 and the number of samples with data is below 50% of the total number of samples. “0” is reserved and should not be used as a filter String. **If filters have not been applied, then this field should be set to the missing value.** (String, no white-space or semi-colons permitted).
...

**In all cases, missing values are specified with a dot (”.”)**