Assemble a genome

基因组拼接就是将测序得到的短 reads 还原成更长基因组序列的过程,
不同组装软件和组装策略采用的具体算法和细节不尽相同,
但总体上都经过如下几步:

a) Contig 组装

首先,利用 readsoverlap 和覆盖度情况,拼接出 contigs 序列;
Contigs 组装方法较多,软件丰富,算法实现侧重点不同,具体细节比较麻烦;
但从整体上来看,都是先将 readsoverlap 关系构图,然后具体去简化这个图。
reads 一般采用基于 Kmer 的 De Brujin Graph(DBG),
传统长 reads 一般采用 Overlap-Layout-Consensus(OLC*) 或 String Graph(SG)。

b) Scaffold 构建

然后,将所有文库测序得到的 reads 比对回(map)初步得到的 contigs
利用 reads 间的 PE(Paired-End)关系,将 contigs 序列
link 成更长的 scaffolds 序列,并利用不同梯度插入片段(Insert size)信息估计出 contig间距离,
用“N”衔接,形成一定的带洞(gaps)的较长的scaffolds序列。

c) Gap Filling 局部组装

最后,利用测序的双末端 reads 之间的配对关系 PE(Paired-End)
以及测序数据对已组装的 contig 的覆盖(coverage)信息,一对有 PE 关系的 reads
刚好其中一条比对到 contigs,而另一条根据插入片段长度估计刚好落在旁边的洞内,这样就能对 scaffolds 之间空隙进行补洞(局部组装),向两边延长 contig。补洞后的 contigs 长度可以得到较大提升。

Comments