簡介
SpeedSeq是一個快速基因組分析和注釋的靈活框架,發(fā)表在Nature Method上,封裝了大量基因組分析的軟件,比如比對軟件BWA,calling SNP軟件freebays,SV鑒定軟件lumpy等。
配置流程
1.配置編譯環(huán)境
1)安裝相關(guān)依賴。
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工具加入環(huán)境變量。
a.編輯“/etc/profile”。
vim/etc/profile
在文件末尾加入如下內(nèi)容:
export PATH="$PATH:/usr/local/src/speedseq/bin"
b.按“Esc”,輸入“wq!”退出。
c.環(huán)境變量生效。
source/etc/profile
4.運行和驗證
執(zhí)行如下命令查看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)問題描述:
執(zhí)行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”,執(zhí)行./configure--prefix=/usr/local/src/speedseq時,不能匹配到機器類型。
3)解決方法:
通過修改配置“config.sub”后,制定配置類型進行解決。
a.修改配置文件。
cd/usr/local/src/speedseq vi./src/mbuffer/config.sub
查找“x86”內(nèi)容的位置,在其位置后面增加“aarch64”類型。
在“case$basic_machine in”區(qū)域的兩個位置修改。
Ⅰ.修改下述內(nèi)容。
|x86|xscale|xscalee[bl]|xstormy16|xtensa
修改后:
|x86|aarch64|xscale|xscalee[bl]|xstormy16|xtensa
Ⅱ.修改下述內(nèi)容
|x86-*|x86_64-*|xps100-*|xscale-*|xscalee[bl]-*
修改后:
|x86-*|aarch64-*|x86_64-*|xps100-*|xscale-*|xscalee[bl]-*
b.修改Makefile
vim Makefile
修改生成mbuffer部分的腳本,在./configure后面加參數(shù)--host=aarch64--build=aarch64,修改后內(nèi)容如下:
mbuffer: cd$(MBUFFER_DIR);./configure--prefix=$(shell pwd)--host=aarch64--build=aarch64