首先引用一下官方对ABYSS的介绍:
ABySS is a de novo, parallel, paired-end sequence assembler that is designed for short reads. The single-processor version is useful for assembling genomes up to 100 Mbases in size. The parallel version is implemented using MPI and is capable of assembling larger genomes.
在目前比较多的linux服务器上gcc版本是4.1.xd左右,安装编译ABySS会报错,在ABySS的google groups询问,解决方法是升级GCC到4.5.1
编译安装gcc之前需要先安装三个必须的软件,分别下载之:
GMP:
wget ftp://ftp.gmplib.org/pub/gmp-5.0.1/gmp-5.0.1.tar.bz2
解压:tar jxvf gmp-5.0.1.tar.bz2
进入目录:cd gmp-5.0.1
配置:./configure --prefix=$HOME
编译:make
安装:make install
(下面的过程比较相似,只写出配置步骤)
MFPR:
wget http://www.mpfr.org/mpfr-current/mpfr-3.0.0.tar.bz2
./configure --prefix=$HOME --with-gmp=$HOME
MPC:
wget http://www.multiprecision.org/mpc/download/mpc-0.8.2.tar.gz
./configure --prefix=$HOME
在这里我们在配置的时候将安装目录统一指定为$HOME,将程序执行文件,库文件及头文件全部安装在自己的目录下,呵呵,因为没有root嘛
下载新版gcc:
wget http://gcc-uk.internet.bs/releases/gcc-4.5.1/gcc-4.5.1.tar.bz2
./configure --prefix=$HOME --with-gmp=$HOME --with-mpfr=$HOME --with-mpc=$HOME
这样新版的gcc就安装到了我们的home目录,为了默认使用新的gcc修改自己的配置文件例如.bash_profile或.bashrc
gcc升级完毕后我们来安装Google sparsehash,这个软件可以减少内存的使用
wget http://google-sparsehash.googlecode.com/files/sparsehash-1.9.tar.gz
./configure --prefix=$HOME
现在开始下载安装ABySS:
wget http://www.bcgsc.ca/downloads/abyss/abyss-1.2.5.tar.gz
./configure --enable-maxk=96 --with-mpi --prefix=$HOME CPPFLAGS=-I$HOME/include
设置成允许最大k-mer为96,并行计算mpi支持,安装到home目录,指定google sparsehash头文件所在
编译安装后就可以自己的home目录下$home/bin下找到ABySS的所有可执行命令文件了。
补充;
后来运行abyss-pe进行拼接,设置并行任务数为10,结果一直没有多进程运行,然后安装目录也没有ABYSS-P文件,就groups去问,可能是openmpi的问题,于是重新下载openmpi安装,重新编译ABySS
OpenMPI:
wget http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-1.4.3.tar.bz2
./configure --prefix=$HOME --enable-mpi-threads
进到abyss安装目录,重新配置编译:
./configure --enable-maxk=96 --with-mpi=$HOME/lib/openmpi --prefix=$HOME CPPFLAGS=-I$HOME/include
再运行,终于可以多线程并行拼接了~呵呵
参考来源:lidaof的博客(http://blog.sina.com.cn/lidaof)