专栏名称: 生信媛
生信媛,从1人分享,到8人同行。坚持分享生信入门方法与课程,持续记录生信相关的分析pipeline, python和R在生物信息学中的利用。内容涵盖服务器使用、基因组转录组分析以及群体遗传。
目录
相关文章推荐
51好读  ›  专栏  ›  生信媛

基因组组装之环境准备

生信媛  · 公众号  · 生物  · 2018-03-08 07:40

正文

请到「今天看啥」查看全文


由于不同软件对不同的基因组的适合度不同,一般都需要参数多个工具的不同参数,根据N50和BUSCO等衡量标准选择比较好的结果。为了避免后续花篇幅在工具安装上,因此先准备后续的分析环境。

对于组装而言,我们需要安装如下工具:

  • 质量控制:

    • FastQC

    • fastp

    • BLESS2

  • 主流组装工具:

    • ABySS

    • IDBA

    • SOAPdenovo2

    • Velvet

    • Sapdes

    • Minia

    • Ray

    • MasuRCA

  • 基因组组装评价工具

    • BUSCO

    • Quast

  • 基因结构预测和功能注释暂时不在考虑范围内

更多相关工具见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的版本也不是越高越好,最好和作者开发的版本一致,也就是他们要求的最低版本。

# gcc,mpfr,gmp,mpc,isl
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,因此也就是一个个下载,一个个安装的过程。

# boost1.62
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
# 引入头文件的路径为~/src/boost_1_62_0, 引入链接库的路径为~/src/boost_1_62_0/stage/lib# openmpi
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
# 在.bashrc中添加环境变量或手动修改也行
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' >> ~/.bashrc# sparsehashcd ~/src git clone https://github.com/sparsehash/sparsehash.gitcd sparsehash ./configure --prefix=$HOME/opt/sysoft/sparsehash make && make install
# sqlite
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的安装其实非常简单。

# mpich-3.2.1cd ~/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
# 保存如下内容到download.sh中,然后使用bash download.sh批量下载
# Bacteria
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
# Eukaryota
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






请到「今天看啥」查看全文