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

Posted 生信修炼手册

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Abyss:基于布隆过滤器的基因组组装软件相关的知识,希望对你有一定的参考价值。

主流的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

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

以上是关于Abyss:基于布隆过滤器的基因组组装软件的主要内容,如果未能解决你的问题,请参考以下文章

BioNano生物纳米分子的“原始数据到完成装配和组装分析”管线与基于序列的基因组FASTA映射

转录组的组装Stingtie和Cufflinks

基因组组装中的pipeline是啥意思

布隆过滤器基于Hutool库实现的布隆过滤器Demo

基于Java实现简化版本的布隆过滤器

使用基于 Redis 的 Java 布隆过滤器