前言
最近在研究低深度WGS数据检测SV变异,测试了很多个软件,一直没有一个准确的结论。周一很巧地发现了这篇文章,作者收集了市面上几乎所有的SV检测工具,用真实数据和模拟数据单独做了测评,也做了一些两两组合的测试,得出了比较有数据支持的建议,值得深度阅读。
另一个特色是作者把69种的使用方法都汇总在了文章的附加文件,非常有指导意义。感兴趣的同学可以去网页下载。
文章信息
文章:Comprehensive evaluation of structural variation detection algorithms for whole genome sequencing【全基因组数据的SV检测算法的综合评估】
期刊:Genome Biol 中科院生物类一区
链接:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6547561/
时间:2019.07.03
作者:Shunichi Kosugi,Yukihide Momozawa, Xiaoxi Liu, Chikashi Terao,Michiaki Kubo, and Yoichiro Kamatani
机构:日本横滨鹤见区综合医学科学中心统计分析实验室,医学科学中心统计和转化遗传学实验室
摘要
SV和CNV极大地影响了基因组中编码的基因的功能,并导致多种人类疾病。但目前没有一种算法可以高精度高准确度地检测每种类型的SV。
作者在这篇paper中利用模拟和实际的WGS数据评估了69种现有检测SV的算法的性能。最后确定了combine不同算法取overlapping的方法,可以根据SV的特定类型和大小范围准确地call SV,并准确确定SV的断点、大小和基因型。
每个类别的SV有自己适合的算法,其中GRIDSS,Lumpy,SVseq2,SoftSV,Manta和Wham是del和dup类型最好的检测方法。
为了提高检测准确性,需要为SV的每种类型和大小范围选择特异算法,并且采用合适的算法组合重复检测取overlapping。
文中有69个文件的详细使用说明,可以下载附加文件4做参考。【有时间的话我会把算法精度高的几个写详细教程】
实验方法
1.实验设计思路
汇总69种检测SV的算法,用已知真阳性SV的数据依次去跑这些算法,然后用不同组合的算法去重复跑数据,最后评估单个算法的精度以及组合的精度。
作者把结构变异分为了DEL(短、中、长),DUP(短、中、长),INS和INV。
针对模拟数据,作者设计了三个评估标准:准确性&检出率;基因分型准确度;断点准确度。
针对真实数据,作者设计了两个评估标准:准确度&检出率;耗时&内存消耗
2.实验数据WGS数据
①模拟数据【模拟原始的fastq数据】
人工引进SV,使用软件为VarSim,引进的8310个 SVs 分别为3526个 DELs,1656个 DUPs,2819个 INSs 和309个 INVs,首先将其引入模拟父系和母系单倍体基因组。以上SV 80% 来自实验中检测到的 SVs,其余的来自 VarSim 模拟器自动生成的人工新的 SVs。
引入的已知 SVs 来自 VarSim 软件包中包含的 DGV 变异数据,大小和染色体位置忠实地再现了相应的 DGV 变异。 Sim-A 数据集由父母双方的基因组产生。 利用人工生物技术(ART)模拟器生成了不同长度(100bp、125bp、150bp)、不同插入(400bp、500bp、600bp)和覆盖度(10X、20X、30X、60X)的 Sim-A 数据集。
利用 PBSIM 模型生成模拟 PacBio平台数据(Sim-A-PacBio) ,采用基于模型的方式生成模拟的父系和母系基因组,分别为: 深度10、长度平均75,000和长度平均8000。
其他模拟数据集(Sim-MEI、 Sim-NUMT 和 Sim-VEI)则由内部脚本生成。 使用 ART 模拟器生成模拟reads。 Sim-MEI、 Sim-NUMT 和 Sim-VEI de 读长、插入大小和覆盖率与 Sim-A 数据相同。
这样得到的模拟数据集就有5个,Sim-A,Sim-A-PacBio,Sim-MEI、 Sim-NUMT 和 Sim-VEI。
②真实NA12878数据
NA12878的真实数据集,包括 Illumina HiSeq 和 PacBio RS 数据,是从 DDBJ ( http://www.DDBJ.nig.ac.jp )和 DNAnexus ( https://platform.DNAnexus.com/login )下载的。为了确定 SV 调用的孟德尔定律错误率,也从 DDBJ 下载了 NA12891和 NA12892的 Illumina HiSeq WGS 数据集,这两个数据集对应 NA12878的父母。 Hg00514的真实数据集,包括 Illumina HiSeq 和 PacBio RS 数据,以及来自瓶中基因组(GIAB)协会的 HG002 PacBio RS 数据集[79]都是从 DDBJ 上下载的。
3. 实际数据的参考SV数据集
从DGV数据库下载,包含1127个 DELs (占总 DELs 的28%) ,1kb,3730个 INSs (占总 INSs 的79%) ,1kb 或未定义长度。
删除短的 DELs 和 INSs,因为基于long reads数据包含了更多的 DELs (6550)和 INSs (13,131)的大小范围,可能比 DGV 数据更可靠。
去除了 DGV 和long reads数据中95% overlapping(1kb以上长度的90%overlapping)的 DELs、 DUPs 和 INVs,总共去除了450个variants。
4.用69种算法call模拟数据和真实数据的SV
两种测试数据的原始格式是fastq,从这一部开始,所有分析步骤都一样:
如果软件是直接从fastq开始分析就不做处理;
如果需要用到bam,则先用GRCh37d5做比对,使用软件统一为bwa men。
有一些软件需要的bam格式不同,只需要修改marker和header,保证各软件的输入数据是一样的。
实验结果
精确度precision和检出率recall的公式如下,TP是真阳性的意思
1. 基于模拟和实际WGS数据的SV检测算法评估
作者汇总了79个SV检测算法,这些均不需要tumor-normal试验对。其中10个在作者服务器运行不了,所以只记录了69个软件的结果。
因为数据库没有已知的易位,且varsim无法模拟易位突变,所以没有评估易位【这也是很大的bug了】
将true定义为与参考SV按比例显著overlapping的SV,对于 DELs、 DUPs 和 INSs,overlapping的比例为50% [对于模拟数据,为80% ] ,对于INSs,overlapping的为 ±200 bp。
设置不同过滤阈值记录准确率精确度的变化。结果如下:
(F-measure精确度和检出率的combine statistics。越高表示该软件检出能力越强。)
(1) 检测特异性
(2) Del和Dup检测算法的大小范围
DEL
DUP
2. 读长较长的reads的算法评估
检测读长较长reads的三个软件分别是PBHoney/Sniffles/pbsv。结论是,即使读长较长的覆盖度为10X,短读长为30X,但基于长读长的算法在call短读数据(DEL-SS 和 DEL-S)和 INSs 时表现出良好的性能。
3. reads属性对检测精度的影响
reads深度越高,检出率越高,但精度降低。作者选取了四个软件,显示了支持reads数对检测结果的影响,如图
reads长度和reads片段插入大小对于精确度和检出率并没有影响
4. SV检测断点、大小和基因型的准确性评估
BreakSeek, BreakSeq2 , CREST,DELLY,GRIDSS,PBHoney-NGM,pbsv, SvABA, SVseq2和 Wham 检测DEL和dup的断点、大小和基因型时表现最好。 CREST, Manta, FermiKit , Pamir , pbsv, SVseq2, SoftSearch , Wham在 calling INS时表现最好,如图:
其余类型SV的图和上图类似,在文章的附件1里。
得出结论是:
对于真实数据:
数据库只提供了DUP和DEL,绝大多数算法对于DEL有95%的精度。dup大多不匹配,见附加文件的表S5。
对于模拟数据:
检测DEL时,Manta, Lumpy, Pindel, and ERDS 表现出高精度90%和高检出率。
检测DUP时,PennCNV-Seq, CNVnator, BICseq2 and readDepth表现出高精度>89%) 和高检出率 recall (>800 TPs)。
检测INS时, Manta 表现出97% 的准确度。 **
此外,我们的测试证明,准确率和检出率高的算法,基因型准确率也很高。
5. 算法运行时间和内存消耗的评估
如图,不同类型的算法消耗CPU程度不同,根据原理已分类,坐标轴横轴的组RP/SR/RD等等,总体而言,重新组装的算法显示长运行时间和大内存消耗。需要特定比对工具的算法比BWA比对的算法时间更长。Pindel作为通用检测方法,运行时间也很长。RD和SR的算法也比其他算法消耗更大的内存。
6. 成对组合两种算法一起call SV然后取overlapping的方法评估
根据检测原理,算法可分为6类:RP、 SR、 RD、 AS、 LR 和 CB ,分别是Read pairs,Split read,Read depth,Assembly,Long Read,Combined Method。
给定算法call SVs 的准确率检出率差别很大,准确性取决于 SVs 的类型和大小范围。很少有算法能够高精度地call出所有 SV,特别是对于实际数据的 DUP、 INS 和 INV。
我们为每种类型和每个大小范围的SV选择了51个算法,每个 SV 类型和大小范围有12-38个算法。这些算法在上述单独测试中显示出较高的精确度和检出率。
我们将其两两组合,评估检测水平。组合后检测INS类型SV的水平如下,小框里斜杠分开的值分别是检出率和精确度,上下两行分别是模拟数据和真实数据,红色标出的是排名前二十的软件组合
其余的DUP【大中小】/DEL【大中小】/INV在附件1的表S15-S22
文章也做了不同类型的算法取overlapping时,检出率和精确度的变化,如图:
结论如下:一般来说,两个不同方法类别的算法组合比使用相同方法的两个算法有更高的精确度,但是检出率较低;这提示结合两种不同方法的算法可能是更好的策略;此外,结果也表明,取两个本身单独精度和检出率均很高的算法组合比不同算法检出一般的组合效果更好。
讨论
试验缺陷: NA12878参考 SV 数据中存在重叠的冗余 SV,因为 DGV 数据来自多个研究来源。 也许有一些错误检测的 sv 可能包括在其中。
虽然无法确定哪些是最好的,但是性能较差的列在附件1的表S20中。
在几乎所有情况下,多种算法之间共同调用的 SVs 比单一算法调用的 SVs 表现出更高的精度和更低的召回率,但是精度提高和召回率降低的程度因算法的具体组合而异。
建议迭代合并overlapping