简介
smartdenovo是一个同时适用于pacbio和nanopore测序数据的denovo组装软件,它是一款基于C语言开发的 开源 软件。相较于其他组装软件(如:canu、falcon),smartdenovo组装可从raw reads开始,不需要经过error correction纠错过程。经初步组装后,smartdenovo还提供了工具对初始组装的contig进行polish,生成consensus,也可以使用其他consensus polish工具来纠错。
配置流程
1、配置编译环境
安装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上指令优化用的是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编译参数。
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所生成的可执行文件。
ll/usr/local/bin/|grep wt
回显内容如下,表示测试结果正常。
[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