文档首页 > > 移植指南> 移植Wtdbg2

移植Wtdbg2

分享
更新时间:2020/08/06 GMT+08:00

介绍

简要介绍

Wtdbg2是一个三代测序数据(同时适用于pacbio和nanopore)denovo组装软件,它是一款基于C语言开发的开源软件。相较于其他三代数据组装软件(Canu,smartdenovo,miniasm,FALCON,FALCON-unzip),优点如下:

  • 安装简单(反例FALCON,安装过程非常复杂)
  • 使用简单,可用“run_wtdbg_assembly.sh”脚本生成运行脚本
  • 内存及存储占用少

语言:C/C++

一句话描述:三代基因测序组装软件

开源协议:GPL 3.0

建议的版本

建议通过git下载最新版本。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表1所示。

表1 云服务器配置

项目

说明

规格

kc1.large.2 | 2vCPUs | 4GB

磁盘

系统盘:高IO(40GB)

操作系统要求

操作系统要求如表2所示。

表2 操作系统要求

项目

说明

下载地址

CentOS

7.6

在公共镜像中已提供。

Kernel

4.14.0-115

在公共镜像中已提供。

配置编译环境

安装wget工具。

yum install wget -y

获取源码

获取“wtdbg2”源码包。

cd /usr/local/src

git clone https://github.com/ruanjue/wtdbg2

编译和安装

  1. 下载“sse2neon.h”文件。

    由于在X86上指令优化用的是SSE,在鲲鹏下使用是neon,因此下载neon指令对应的头文件“sse2neon.h”,使用此头文件替换SSE指令对应的头文件“emmintrin.h”

    cd /usr/local/src/

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

  2. 修改Wtdbg2编译参数。

    “Makefile”中通过编译选项配置支持SSE3,但是ARM版本的gcc无法识别X86平台的编译选项,因此需要删除“Makefile”中的“-mpopcnt -mssse3”这部分编译选项,并同时在“CFLAGS”增加“-march=armv8-a”“GENERIC_SRC”中增加“sse2neon.h”

    cd /usr/local/src/wtdbg2/

    vi Makefile

    修改如图1所示,修改完成后,保存退出。

    图1 修改“Makefile”文件

  3. 修改“ksw.c”程序中引用的头文件。

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

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

    图2 注释“ksw.c”的无用代码

  4. 修改“poacns.h”程序中引用的头文件,并删除无用代码。

    vi poacns.h

    “#include <emmintrin.h>”“#include <tmmintrin.h>”注释掉,并且增加“#include "sse2neon.h"”,如下所示。
      //#include <emmintrin.h>
       #include "sse2neon.h"
      //#include <tmmintrin.h>

    将如下所示的代码注释掉,如图3所示,并保存退出。

    图3 注释“poacns.h”的无用代码

  5. 编译wtdbg2。

    cd /usr/local/src/wtdbg2

    make && make install

运行和验证

查看wtdbg2 的版本信息。

wtdbg2 --version

回显内容如下,表示安装成功。

[root@ecs-scale-x wtdbg2]# wtdbg2 --version
wtdbg2 2.5
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问