三代数据中错误主要是随机错误和Indel,一方面可以通过CCS、Arrow等三代内部自纠错,另一方面也可借助二代高通量短序列进行进一步纠错。目前已经有几款工具,本文主要介绍LoRDEC。
一、三代纠错软件
二、LoRDEC工作原理
(1)特点
用简洁的deBruijn图代表二代数据;比相似的软件快6倍,存储少93%
(2)原理
首先,利用准确度高的二代数据(NGS数据)构建简洁的de Bruijn Graph(DBG);然后,依次对每条PacBio长读长Reads进行纠错。该软件使用C++语言编写,运行速度快,借助k-mer构建DBG图内存空间较小。
(3)步骤
1. 过滤掉weak的kmer;
2. 使用solid kmers构建DBG并通过GATB存储;
3. 依次将每条三代长读长序列遍历DBG进行纠错;
3.1 序列内部纠错
(1) 选取1对source、target solidkmer;
(2) 通过source kmer 、target kmer和branch找到DBG里面的相应的路径;
(3) 以最小编辑距离的原则,选取最优路径纠正错误区域;
(4) 考虑到第一步过滤得到的solid序列仍有假阳性,故设定多对source、target solid kmer。
3.2 序列头、尾纠错(Head/Tail)
(1) 只有source kmer ,缺少target kmer;
(2)通过source kmer在DBG上查找所有路径(直到branch太多或者是末节点);
(3)按照得分选取最优路径;
(4)当内部错误找不到source、target solid kmer时,按照Head错误的方式进行纠错。
三、LoRDEC的使用
(1)下载
可以从官网直接下载最新版本: https://gite.lirmm.fr/lordec/lordec-releases/wikis/home,需要安装一些配套的资源,下载、安装均可参考其说明。
但也有整合好第三方支持的编译好的版本:http://gatb-tools.gforge.inria.fr/versions/bin/,我这里下载的是0.5.3版本。
(2)使用
1. 校正PacBio reads
lordec-correct -k 19 -s 3 -a 5 -2 NGS.fq -i Iso.fa -T 4 -S statistics.txt -m 20G -o CorrectHQ.fa
k-mer(-k):小基因组设置为19; 大基因组设置为21;丰度阈值(-s)设置为2或3
2. 统计
lordec-stat -T 2 -a 5 -i Iso.fa -2 NGS.fq -k 19 -s 3 -S lordec_stat.txt
3. trim校正后的PacBio序列
lordec-trim -i CorrectHQ.fa -o lordec_trimmed_reads.fa
4. trim和分割校正后的PacBio序列
lordec-trim -i CorrectHQ.fa -o lordec_trimmed_reads.fa
5. 建立和保存二代数据的DBG
lordec-build-SR-graph -T 6 -m 20000 -a 5 -k 19 -s 3 -2 NGS.fq -g graph_file.txt
四、参考资料
[1] https://www.cnblogs.com/leezx/p/6098362.html
[2] http://www.atgc-montpellier.fr/lordec/
[3] https://doi.org/10.1093/bioinformatics/btu538