三代數據中錯誤主要是隨機錯誤和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