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

簡介

smartdenovo是一個同時適用于pacbio和nanopore測序數(shù)據(jù)的denovo組裝軟件,它是一款基于C語言開發(fā)的開源軟件。相較于其他組裝軟件(如:canu、falcon),smartdenovo組裝可從raw reads開始,不需要經(jīng)過error correction糾錯過程。經(jīng)初步組裝后,smartdenovo還提供了工具對初始組裝的contig進行polish,生成consensus,也可以使用其他consensus polish工具來糾錯。

配置流程

1、配置編譯環(huán)境

安裝wget工具。

yum install wget-y

2、獲取源碼

獲取“smartdenovo”源碼包。

cd/usr/local/src
git clone https://github.com/ruanjue/smartdenovo.git

3、編譯和安裝

1)進入smartdenovo的文件目錄。

cd/usr/local/src/

2)下載文件。

由于在X86上指令優(yōu)化用的是SSE,在鯤鵬下使用是neon,因此下載“sse2neon.h”,使用此頭文件替換sse。

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./smartdenovo/

3)修改smartdenovo編譯參數(shù)。

Makefile中通過編譯選項配置支持SSE3,但是ARM版本的gcc無法識別X86平臺的編譯選項,因此需要刪除Makefile中的-mpopcnt-mssse3這部分編譯選項,并同時在CFLAGS增加-march=armv8-a,GENERIC_SRC中增加“sse2neon.h”,并下載“sse2neon.h”放入目錄中。

cd/usr/local/src/smartdenovo/
vi Makefile

更改為如下所示:“CFLAGS”增加“-march=armv8-a”,“GENERIC_SRC”增加“sse2neon.h”,如圖1-1編譯和安裝所示。更改完成后,保存退出。

圖1-1修改Makefile

4)修改“ksw.c”程序中替換引用的頭文件。

vi/usr/local/src/smartdenovo/ksw.c

如圖5-2所示,注釋掉“#include<emmintrin.h>”,增加“#include"sse2neon.h"”,修改完成后,保存退出。

圖1-2修改“ksw.c”

5)編譯smartdenovo。

cd/usr/local/src/smartdenovo
make&&make install

4、運行和驗證

查看編譯smartdenovo所生成的可執(zhí)行文件。

ll/usr/local/bin/|grep wt

回顯內(nèi)容如下,表示測試結(jié)果正常。

[root ecs-smartdenovo-x bin]#ll/usr/local/bin/|grep wt
-rwxr-xr-x 1 root root 75464 Aug 26 17:02 wtclp
-rwxr-xr-x 1 root root 143168 Aug 26 17:02 wtcns
-rwxr-xr-x 1 root root 75264 Aug 26 17:02 wtcyc
-rwxr-xr-x 1 root root 76288 Aug 26 17:02 wtext
-rwxr-xr-x 1 root root 144696 Aug 26 17:02 wtgbo
-rwxr-xr-x 1 root root 146664 Aug 26 17:02 wtlay
-rwxr-xr-x 1 root root 74128 Aug 26 17:02 wtmer
-rwxr-xr-x 1 root root 143112 Aug 26 17:02 wtmsa
-rwxr-xr-x 1 root root 75536 Aug 26 17:02 wtobt
-rwxr-xr-x 1 root root 73976 Aug 26 17:02 wtpre
-rwxr-xr-x 1 root root 210128 Aug 26 17:02 wtzmo