简介
SpeedSeq是一个快速基因组分析和注释的灵活框架,发表在Nature Method上,封装了大量基因组分析的软件,比如比对软件BWA,calling SNP软件freebays,SV鉴定软件lumpy等。
配置流程
1.配置编译环境
1)安装相关依赖。
yum install-y gcc gcc-c++make cmake python2 python2-numpy scipy gawk zlib zlib-devel bzip bzip2-devel xz-devel ncurses-devel
2)安装HTSlib。
a.获取“htslib-1.10.2”源码包。
cd/usr/local/src wget https://github.com/samtools/htslib/releases/download/1.10.2/htslib-1.10.2.tar.bz2
b.解压并进入源码目录。
tar-jxvf htslib-1.10.2.tar.bz2 cd htslib-1.10.2
c.配置生成Makefile。
/configure
d.编译安装。
make-j4 make install
3)安装cython。
pip install cython
4)安装pysam。
pip install pysam
2.获取源码
获取“speedseq最新版”源码包。
cd/usr/local/src git clone--recursive https://github.com/hall-lab/speedseq.git
3.编译和安装
1)进入SpeedSeq目录。
cd/usr/local/src/speedseq
2)下载“sse2neon.h”文件。
wget https://github.com/jratcliff63367/sse2neon/archive/master.zip unzip master.zip mv./sse2neon-master/SSE2NEON.h./sse2neon-master/sse2neon.h cp./sse2neon-master/sse2neon.h./src/bwa
3)修改“ksw.c”程序中引用的头文件,注释掉“#include<emmintrin.h>”,增加“#include"sse2neon.h"”,修改完成后,保存退出。
vim./src/bwa/ksw.c //#include<emmintrin.h> #include"sse2neon.h"
4)编译SpeedSeq。
make-j4
5)生成的SpeedSeq工具加入环境变量。
a.编辑“/etc/profile”。
vim/etc/profile
在文件末尾加入如下内容:
export PATH="$PATH:/usr/local/src/speedseq/bin"
b.按“Esc”,输入“wq!”退出。
c.环境变量生效。
source/etc/profile
4.运行和验证
执行如下命令查看SpeedSeq版本。
speedseq
回显信息如下,则表示SpeedSeq安装成功。
Program:speedseq Version:0.1.2 Author:Colby Chiang(cc2qe virginia.edu) usage:speedseq<command>[options] command:align align FASTQ files with BWA-MEM var call SNV and indel variants with FreeBayes somatic call somatic SNV and idel variants in a tumor/nomal pair with FreeBayes sv call SVs with LUMPY realign realign from a coordinate sorted BAM file options:-h show this message
5.问题一:编译报“configure:error:cannot guess build type;you must specify one”等错误
1)问题描述:
执行make,报“configure:error:cannot guess build type;you must specify one”错误。
cd srm /mbuffer:.configure--prefix=/usr/local/src/speedseq checking build system type..../configure.guess:unable to guess system type
2)问题原因:
可以看出,进入“src/mbuffer”,执行./configure--prefix=/usr/local/src/speedseq时,不能匹配到机器类型。
3)解决方法:
通过修改配置“config.sub”后,制定配置类型进行解决。
a.修改配置文件。
cd/usr/local/src/speedseq vi./src/mbuffer/config.sub
查找“x86”内容的位置,在其位置后面增加“aarch64”类型。
在“case$basic_machine in”区域的两个位置修改。
Ⅰ.修改下述内容。
|x86|xscale|xscalee[bl]|xstormy16|xtensa
修改后:
|x86|aarch64|xscale|xscalee[bl]|xstormy16|xtensa
Ⅱ.修改下述内容
|x86-*|x86_64-*|xps100-*|xscale-*|xscalee[bl]-*
修改后:
|x86-*|aarch64-*|x86_64-*|xps100-*|xscale-*|xscalee[bl]-*
b.修改Makefile
vim Makefile
修改生成mbuffer部分的脚本,在./configure后面加参数--host=aarch64--build=aarch64,修改后内容如下:
mbuffer: cd$(MBUFFER_DIR);./configure--prefix=$(shell pwd)--host=aarch64--build=aarch64