基因预测软件中的奥古斯都-Augustus的安装

奥古斯都
Augustus是用作de novo基因注释(即从头预测)的软件,而这个软件的名字也起得很好:Augustus翻译成中文名字就是奥古斯都,即罗马帝国的开国君主。

而开国君主这层含义与从头预测不谋而合,这样一来,这个名字既指出了这个软件的功能,又有一定的历史底蕴。虽然这是一个从头预测基因的软件,但是现在很多基因注释相关的软件都会依赖于这个软件,例如CAT以及BUSCO,因此这个软件的作用并不是只有从头预测基因这么狭隘。虽然这个软件的官网上有安装教程,也指出了需要的依赖包,但是在安装过程中还是有非常多的trick,因此安装这个软件是非常浩大的工程,这个软件的安装过程比UCSC软件包的安装还要繁琐。

安装需要安装的包(顺序有先后)

1
2
3
4
5
6
7
8
9
libboost
libgsl
libsqlite3
libsuitesparse
lp-solve
bamtools
htslib
bcftools
samtools
  1. libboost,参考1参考2
    1
    2
    3
    ./bootstrap.sh --with-libraries=all --with-toolset=gcc --prefix=/xieduo/lib/boost-1.67.0
    ./b2 toolset=gcc
    ./b2 install --prefix=/xieduo/lib/boost-1.67.0

记得在~/.bash_profile中添加,参考

1
2
3
4
5
export ver="boost-1.67.0"
export C_INCLUDE_PATH="/xieduo/lib/${ver}/include:${C_INCLUDE_PATH}"
export CPLUS_INCLUDE_PATH="${C_INCLUDE_PATH}"
export LD_LIBRARY_PATH="/xieduo/lib/${ver}/lib:${LD_LIBRARY_PATH}"
export LIBRARY_PATH="${LD_LIBRARY_PATH}"

以下所有的库的安装后都要加入环境变量,不再重复。

  1. libgsl安装

    1
    2
    3
    4
    cd gsl-2.4
    ./configure --prefix=/xieduo/software/gsl-2.4
    make
    make install
  2. libsqlite3

    1
    2
    3
    4
    5
    tar -zxf sqlite-autoconf-3240000.tar.gz
    cd sqlite-autoconf-3240000
    ./configure --prefix=/xieduo/software/sqlite-3.24.0
    make
    make install
  1. libsuitesparse

    1
    tar -zxf libSuiteSparse-devel-3.2.0-2.tar
  2. lp_solve_5.5.2.5

    1
    2
    3
    4
    5
    wget https://jaist.dl.sourceforge.net/project/lpsolve/lpsolve/5.5.2.5/lp_solve_5.5.2.5_exe_ux64.tar.gz
    mkdir lp_solve_5.5.2.5
    mkdir lp_solve_5.5.2.5/lib lp_solve_5.5.2.5/include
    mv *so lp_solve_5.5.2.5/lib
    mv *h lp_solve_5.5.2.5/include
  3. bamtools

    1
    2
    3
    4
    5
    6
    cd bamtools-2.4.0
    mkdir build
    cd build
    cmake -DCMAKE_INSTALL_PREFIX=/xieduo/software/bamtools-2.4.0 ..
    make
    make install
  4. 安装htslib

    1
    2
    3
    4
    5
    autoheader
    autoreconf
    ./configure --prefix=/xieduo/lib/htslib-1.8
    make
    make install
  5. 安装bcftools

    1
    2
    3
    ./configure --prefix=/xieduo/software/bcftools-1.8 --with-htslib=/xieduo/lib/htslib-1.8
    make
    make install
  6. 安装samtools

    1
    2
    3
    autoheader
    autoconf -Wno-syntax
    ./configure --prefix=/xieduo/software/samtools-1.8

修改misc/maq2sam.c中33行中#include "version.h"#include "../version.h",修改misc/wgsim.c的42行的#include "version.h"#include "../version.h"
然后

1
2
make
make install

如果不修改就会报错:

1
2
3
4
5
6
7
gcc -g -O2 -DMAQ_LONGREADS -I. -I../htslib-1.8 -I./lz4 isc/maq2sam-long.o misc/maq2sam.c
misc/maq2sam.c: In function ‘main’:
misc/maq2sam.c:215:42: error: ‘SAMTOOLS_VERSION’ undeclared (first use in this function)
fprintf(stderr, "Version: %s\n", SAMTOOLS_VERSION);
^
misc/maq2sam.c:215:42: note: each undeclared identifier is reported only once for each function it appears in
make: *** [misc/maq2sam-long.o] Error 1

正式安装Augustus

  1. bam2hints
    修改/xieduo/src/augustus-3.3.1/auxprogs/bam2hints/Makefile中第11行为

    1
    INCLUDES = /xieduo/software/bamtools-2.4.0/include/bamtools
  2. bam2wig
    修改

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    cd  /xieduo/src/augustus-3.3.1/auxprogs/bam2wig
    mkdir tools
    cd tools
    ln -s /xieduo/software/bcftools-1.8
    ln -s /xieduo/lib/htslib-1.8 tabix
    mkdir htslib
    cd htslib
    ln -s /xieduo/lib/htslib-1.8/bin
    ln -s /xieduo/lib/htslib-1.8/include
    ln -s /xieduo/lib/htslib-1.8/lib
    ln -s /xieduo/lib/htslib-1.8/share
    cp /xieduo/src/htslib-1.8/libhts.a ./
    cd ../
    mkdir samtools
    cd samtools
    ln -s /xieduo/software/samtools-1.8/bin
    ln -s /xieduo/software/samtools-1.8/share
    cp /xieduo/src/samtools-1.8/libbam.a ./
    cp /xieduo/src/samtools-1.8/bam.h ./
    cp /xieduo/src/samtools-1.8/sam.h ./

然后将修改samtools/sam.h28行为

1
#include "../htslib/include/htslib/sam.h"

修改samtools/bam.h4849行为

1
2
#include "../htslib/include/htslib/bgzf.h"
#include "../htslib/include/htslib/sam.h"

  1. 修改/xieduo/src/augustus-3.3.1/common.mk
    1
    2
    3
    ZIPINPUT = true
    COMPGENEPRED = true
    SQLITE = true

去掉注释.

  1. 修改/xieduo/src/augustus-3.3.1/Makefile
    把第15行改为

    1
    INSTALLDIR = /xieduo/software/augustus-$(AUGVERSION)
  2. 修改/xieduo/src/augustus-3.3.1/src/Makefile
    第55行改为

    1
    LIBS += -lsqlite3 -Wl,-rpath=/xieduo/lib/sqlite-3.24.0/lib
  3. 修改/xieduo/src/augustus-3.3.1/auxprogs/homGeneMapping/src/Makefile
    将第4行和第8行去注释

    1
    2
    BOOST = true
    SQLITE = true

在23行改为

1
INCLS += -I/xieduo/lib/boost-1.67.0/lib

第28、29行改为

1
2
INCLS += -I/xieduo/lib/sqlite-3.24.0/include
LIBS += -lsqlite3 -L/xieduo/lib/sqlite-3.24.0/lib

  1. 编译
    1
    2
    make 
    make install
------本文结束欢迎留言(你的邮箱将不会被显示)------