簡介
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