主流的NGS基因組組裝軟件都是先將序列劃分成kmer, 然后基于de Bruijn Graph圖論算法,得到組裝好的序列。程序運行時,kmer字符串時存儲在內(nèi)存中,所以要求計算機的內(nèi)存要足夠大。
Abyss 基于布隆過濾器,不直接儲存字符串,減少了內(nèi)存的消耗。軟件的官網(wǎng)如下
http://www.bcgsc.ca/platform/bioinfo/software/abyss
安裝過程如下
wget https://github.com/bcgsc/abyss/releases/download/2.1.0/abyss-2.1.0.tar.gz
tar xzvf abyss-2.1.0.tar.gz
cd abyss-2.1.0/
./configure --prefix=$(pwd) --without-sparsehash
make編譯成功后,會生成許多的可執(zhí)行文件,這些文件分散在不同的目錄下,想要成功運行該軟件,需要將這些可執(zhí)行文件都添加到PATH環(huán)境變量中,寫法如下
export ABYSS_HOME=/soft/abyss-2.1.0
export PATH=$ABYSS_HOME/ABYSS:$PATH
export PATH=$ABYSS_HOME/AdjList:$PATH
export PATH=$ABYSS_HOME/Align:$PATH
export PATH=$ABYSS_HOME/bin:$PATH
export PATH=$ABYSS_HOME/Bloom:$PATH
export PATH=$ABYSS_HOME/BloomDBG:$PATH
export PATH=$ABYSS_HOME/Consensus:$PATH
export PATH=$ABYSS_HOME/DAssembler:$PATH
export PATH=$ABYSS_HOME/DataBase:$PATH
export PATH=$ABYSS_HOME/dialign:$PATH
export PATH=$ABYSS_HOME/DistanceEst:$PATH
export PATH=$ABYSS_HOME/FilterGraph/:$PATH
export PATH=$ABYSS_HOME/FMIndex/:$PATH
export PATH=$ABYSS_HOME/GapFiller:$PATH
export PATH=$ABYSS_HOME/Graph:$PATH
export PATH=$ABYSS_HOME/KAligner:$PATH
export PATH=$ABYSS_HOME/kmerprint:$PATH
export PATH=$ABYSS_HOME/Konnector:$PATH
export PATH=$ABYSS_HOME/Layoutp:$PATH
export PATH=$ABYSS_HOME/LogKmerCountr:$PATH
export PATH=$ABYSS_HOME/Map:$PATH
export PATH=$ABYSS_HOME/MergePaths:$PATH
export PATH=$ABYSS_HOME/Overlap:$PATH
export PATH=$ABYSS_HOME/PairedDBG:$PATH
export PATH=$ABYSS_HOME/ParseAligns:$PATH
export PATH=$ABYSS_HOME/PathOverlap:$PATH
export PATH=$ABYSS_HOME/PopBubbles:$PATH
export PATH=$ABYSS_HOME/Scaffold:$PATH
export PATH=$ABYSS_HOME/Sealer:$PATH
export PATH=$ABYSS_HOME/SimpleGraph:$PATH只需要調(diào)整ABYSS_HOME,將其設(shè)置為軟件所在的實際目錄即可,可以在~/.bahsrc文件中設(shè)置以上環(huán)境變量,然后運行下列代碼
source ~.bahsrc這樣環(huán)境變量就會生效,至此,軟件才算安裝成功。官網(wǎng)還提供了測試數(shù)據(jù)集,下載測試數(shù)據(jù)集的方法如下
wget http://www.bcgsc.ca/platform/bioinfo/software/abyss/releases/1.3.4/test-data.tar.gz
tar xzvf test-data.tar.gz
tree -L 1 test-data
├── reads1.fastq
└── reads2.fastq測試數(shù)據(jù)集是一個雙端測序的結(jié)果文件,用Abyss進行組裝的命令如下
abyss-pe k=25 name=test in='test-data/reads1.fastq test-data/reads2.fastq'name參數(shù)是生成文件的前綴,運行結(jié)束后,會生成很多文件,以下兩個文件是我們最關(guān)注的
test-contigs.fa
-
test-scaffolds.fa
分別對應(yīng)contig和scaffold的結(jié)果。
對于Abyss而言,只能通過for 循環(huán),實現(xiàn)多個kmer 梯度組裝,用法如下
for k in `seq 50 8 90`; do
? ?mkdir k$k
? ?abyss-pe -C k$k name=test k=$k in=reads.fa
done更多的參數(shù)和用法請參考官方文檔。