華為云計算 云知識 SpeedSeq是什么
SpeedSeq是什么

簡介

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