“ 概念理解”
CHEER: HierarCHical taxonomic classification for viral mEtagEnomic data via deep leaRning
对这篇文章中概念的理解:
k-mer
单独的k-mer很好理解,就是从一段序列中迭代分割提取长度为k的几个子序列(一般k为奇数,使用例如SPAdes软件进行基因组组装时使用多个k值效果较好,而不是使用经过预测的一个最佳的k值组装)。
理解应用才能更好记住它,所以再提一下基因组组装以及DBG算法(De Bruijn Graph assembly),这是一个适用于短reads测序结果的组装算法(还有Overlap-Layout-Consensus-OLC适用于一代、三代的长read测序组装和String Graph)。
这个基于DBG+k-mer基因组组装的简单流程如图:
(1)原始数据纠错
将read打断成k-mer,有些测序错误引起的错误k-mer或低频k-mer可以利用k-mer频数图谱或者read比对来对k-mer进行纠错(低频k-mer多为测序错误,高频可能是重复片段),为构建更准确的DBG图做准备。
(2)k-mers构建contigs,构建DBG图
将得到的k-mers利用overlap构建contigs,然后对contigs创建DBG图,对图进行简化,比如移除错误低频k-mer;删除low coverage link;解开短重复序列链接;合并相似位点等,最终输出contigs序列。
(3)构建Scaffold
双末端测序中,除了序列本身还有一些距离信息,这些距离信息可以帮助组装。read1和read2来自同一条序列(中间不一定有overlap),可以根据paired-end信息将不同的Contigs搭建成Scaffold。
(4)补gap
利用测序的双末端数据之间的配对关系连接contigs,并利用测序数据与已经组装的contig之间的覆盖关系对contig之间空隙进行补洞,延长contigs。
总结
这个方法最核心的是De Bruijn图,这是一种欧拉图(或者说半欧拉图,图中包含一个路径,可以每边只有一次就走完所有边),我们最后拼接基因组就在找欧拉路径。
网友评论