Augustus
是用作de novo基因注释(即从头预测)的软件,而这个软件的名字也起得很好:Augustus
翻译成中文名字就是奥古斯都,即罗马帝国的开国君主。
而开国君主这层含义与从头预测不谋而合,这样一来,这个名字既指出了这个软件的功能,又有一定的历史底蕴。虽然这是一个从头预测基因的软件,但是现在很多基因注释相关的软件都会依赖于这个软件,例如CAT以及BUSCO,因此这个软件的作用并不是只有从头预测基因这么狭隘。虽然这个软件的官网上有安装教程,也指出了需要的依赖包,但是在安装过程中还是有非常多的trick,因此安装这个软件是非常浩大的工程,这个软件的安装过程比UCSC
软件包的安装还要繁琐。
安装需要安装的包(顺序有先后)
1 | libboost |
- 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
5export 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}"
以下所有的库的安装后都要加入环境变量,不再重复。
libgsl安装
1
2
3
4cd gsl-2.4
./configure --prefix=/xieduo/software/gsl-2.4
make
make installlibsqlite3
1
2
3
4
5tar -zxf sqlite-autoconf-3240000.tar.gz
cd sqlite-autoconf-3240000
./configure --prefix=/xieduo/software/sqlite-3.24.0
make
make install
libsuitesparse
1
tar -zxf libSuiteSparse-devel-3.2.0-2.tar
lp_solve_5.5.2.5
1
2
3
4
5wget 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/includebamtools
1
2
3
4
5
6cd bamtools-2.4.0
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/xieduo/software/bamtools-2.4.0 ..
make
make install安装htslib
1
2
3
4
5autoheader
autoreconf
./configure --prefix=/xieduo/lib/htslib-1.8
make
make install安装
bcftools
1
2
3./configure --prefix=/xieduo/software/bcftools-1.8 --with-htslib=/xieduo/lib/htslib-1.8
make
make install安装samtools
1
2
3autoheader
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
2make
make install
如果不修改就会报错:1
2
3
4
5
6
7gcc -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
bam2hints
修改/xieduo/src/augustus-3.3.1/auxprogs/bam2hints/Makefile
中第11行为1
INCLUDES = /xieduo/software/bamtools-2.4.0/include/bamtools
bam2wig
修改1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20cd /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.h
的28
行为1
修改samtools/bam.h
的48
和49
行为1
2
- 修改
/xieduo/src/augustus-3.3.1/common.mk
把1
2
3ZIPINPUT = true
COMPGENEPRED = true
SQLITE = true
去掉注释.
修改
/xieduo/src/augustus-3.3.1/Makefile
把第15行改为1
INSTALLDIR = /xieduo/software/augustus-$(AUGVERSION)
修改
/xieduo/src/augustus-3.3.1/src/Makefile
第55行改为1
LIBS += -lsqlite3 -Wl,-rpath=/xieduo/lib/sqlite-3.24.0/lib
修改
/xieduo/src/augustus-3.3.1/auxprogs/homGeneMapping/src/Makefile
将第4行和第8行去注释1
2BOOST = true
SQLITE = true
在23行改为1
INCLS += -I/xieduo/lib/boost-1.67.0/lib
第28、29行改为1
2INCLS += -I/xieduo/lib/sqlite-3.24.0/include
LIBS += -lsqlite3 -L/xieduo/lib/sqlite-3.24.0/lib
- 编译
1
2make
make install