Abyss:基于布隆过滤器的基因组组装软件

原创
03/11 22:25
阅读数 39

主流的NGS基因组组装软件都是先将序列划分成kmer, 然后基于de Bruijn Graph图论算法,得到组装好的序列。程序运行时,kmer字符串时存储在内存中,所以要求计算机的内存要足够大。

Abyss 基于布隆过滤器,不直接储存字符串,减少了内存的消耗。软件的官网如下

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

编译成功后,会生成许多的可执行文件,这些文件分散在不同的目录下,想要成功运行该软件,需要将这些可执行文件都添加到PATH环境变量中,写法如下

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

只需要调整ABYSS_HOME,将其设置为软件所在的实际目录即可,可以在~/.bahsrc文件中设置以上环境变量,然后运行下列代码

source ~.bahsrc

这样环境变量就会生效,至此,软件才算安装成功。官网还提供了测试数据集,下载测试数据集的方法如下

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

测试数据集是一个双端测序的结果文件,用Abyss进行组装的命令如下

abyss-pe k=25 name=test in='test-data/reads1.fastq test-data/reads2.fastq'

name参数是生成文件的前缀,运行结束后,会生成很多文件,以下两个文件是我们最关注的

  1. test-contigs.fa

  2. test-scaffolds.fa


分别对应contig和scaffold的结果。

对于Abyss而言,只能通过for 循环,实现多个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

更多的参数和用法请参考官方文档。

本文分享自微信公众号 - 生信修炼手册(shengxinxiulian)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部