由于不同软件对不同的基因组的适合度不同,一般都需要参数多个工具的不同参数,根据N50和BUSCO等衡量标准选择比较好的结果。为了避免后续花篇幅在工具安装上,因此先准备后续的分析环境。
对于组装而言,我们需要安装如下工具:
-
质量控制:
-
主流组装工具:
-
ABySS
-
IDBA
-
SOAPdenovo2
-
Velvet
-
Sapdes
-
Minia
-
Ray
-
MasuRCA
-
基因组组装评价工具
-
基因结构预测和功能注释暂时不在考虑范围内
更多相关工具见https://biosphere.france-bioinformatique.fr/wikia2/index.php/Tools_directory_in_Assembly_and_Annotation_(Lexicographic_ordering)
以下操作所用服务器的基本信息为:Linux的内核为3.10.0-693.el7.x86_64, GCC版本为4.8.5。为了方便管理和使用软件,建议建立如下几个文件夹, 分门别类的存放不同工具及其源码。
mkdir -p ~/opt/{sysoft,biosoft}
mkdir -p ~/src
sudo mkdir -p /opt/{sysoft,biosoft}
sudo mkdir -p /src
sudo chmod 1777 /opt/biosoft /opt/sysoft /src
系统自带的GCC版本是4.8,而BLESS2要求4.9+, ABySS要求6.0+,直接编译这些工具可能会出错,但直接升级系统的GCC版本可能会影响整体稳定性,因此推荐将在
opt/sysoft
下安装高版本的GCC。当然GCC的版本也不是越高越好,最好和作者开发的版本一致,也就是他们要求的最低版本。
cd ~/src
wget -4 https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-6.4.0/gcc-6.4.0.tar.xz
tar xf gcc-6.4.0.tar.xzcd gcc-6.4.0./contrib/download_prerequisites
mkdir build && cd build
../configure --prefix=$HOME/opt/sysoft/gcc-6.4.0 --enable-threads=posix --disable-multilib --with-system-zlib
make -j 8 && make install
根据我之前关于GCC编译的文章
还在烦恼没有root权限装不上软件嘛?
,程序编译不成功大多是因为找不到
头文件(存放在include目录下)
和
链接库文件(存放在lib目录下)
,默认编译头文件只会搜索
/usr/include
,
/usr/local/include
, 而链接库文件只会搜索
/lib
,
/usr/lib[64]
,
/usr/local/lib[64]
. 为了让编译完成的GCC的头文件和链接库文件能被搜索到,需要在
~/.bashrc
文件中添加几个环境变量:
-
PKG_CONFIG_PATH
: 同时添加搜索头文件和链接头文件的路径
-
C_INCLUDE_PATH
: 编译时搜索头文件的路径
-
LIBRARY_PATH
: 编译时搜索链接文件的路径
-
LD_LIBRARY_PATH
: 运行时搜索链接文件的路径
即添加如下几行内容到
~/.bashrc
文件中,并执行
source ~/.bashrc
更新环境变量。
export PKG_CONFIG_PATH=~/opt/sysoft/gcc-6.4.0/lib64/pkgconfig:$PKG_CONFIG_PATH
export C_INCLUDE_PATH=~/opt/sysoft/gcc-6.4.0/include:$C_INCLUDE_PATH
export LIBRARY_PATH=~/opt/sysoft/gcc-6.4.0/lib64:$LIBRARY_PATH
export LD_LIBRARY_PATH=~/opt/sysoft/gcc-6.4.0/lib64:$LD_LIBRARY_PATH
export PATH=~/opt/sysoft/gcc-6.4.0/bin:$PATH
组装软件一
:ABySS的安装依赖boost1.62, OpenMPI, Google/sparsehash, SQLite,且GCC支持OpenMP,因此也就是一个个下载,一个个安装的过程。
cd ~/src
wget -4 https://sourceforge.net/projects/boost/files/boost/1.62.0/boost_1_62_0.tar.bz2
tar xf boost_1_62_0.tar.bz2
cd boost_1_62_0
./bootstrap.sh --prefix=$HOME/opt/sysoft/boost-1.62./b2
wget https://www.open-mpi.org/software/ompi/v3.0/downloads/openmpi-3.0.0.tar.gz
tar xf openmpi-3.0.0.tar.gz
cd openmpi-3.0.0./configure --prefix=$HOME/opt/sysoft/openmpi-3.0.0make -j 8 && make install
echo 'export PKG_CONFIG_PATH=~/opt/sysoft/openmpi-3.0.0/lib/pkgconfig:$PKG_CONFIG_PATH' >> ~/.bashrcecho 'export PATH=~/opt/sysoft/openmpi-3.0.0/bin:$PATH' >> ~/.bashrccd ~/src
git clone https://github.com/sparsehash/sparsehash.gitcd sparsehash
./configure --prefix=$HOME/opt/sysoft/sparsehash
make && make install
cd ~/src
wget -4 http://www.sqlite.org/2018/sqlite-tools-linux-x86-3220000.zip
unzip sqlite-tools-linux-x86-3220000.zip
mv sqlite-tools-linux-x86-3220000 ~/opt/sysoft/sqlite3
最后在安装ABySS时要以
--with-PACKAGE[=ARG]
形式指定依赖软件的路径
cd ~/src
wget -4 http://www.bcgsc.ca/platform/bioinfo/software/abyss/releases/2.0.2/abyss-2.0.2.tar.gz
tar xf abyss-2.0.2.tar.gzcd abyss-2.0.2./configure --prefix=$HOME/opt/biosoft/abyss-2.0.2--with-boost=$HOME/src/boost_1_62_0 --with-sparsehash=$HOME/opt/sysoft/sparsehash --with-sqlite=$HOME/opt/sysoft/sqlite3
make && make install
组装软件二
:SOAPdenovo2,华大出品,目前使用率最高的工具
cd ~/src
git clone https://github.com/aquaskyline/SOAPdenovo2.gitcd SOAPdenovo2
mkdir -p ~/opt/biosoft/SOAPdenovo2
mv SOAPdenovo-* ~/opt/biosoft/SOAPdenovo2/
组装软件三
: IDBA.de Brujin图依赖于K-mers的k的选择,IDBA能够自动化递归使用不同的k进行组装,从而确定最优的K。
cd ~/src
git clone https://github.com/loneknightpy/idba.git
idba/build.sh
mv idba ~/opt/biosoft/
质控软件一
: BLESS2虽然依赖库很多,如Boost library, Google sparsehash, klib, KMC, zlib, pigz和murmurhash3等,但是这些工具都随压缩包共同下载,另外还需要MPICH或OpenMPI,然后OpenMPI已经编译成功,所以BLESS2的安装其实非常简单。
cd ~/src
wget https://ayera.dl.sourceforge.net/project/bless-ec/bless.v1p02.tgz
tar xf bless.v1p02.tgzcd v1p02
make
mv v1p02/ ~/opt/biosoft/BLESS2
你们可以测试下这个工具是否跑的了,在我的机器上是各种
核心转移
,所以我还是用Li Heng的BFC吧
cd ~/src
git clone https://github.com/lh3/bfc.gitcd bfc
make
mkdir -p ~/opt/biosoft/bfc
mv bcf hash2cnt ~/opt/biosoft/bfc
质控软件二
: fastp
mkdir -p ~/opt/biosoft/fastpcd ~/opt/biosoft/fastp
wget http://opengene.org/fastp/fastp
chmod a+x ./fastp
评估工具一
:Quast, 它通过比较N50,N G50等参数来评价基因组组装质量.Quast由Python编写,推荐使用bioconda安装。关于bioconda的用法见
生信软件的好帮手-bioconda
conda create --name assembly python=2.7source activate assembly
conda install quast
评估工具二
: BUSCO,这是一个利用进化信息从基因完整性角度评估组装准确性的工具,推荐使用biconda安装。
source activate assembly
conda install busco
此外运行还需要不同物种的基因数据集
mkdir -p ~/db/buscocd ~/db/busco
wget http://busco.ezlab.org/v2/datasets/bacteria_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/proteobacteria_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/rhizobiales_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/betaproteobacteria_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/gammaproteobacteria_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/enterobacteriales_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/deltaepsilonsub_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/actinobacteria_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/cyanobacteria_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/firmicutes_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/clostridia_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/lactobacillales_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/bacillales_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/bacteroidetes_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/spirochaetes_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/tenericutes_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/eukaryota_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/fungi_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/microsporidia_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/dikarya_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/ascomycota_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/pezizomycotina_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/eurotiomycetes_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/sordariomyceta_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/saccharomyceta_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/saccharomycetales_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/basidiomycota_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/metazoa_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/nematoda_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/arthropoda_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/insecta_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/endopterygota_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/hymenoptera_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/diptera_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/vertebrata_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/actinopterygii_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/tetrapoda_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/aves_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/mammalia_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/euarchontoglires_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/laurasiatheria_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/embryophyta_odb9.tar.gz
wget http://busco.ezlab.org/v2/datasets/protists_ensembl.tar.gz
wget http://busco.ezlab.org/v2/datasets/alveolata_stramenophiles_ensembl.tar.gz