在Ubuntu安装常用生物信息学软件(一)

起因是看见妹子在服务器上配置软件遇见不少困难,走了很多弯路依然不成功,最后抱怨开发者不考虑用户。

诚然Linux下部分生物信息学软件的安装说明并不近人情,既没有明确依赖关系,也不会照顾小白把完整的命令行语句放出来,更不会每一步都提供排错方案。但是毕竟是人家开发的软件,如果没有通过安装的话不可能发布。所以虽然我也是个菜鸟,但我相信开发者,也坚持自己的方法:试-错学习。这是一种比较低级的学习方式,但是很有效,可以总结经验,吸取教训,通过逐步累积迈向成功。

前些天看了 Bio-Linux 的介绍,的确是个很强大的生物信息学平台,工作环境覆盖了从笔记本到服务器的多种设备。不过这个系统无非是Ubuntu 14.04LTS整合了300多个生物信息学软件而已,过多的软件可能会很臃肿,不太适合我。所以我想何不照着Bio-Linux的软件列表取自己所需的部分,自己进行安装呢。

说干就干,先装一些基础的,中间碰到不少麻烦,感谢Google和Stackoverflow和CSDN等各种网站,让我能站在前人的肩上触碰云朵。

系统是14.04 LTS (trusty),这一次装的软件是:

1.R的安装

注:R的安装并非编译安装

必装。为啥不用Ubuntu自己的软件仓库?14.04的R的版本是3.0.2,已经稍显落后,有些package装不上去。

为啥不编译安装?R从镜像安装相对比较成熟,流程比较简单,也不存在某些科学上网的问题,可以快速有效解决一些依赖关系。

选取一个镜像,比如https://mirrors.tuna.tsinghua.edu.cn/CRAN/ 。在/etc/apt/source.list中增加一行 deb https://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/linux/ubuntu trusty/ ,保存。

1
2
3
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
sudo apt-get update
sudo apt-get install r-base

然后就可以尽情使用R了。

2.blast+的安装

ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ 获取源码包。我的版本是ncbi-blast-2.3.0±src.tar.gz;

在目录下解压tar -zxvf ncbi-blast-2.3.0+-src.tar.gz

1
2
3
4
5
cd ncbi-blast-2.3.0+-src/c++
sudo ./configure
cd ReleaseMT/
cd build/
sudo make all_r

完成。

3.bamtools的安装

bamtools的安装依赖CMake。所以先要获得CMake:wget https://cmake.org/files/v3.5/cmake-3.5.1.tar.gz

1
2
3
4
5
tar -zxvf cmake-3.5.1.tar.gz
cd cmake-3.5.1/
sudo ./bootstrap
sudo make
sudo make install

然后获取bamtools:git clone https://github.com/pezmaster31/bamtools.git

1
2
3
4
5
cd bamtools/
mkdir build
cd build/
sudo cmake ..
sudo make

完成。

4.bedtools的安装

相对比较简单,进入目录直接make就好。

1
2
3
git clone https://github.com/arq5x/bedtools2.git
cd bedtools2/
sudo make

5.bowtie和bowtie2的安装

很简单,https://sourceforge.net/projects/bowtie-bio/files/bowtie/下载相应版本,直接make

bowtie

1
2
3
unzip bowtie-1.1.2-src.zip
cd bowtie-1.1.2/
sudo make

bowtie2

1
2
3
unzip bowtie2-2.2.8-source.zip
cd bowtie2-2.2.8/
sudo make

6.cdhit的安装

也很简单,还是直接make

1
2
3
git clone https://github.com/weizhongli/cdhit.git
cd cdhit/
sudo make

7.clustal omega的安装

好,看安装说明似乎很简单。

1
2
3
tar -zxvf clustal-omega-1.2.1.tar.gz
cd clustal-omega-1.2.1/
sudo ./configure

然而这里就报错:

configure: error: Could not find argtable2.h. Try $ ./configure CFLAGS='-Iyour-argtable2-include-path

大概是缺什么依赖吧,当然这条命令不能照抄咯,就去网上找答案,在 biostar 上发现是缺libargtable2-dev。于是:

1
2
3
4
sudo apt-get install libargtable2-dev
sudo ./configure
sudo make
sudo make install

搞定。

8.cytoscape的安装

这是个好东西,是我很喜欢的一个软件,可以清楚地对网络进行可视化展示。然而软件更新规模很大,我从2.8.9换到3.2.1花了很久才适应,结果到了3.3.0又出现一些功能不会用的情况。不过现在经过一段时间的学习,已经可以领会3版本的精神了,所以可以直接使用3.4.0最新版本,只是不久之后将发布的3.5.0会有什么改动。

软件倒是非常好装,解压了无需编译直接就能运行。但是cytoscape的运行依赖java8,而Ubuntu软件源默认的版本是7。好吧,从官网下了8版本的打上了,然后安装CytoScape。

1
2
3
tar zxvf cytoscape-3.4.0.tar.gz
cd cytoscape-unix-3.4.0/
cytoscape.sh #运行cytoscape

9.FastQC的安装

这个还是不编译来的方便,从官网http://www.bioinformatics.babraham.ac.uk/projects/download.html#fastqc获取编译好的Linux用软件包fastqc_v0.11.5.zip。

1
2
3
unzip fastqc_v0.11.5.zip
cd FastQC/
sudo chmod 755 fastqc

10.samtools的安装

要安装1.3.1版本,从官网http://www.htslib.org/download/下载samtools-1.3.1.tar.bz2。

1
2
3
cd samtools-1.3.1/
sudo make
sudo make install

11.tophat的安装

若要从源码安装tophat,首先应安装boost C++库https://sourceforge.net/projects/boost/files/boost/1.61.0/。建议安装1.47以上的版本以便用于安装cufflinks。
从https://ccb.jhu.edu/software/tophat/downloads/tophat-2.1.1.tar.gz获取tophat源码包。

1
2
3
4
5
6
7
8
9
10
tar zxvf boost_1_61_0.tar.gz
cd boost_1_61_0/
sudo ./bootstrap.sh
sudo ./b2 install
cd ..
tar zxvf tophat-2.1.1.tar.gz
cd tophat-2.1.1/
sudo ./configure
sudo make
sudo make install

完了用tutorial里的test_data测试,提示报错:
[FAILED]
Error: segment-based junction search failed with err =127
/usr/local/bin/segment_juncs: error while loading shared libraries: libboost_thread.so.1.54.0: cannot open shared object file: No such file or directory

看来还是缺少什么库文件,下面这步我觉得并不是针对上面这个问题的,但是Google之后反正是可以解决。

1
sudo apt install libboost-thread1.58.0

搞定。

12.circos的安装

circos是流行的基因组圈图绘制软件,基于perl,我记得14.04版Ubuntu自带的perl还不是最新版的,所以好像没达到circos的安装要求要自己再装个perl。不过在16.04下面perl已经不是问题了,官网的安装步骤比较详细,直接下载文件解压就可以了。缺失的perl模块可以用cpan装上,但方便起见Ubuntu软件仓库也提供了所有模块的下载,所以可以先运行:

1
sudo apt install fonts-circos-symbols fonts-cmu libcarp-always-perl libconfig-general-perl  libdata-dumper-simple-perl libdevel-symdump-perl libfont-ttf-perl libgd-perl  libgetopt-simple-perl libgraphics-colornames-perl  libgraphics-colorobject-perl libio-all-perl liblist-allutils-perl  libmath-bezier-perl libmath-round-perl libmath-vec-perl libmath-vecstat-perl  libmodule-implementation-perl libmodule-runtime-perl libnumber-format-perl  libparams-classify-perl libparams-validate-perl libpod-coverage-perl  libreadonly-perl libregexp-common-perl libset-intspan-perl libspiffy-perl  libstatistics-basic-perl libtest-pod-perl libtext-format-perl  libtry-tiny-perl

完成所有依赖模块(除SVG模块,需要用cpan install SVG)。

13.cufflinks的安装

从http://cole-trapnell-lab.github.io/cufflinks/install/获取2.2.1版本Linux安装包。
由于编译安装的过程需要设置boost、eigen和samtools的依赖,之前在14.04上已成功编译,但是由于当时没有记录,现在无法重现,不能通过make步骤,故放弃,采用更为简便的解压直接安装。

14.环境变量设置

为使命令生效,不要忘记在用户目录下的.bashrc 文件末尾添加路径,保存后source ~/.bashrc

小结

如果当时好好保存.bash_history的话,重复之前的安装步骤应该不难,遗憾的是等我想到要做这样的记录的时候,原来的计算机已经清除了一部分记录。尽管可以通过观察文件夹结构结合官网的说明推测出当时的命令,但是有些软件的安装已经没法成功。坚持大部分软件编译安装算是我的偏执吧,其实正常来说直接解压binary安装也是可以的。这篇文章在今年四月份就开始记录,但是写到中间便因为各种各样的原因搁置下来,直到现在,觉得做事总应该有始有终,才继续把它完成,其中的内容会有一些错误。这期间我个人的进步简直微不足道,文章的更新也停滞不前,说来也非常惭愧。这段时间无法静下心来学习一门技术,不过在每种技术的领域都见识了不少,感觉不断拓宽知识面也是很有意义的。希望接下来能坚持把本业搞好,争取年内有所突破吧。这些安装的软件其实在服务器上都有装,但是通过安装了解了一些系统的知识,对自己还是有很多帮助的。