推荐阅读:变异检测到底应该用什么软件?

简介: 原文见:Validating generalized incremental joint variant calling with GATK HaplotypeCaller, FreeBayes, Platypus and samtools说到变异检测,可能大家第一个想到的工具就是GATK HaplotypeCaller。

原文见:Validating generalized incremental joint variant calling with GATK HaplotypeCaller, FreeBayes, Platypus and samtools

说到变异检测,可能大家第一个想到的工具就是GATK HaplotypeCaller。它很出名,所以用的人多,为什么用的人多?是因为大家听说他很准,但是到底有多准呢?其实大家都不会去深究,不过没关系,有人会帮我们去做评测。

在2014年就有一篇博客,用NA12878/NA12891/NA12892 trio数据集对GATK HaplotypeCaller, FreeBayes, Platypus 和samtools 这五个软件做了一个比较,下面是比较结果。

首先作者这几个工具同时对所有样本进行变异检测,因为它们都号称可以利用群体结构相互验证,提高结果的正确性。

img_0d95972751b386b4216b633b77afd26d.png
群体变异检测

先不要被这个条形图的明显反差误差,以为Platypus非常差,其实它们都在一个数量级上。在同一个数量级上,GATK的HaplotypeCaller在精度和准确上都的确比其他软件好。也可以发现samtools其实在找indels更加的粗犷,找到了更多本来不存在的indels,但是在snp上的表现其实是一致的。

下一步是比较群体、混池和单个样本检测。这里说明一下混池,所谓的混池就是把多个样本混在一起测序,丢失了个体信息。

为什么要研究单个样本的变异效果呢?主要是为了提高效率,便于并行。

img_7a5c40eb679b1804bbe2373b72da7cf3.png
混池检测表现
img_99140d4110513b4645383e3ae7f4d97c.png
单样本检测

这上面两个图其实和之前那个图类似,但是的确在精度上和准度上有些降低。并且samtools的假阳性依旧非常感人。

最后说说我的看法:

这篇博客主要是看检测后的数据集效果,而没有看变异过滤后效果。GATK的优势在于,能够利用机器学习的方法根据已有变异数据库进一步提高结果的准确度。但是对于植物而言,所能做的就是硬指标过滤。

因此,如果做人类,最推荐的工具是GATK,因为表现的确很好。而且人类还会不断增加样本,需要使用GVCFS文件解决N+1的问题

如果是植物,我目前就用freebayes了,效率高,表现也不错。同时强烈推荐阅读这篇文献"Single Nucleotide Polymorphism Identification in Polyploids: A Review, Example, and Recommendations"。

img_b7d2cca743a3384e6cb7dfdbdede3024.png
植物多倍体找SNP策略1

img_4dcd08c59a36a0c6375aecaa125e1040.png
植物多倍体找SNP策略2

还有这三篇文章(可惜已经被原作者删了):

目录
相关文章
|
6月前
|
算法
疲劳检测-闭眼检测(详细代码教程)
疲劳检测-闭眼检测(详细代码教程)
|
6月前
|
机器学习/深度学习 编解码 算法
英文论文(sci)解读复现:基于YOLOv5的自然场景下苹果叶片病害实时检测
英文论文(sci)解读复现:基于YOLOv5的自然场景下苹果叶片病害实时检测
264 0
|
24天前
|
机器学习/深度学习 人工智能 算法
基于YOLOv8的钢铁缺陷实时检测系统【训练和系统源码+Pyside6+数据集+包运行】
基于YOLOv8的钢铁缺陷实时检测系统,通过1800张图片训练,开发了带GUI界面的检测系统,支持图片、视频和摄像头实时检测,提高生产效率和产品质量。系统基于Python和Pyside6开发,具备模型权重导入、检测置信度调节等功能。项目代码、数据集可通过特定链接获取。
52 1
基于YOLOv8的钢铁缺陷实时检测系统【训练和系统源码+Pyside6+数据集+包运行】
|
2月前
|
机器学习/深度学习 编解码 数据挖掘
Sentieon 应用教程 | 使用CNVscope进行CNV检测分析
CNVscope是Sentieon推出的一款基于机器学习的全基因组CNV分析检测模块。该模块主要用于检测大于5kb的拷贝数增加或缺失,方法是通过分析reads的深度信息,并结合断点检测等其他特征进行拷贝数判断。
29 1
|
6月前
|
机器学习/深度学习 文字识别 算法
[Halcon&图像] 缺陷检测的一些思路、常规检测算法
[Halcon&图像] 缺陷检测的一些思路、常规检测算法
1859 1
|
5月前
|
机器学习/深度学习 算法 安全
基于YOLOv8深度学习的危险区域人员闯入检测与报警系统【python源码+Pyqt5界面+数据集+训练代码】YOLOv8、ByteTrack、目标追踪、区域闯入
基于YOLOv8深度学习的危险区域人员闯入检测与报警系统【python源码+Pyqt5界面+数据集+训练代码】YOLOv8、ByteTrack、目标追踪、区域闯入
|
4月前
|
传感器 数据采集 算法
LabVIEW材料样本结构缺陷检测
LabVIEW材料样本结构缺陷检测
19 0
|
6月前
|
自然语言处理 数据挖掘 Java
20源代码模型的数据增强方法:克隆检测、缺陷检测和修复、代码摘要、代码搜索、代码补全、代码翻译、代码问答、问题分类、方法名称预测和类型预测对论文进行分组【网安AIGC专题11.15】
20源代码模型的数据增强方法:克隆检测、缺陷检测和修复、代码摘要、代码搜索、代码补全、代码翻译、代码问答、问题分类、方法名称预测和类型预测对论文进行分组【网安AIGC专题11.15】
271 0
|
6月前
|
人工智能 算法 TensorFlow
基于AidLux的工业视觉少样本缺陷检测实战
基于AidLux的工业视觉少样本缺陷检测实战
79 0
|
6月前
|
运维 算法 数据处理