I am evaluating the reproducibility of a basecaller I used such that I need to compare two vcfs generated from the same sample by running basecaller at different machines. I noticed that my variant caller is giving me calls like below when a deletion overlaps an snp
truth.vcf:
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT sample
chr1
4620711
.
AAAAT
A
6.41
PASS
F;ANN=A|downstream_gene_variant|MODIFIER|LOC107985376|LOC107985376|transcript|XR_001737775.1|pseudogene||n.*3157_*3160delAAAT|||||3157|,A|intergenic_region|MODIFIER|LOC107985376-AJAP1|LOC107985376-AJAP1|intergenic_region|LOC107985376-AJAP1|||n.4620712_4620715delAAAT||||||
GT:GQ:DP:AD:AF:PS
1|0:6:58:44,14:0.2414:2747268
chr1 4620715 . T A 7.2 PASS F;ANN=A|downstream_gene_variant|MODIFIER|LOC107985376|LOC107985376|transcript|XR_001737775.1|pseudogene||n.*3160T>A|||||3160|,A|intergenic_region|MODIFIER|LOC107985376-AJAP1|LOC107985376-AJAP1|intergenic_region|LOC107985376-AJAP1|||n.4620715T>A|||||| GT:GQ:DP:AD:AF:PS 1/1:7:58:39,18:0.3103:.
calls.vcf:
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT sample
chr1 4620711 . AAAAT A 7.07 PASS F;ANN=A|downstream_gene_variant|MODIFIER|LOC107985376|LOC107985376|transcript|XR_001737775.1|pseudogene||n.*3157_*3160delAAAT|||||3157|,A|intergenic_region|MODIFIER|LOC107985376-AJAP1|LOC107985376-AJAP1|intergenic_region|LOC107985376-AJAP1|||n.4620712_4620715delAAAT|||||| GT:GQ:DP:AD:AF:PS 1|0:7:58:44,14:0.2414:2746795
chr1 4620715 . T A 7.64 PASS F;ANN=A|downstream_gene_variant|MODIFIER|LOC107985376|LOC107985376|transcript|XR_001737775.1|pseudogene||n.*3160T>A|||||3160|,A|intergenic_region|MODIFIER|LOC107985376-AJAP1|LOC107985376-AJAP1|intergenic_region|LOC107985376-AJAP1|||n.4620715T>A|||||| GT:GQ:DP:AD:AF:PS 1/1:7:58:38,19:0.3276:.
vcfeval will give one TP for the deletion but gives one FP for the SNP in calls and one FN for the SNP in truth. I think I can agree with that this might be the right call as the variant caller shouldn't call the SNP as homozygotes.
By manually editing the SNP calls to the correct call which is 0|1 for both files, I still get the same classification. Then I added --ref-overlap and it outputs my expected classification. Why is this not a default but needs
Anyway, I also tried --ref-overlap for the initial case but it doesn't work. Is it possible to also tune other parameters to generate a correct classification? Or I should report this as a bug to the variant caller authors?
Thanks a lot for your time.