说到变异检测,可能大家第一个想到的工具就是GATK HaplotypeCaller。它很出名,所以用的人多,为什么用的人多?是因为大家听说他很准,但是到底有多准呢?其实大家都不会去深究,不过没关系,有人会帮我们去做评测。
在2014年就有一篇博客,用NA12878/NA12891/NA12892 trio数据集对GATK HaplotypeCaller, FreeBayes, Platypus 和samtools 这五个软件做了一个比较,下面是比较结果。
首先作者这几个工具同时对所有样本进行变异检测,因为它们都号称可以利用群体结构相互验证,提高结果的正确性。
先不要被这个条形图的明显反差误差,以为Platypus非常差,其实它们都在一个数量级上。在同一个数量级上,GATK的HaplotypeCaller在精度和准确上都的确比其他软件好。也可以发现samtools其实在找indels更加的粗犷,找到了更多本来不存在的indels,但是在snp上的表现其实是一致的。
下一步是比较群体、混池和单个样本检测。这里说明一下混池,所谓的混池就是把多个样本混在一起测序,丢失了个体信息。
为什么要研究单个样本的变异效果呢?主要是为了提高效率,便于并行。
这上面两个图其实和之前那个图类似,但是的确在精度上和准度上有些降低。并且samtools的假阳性依旧非常感人。
最后说说我的看法:
这篇博客主要是看检测后的数据集效果,而没有看变异过滤后效果。GATK的优势在于,能够利用机器学习的方法根据已有变异数据库进一步提高结果的准确度。但是对于植物而言,所能做的就是硬指标过滤。
因此,如果做人类,最推荐的工具是GATK,因为表现的确很好。而且人类还会不断增加样本,需要使用GVCFS文件解决N+1的问题
如果是植物,我目前就用freebayes了,效率高,表现也不错。同时强烈推荐阅读这篇文献"Single Nucleotide Polymorphism Identification in Polyploids: A Review, Example, and Recommendations"。
还有这三篇文章(可惜已经被原作者删了):