简介
Bowtie是一个快速的,较为节省内存的短序列拼接至模板基因组的工具。它在拼接35碱基长度的序列时,可以达到每小时2.5亿次的拼接速度。Bowtie并不是一个简单的拼接工具,它不同于Blast等。它适合的工作是将小序列对比至大基因组上去。它最长能读取1024个碱基的片段。
配置流程
1.配置编译环境
安装相关依赖。
yum install gcc gcc-c++zlib-devel-y
2.获取源码
获取“bowtie 1.2.3”源码包。
cd/usr/local/src
wget https://github.com/BenLangmead/bowtie/archive/v1.2.3.zip
3.编译和安装
1)解压并进入源码目录。
unzip v1.2.3.zip
cd bowtie-1.2.3
2)修改Makefile文件。
vim Makefile
修改前。
BITS=32
ifeq(x86_64,$(shell uname-m))
BITS=64
endif
#msys will always be 32 bit so look at the cpu arch instead.
ifneq(,$(findstring AMD64,$(PRO CES SOR_ARCHITEW6432)))
ifeq(1,$(MINGW))
BITS=64
endif
endif
ifeq(1,$(LINUX))
ifeq(x86_64,$(shell uname-p))
BITS=64
endif
endif
ifeq(32,$(BITS))
$(error bowtie2 compilation requires a 64-bit platform)
endif
DEBUG_FLAGS=-O0-g3-m64
RELEASE_FLAGS=-O3-m64
NOASSERT_FLAGS=-DNDEBUG
FILE_FLAGS=-D_LARGEFILE_SOURCE-D_FILE_OFFSET_BITS=64-D_GNU_SOURCE
修改后。
BITS=32
ifeq(x86_64,$(shell uname-m))
BITS=64
endif
ifeq(aarch64,$(shell uname-m))
BITS=64
endif
#msys will always be 32 bit so look at the cpu arch instead.
ifneq(,$(findstring AMD64,$(PROCESSOR_ARCHITEW6432)))
ifeq(1,$(MINGW))
BITS=64
endif
endif
ifeq(1,$(LINUX))
ifeq(x86_64,$(shell uname-p))
BITS=64
endif
endif
ifeq(32,$(BITS))
$(error bowtie2 compilation requires a 64-bit platform)
endif
#DEBUG_FLAGS=-O0-g3-m64
#RELEASE_FLAGS=-O3-m64
#NOASSERT_FLAGS=-DNDEBUG
#FILE_FLAGS=-D_LARGEFILE_SOURCE-D_FILE_OFFSET_BITS=64-D_GNU_SOURCE
M64_FLAG:=-m64
ifeq(aarch64,$(shell uname-m))
M64_FLAG:=
endif
3)添加环境变量。
export NO_TBB=1
export POPCNT_CAPABILITY=0
4)编译Bowtie。
make-j4
5)添加环境变量。
vim/etc/profile
将如下内容写入文件最后一行。
export PATH=/usr/local/src/bowtie-1.2.3:$PATH
保存并退出,然后执行如下命令是环境变量生效。
source/etc/profile
4.运行和验证
查看Bowtie版本信息。
bowtie--version
回显类似如下信息表示Bowtie安装成功。
/usr/local/src/bowtie-1.2.3/bowtie-align-s version 1.2.3
64-bit
...