鲲鹏云服务器移植SpeedSeq

举报
姮柏芃 发表于 2020/06/05 18:22:54 2020/06/05
【摘要】 Speedseq是一个快速基因组分析和注释的灵活框架,发表在Nature Method(http://www.nature.com/nmeth/journal/vaop/ncurrent/full/nmeth.3505.html)上封装了大量基因组分析的软件,比如比对软件BWA,calling SNP软件freebays,SV鉴定软件lumpy等。

简要介绍

Speedseq是一个快速基因组分析和注释的灵活框架,发表在Nature Method(http://www.nature.com/nmeth/journal/vaop/ncurrent/full/nmeth.3505.html)上封装了大量基因组分析的软件,比如比对软件BWA,calling SNP软件freebays,SV鉴定软件lumpy等。

开发语言:C

一句话描述:快速基因组分析和解析的框架

开源协议:MIT

建议的版本

根据实际需要选择版本,本文档以“speedseq 最新版”为例进行说明。

环境要求

云服务器要求

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

表1 云服务器配置

项目

说明

规格

kc1.large.2 | 4vCPUs | 8GB

磁盘

系统盘:高IO(40GB)


操作系统要求

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

表1 操作系统要求

项目

说明

下载地址

CentOS

7.6

在公共镜像中已提供。

Kernel

4.14.0-115

在公共镜像中已提供。


配置编译环境

  1. 安装相关依赖

    yum install -y gcc gcc-c++ make cmake python2 python2-numpy scipy gawk zlib zlib-devel bzip2-devel xz-devel ncurses-devel

  2. 安装HTSlib

  3. 安装cython

    pip install cython

  4. 安装pysam

    pip install cython

    pip install pysam

获取源码

获取“speedseq最新版”源码包。

cd /usr/local/src

git clone --recursive https://github.com/hall-lab/speedseq.git

编译和安装

  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

   4.编译speedseq

         make -j4

   5.生成的speedseq工具加入环境变量

          编辑/etc/profile

         vim /etc/profile

         在文件末尾加入如下内容:

    export PATH="$PATH:/usr/local/src/speedseq/bin"

          按Esc,输入wq!退出

          环境变量生效

          source  /etc/profile

运行和验证。

执行如下命令,查看speedseq版本。

speedseq

回显信息如下,则表示speedseq安装成功。



故障排除

问题一:编译报“configure: error: cannot guess build type; you must specify one”等错误

问题描述

执行make,报“configure: error: cannot guess build type; you must specify one”错误。

问题原因

通过截图看出,进入src/mbuffer,执行./configure --prefix=/usr/local/src/speedseq步骤时候,不能匹配到机器类型。

解决方法

通过修改配置“config.sub”后,指定配置类型进行解决。

  1. 修改配置文件。

    cd /usr/local/src/speedseq

    vi ./src/mbuffer/config.sub

    查找“x86”内容的位置,在其位置后面增加“aarch64”类型。

    在“case $basic_machine in”区域的两个位置修改。

    1. 修改下述内容。

      | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \

      修改后为:

      | x86 | aarch64 | xscale | xscalee[bl] | xstormy16 | xtensa \
    2. 修改下述内容。

      | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \

      修改后为:

      | x86-* | aarch64-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
  2. 修改Makefile

    vim Makefile

    修改生成mbuffer部分的脚本,在./configure后面加参数--host=aarch64 --build=aarch64,修改后内容如下:


    


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。