When no ##FILTER line is present in the header of a vcf, then a DataFrame with 1 row and 1 column is added to the header of the vcf. This results in the following line being written when writing out the vcf:
##FILTER=All filters passed
This incorrectly written line causes igv to crash when loading in a vcf.
When other ##FILTER lines are present the line that gets written out is:
##FILTER=<ID=PASS,Description="All filters passed">
This issue arises because of line 186 of the methods-writeVcf.R file. Changing the line to this would probably fix this issue:
} else if(ncol(df) == 1L && nrow(df) == 1L && nms != "FILTER") {
When no
##FILTER
line is present in the header of a vcf, then a DataFrame with 1 row and 1 column is added to the header of the vcf. This results in the following line being written when writing out the vcf:##FILTER=All filters passed
This incorrectly written line causesigv
to crash when loading in a vcf. When other##FILTER
lines are present the line that gets written out is:##FILTER=<ID=PASS,Description="All filters passed">
This issue arises because of line 186 of the
methods-writeVcf.R
file. Changing the line to this would probably fix this issue:} else if(ncol(df) == 1L && nrow(df) == 1L && nms != "FILTER") {
I've added a minimal example vcf file here: example_vcf.txt
Session info: