宏基因組組裝
基因組組裝递瑰,即把短的reads拼裝成連續(xù)的序列(contig)杨蛋,再根據(jù)PE或者long reads等比對(duì)關(guān)系將contig拼接成scaffold猛们。
Kmer
從一段連續(xù)序列中迭代地選取長度為K個(gè)堿基的序列,若序列的長度為L吊宋,那么可以得到L-K+1個(gè)Kmer。
組裝算法
DBG:De Bruijn Graph
主要用于二代測序短reads的組裝颜武,基于Kmer的連接
OLC:Overlap Layout Consensus
多用于三代長reads組裝璃搜,基于比對(duì)的Overlap結(jié)果大于閾值連接拖吼。
二代測序數(shù)據(jù)組裝流程
構(gòu)建contig:將所有小片段打成K-mer構(gòu)建deBruijn圖,然后會(huì)根據(jù)給定的參數(shù)對(duì)de Bruijn圖做一些化簡这吻,最后連接K-mer的路徑即可得到contig序列吊档。
構(gòu)建scaffold:將reads map到contig序列上去,利用reads之間的PE關(guān)系去判斷contig之間的連接關(guān)系唾糯,得到scaffold序列怠硼。
補(bǔ)洞:將成對(duì)reads比對(duì)到scaffold序列上,確定出一條reads比上contig序列而另外一條reads落入gap區(qū)域的比對(duì)信息移怯,利用落入同一個(gè)gap區(qū)域的reads做局部組裝香璃。
宏基因組組裝挑戰(zhàn)
常規(guī)組裝軟件適用于單個(gè)物種且覆蓋度均勻的基因組,而微生物樣本中不同物
種的豐度水平差異很大芋酌,導(dǎo)致不同物種基因組的測序深度高度不一致增显。宏基因
組數(shù)據(jù)集中,大多數(shù)物種的測序深度遠(yuǎn)低于單個(gè)物種組裝需要的測序深度脐帝。微生物群落中的不同種物種可能存在共享的高度保守基因組區(qū)域同云,形成“種間
重復(fù)”使得組裝復(fù)雜化。在一個(gè)微生物樣品中堵腹,許多細(xì)菌物種是由具有不同豐度的多個(gè)相關(guān)菌株混合在
一起的炸站,這種混合會(huì)進(jìn)一步增加組裝的難度。
宏基因組組裝軟件評(píng)估
宏基因組組裝常用軟件為 megahit 及 metaspades疚顷。
參考腳本
使用 megahit 進(jìn)行組裝:
megahit \
-1 ./A1_1.fq.gz \ # 輸入旱易,fq1
-2 ./A1_2.fq.gz \ # 輸入,fq2
--min-contig-len 1000 \ # contig最小長度
--tmp-dir ./ \ # 設(shè)置tmp目錄
--memory 6 \ # 內(nèi)存占用
--num-cpu-threads 4 \ # 線程數(shù)
--out-dir A1_megahit \ # 輸出目錄
--out-prefix A1 # 輸出前綴
## 多組數(shù)據(jù)組裝, 輸入數(shù)據(jù)逗號(hào)分隔
使用 metaspades 進(jìn)行組裝:
## 單組數(shù)據(jù)組裝
spades.py \
--meta \ # 宏基因組模式
-t 4 \ # 線程
-k 21,33 \ # kmer
-1 ./A1_1.fq.gz \ # 輸入腿堤,fq1
-2 ./A1_2.fq.gz \ # 輸入阀坏,fq2
#-k 21,33,55,77 \ 多組數(shù)據(jù)組裝
#--pe-1 1 ./A1_1.fq.gz \ #輸入,第1組fq1
#--pe-2 1 ./A1_2.fq.gz \ #輸入笆檀,第1組fq2
#--pe-1 2 ./A2_1.fq.gz \ #輸入忌堂,第2組fq1
#--pe-2 2 ./A2_2.fq.gz \ #輸入,第2組fq
-o A1_metaspades # 輸出目錄
組裝結(jié)果可以使用 quast 進(jìn)行匯總統(tǒng)計(jì):
quast.py ./*.fa