移植指南

Similar documents
PowerPoint 演示文稿

Microsoft Word - 在VMWare-5.5+RedHat-9下建立本机QTopia-2.1.1虚拟平台a.doc

Microsoft Word - linux命令及建议.doc

Linux服务器构建与运维管理

Hadoop 2.2.0安装和配置lzo

A9RF716.tmp

六域链联盟 SDChain-Matrix 节点搭建指南 2018/07/26 Version : 1.0.0

ebook70-5

. Outline 编译 Linux 在 QEMU 模拟器上运行制作带 grub 启动的磁盘映像...1 编译 Linux 在 QEMU 模拟器上运行...2 制作带 grub 启动的磁盘映像

網路安全:理論與實務 第二版

投影片 1

untitled

像 客 样 使 命令行 徐 东

华恒家庭网关方案

02

Eclipse C C++, or

一 Grass 是 什 么 1 简 介 GRASS (Geographic Resources Analysis Support System, 地 理 资 源 分 析 支 持 系 统 ) 是 最 负 盛 名 的 开 源 地 理 信 息 系 统 (GIS) 以 下 是 它 的 一 些 特 点 : 1

epub 63-3

Abstract arm linux tool-chain root NET-Start! 2

ebook8-30

API参考

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

lect03.ppt

Cygwin Cygwin windows Linux Cygwin.dll Windows Linux API Linux Windows Linux 2

Microsoft Word - 第5章.doc

Linux Ubuntu Part Linux Ubuntu Linux UNIX...19 Linux...19 Linux Linux...21 Linux GNU FSF Open So urce.

epub83-1

针对生物信息学分析的 Linux系统操作培训

untitled

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

ebook140-8

嵌入式系统实验报告之一

第 3 章 LAMP 的 基 本 安 装 与 配 置 3 LAMP 的 基 本 安 装 与 配 置 知 识 点 Apache 的 安 装 与 配 置 MySQL 的 安 装 与 配 置 PHP 的 安 装 与 配 置 LAMP 是 Linux + Apache + MySQL + PHP 的 首 字

untitled

RKNN-Toolkit ARM 平台快速上手指南 V1.1.0

2 2 3 DLight CPU I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AM

目录 1 编译 HADOOOP 搭建环境 安装并设置 maven 以 root 用户使用 yum 安装 svn 以 root 用户使用 yum 安装 autoconf automake libtool cmake..

第 1 页共 9 页 文档履历 版本号日期制 / 修订人内容描述 V 正式版本

Windows 2000 Server for T100

CC213

Microsoft Word - PS2_linux_guide_cn.doc

本文由筱驀釹贡献

untitled

软件测试(TA07)第一学期考试

W. Richard Stevens UNIX Sockets API echo Sockets TCP OOB IO C struct C/C++ UNIX fork() select(2)/poll(2)/epoll(4) IO IO CPU 100% libevent UNIX CPU IO

2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A. Sun Sun Berkeley BSD University of California UNIX X/Open Company, Ltd.

ebook15-C

ROOT in PKU 2016

Openmoko

C/C++ - 函数

一步一步教你使用NCBI

软件自由法律中心 GPL 软件许可证合规指导

2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A. Sun Sun Berkeley BSD UNIX X/Open Company, Ltd. / SunSun MicrosystemsSun

1 LINUX IDE Emacs gcc gdb Emacs + gcc + gdb IDE Emacs IDE C Emacs Emacs IDE ICE Integrated Computing Environment Emacs Unix Linux Emacs Emacs Emacs Un

Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE "Project Properties" IDE makefile 1.

Some experiences in working with Madagascar: installa7on & development Tengfei Wang, Peng Zou Tongji university

lammps 在 AIX6.1 系统上的安装 中国科学技术大学超级运算中心张运动 2012 年 9 月 Lammps 软件官网 : 网上对于 lammps 软件在 windows Linux 系统上的安装已

特别提示 : 徆多网友把这两条规则添加到防火墙配置的最后一行, 导致防火墙启劢失败, 正确的应该是添加到默认的 22 端口这条规则的下面 添加好之后防火墙规则如下所示 : ######################################################### # Fire

资源管理软件TORQUE与作业调度软件Maui的安装、设置及使用

EK-STM32F

Microsoft Word - S3c6410移植过程.doc

ICD ICD ICD ICD ICD

linux_for_campus

Microsoft Word zw

ebook70-14

LAMP system and relative tools like SNMP, Expect, Nmap, etc. to build a cross- platform, lo

目录 1 简介 1 2 配置前提 1 3 配置环境 服务器 软件 1 4 配置指导 组网拓扑 操作步骤 Red Hat Enterprise Linux Server Red Hat Enterprise Lin

Guide to Install SATA Hard Disks

AL-MX200 Series

ebook35-2

# Checks for libraries. # Checks for header files. AC_CHECK_HEADERS([fcntl.h]) # Checks for typedefs, structures, and compiler characteristics. AC_HEA

投影片 1

投影片 1

Linux 操作系统课程社区创作

スライド 1

ABOUT ME AGENDA 唐建法 / TJ MongoDB 高级方案架构师 MongoDB 中文社区联合发起人 Spark 介绍 Spark 和 MongoDB 案例演示

Microsoft Word - 新正文.doc

NEXT SDT2.51 C:\ARM251 SDT2.51 ARM SDT 2.51 ARM PROJECT MANAGER SDT 2

A Preliminary Implementation of Linux Kernel Virus and Process Hiding

Node.js LinkedIn Yahoo! Netflix JavaScript JavaScript Node.js Node.js JavaScript JavaScript Node.js Ruby C++ Java PHP JavaScript Node.js Node PHP Apac

安装 nginx 添加 nginx 源 命令 :rpm -ivh gx.noarch.rpm 安装 nginx 命令 :yum install

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

投影片 1

1

Windows 2000 Server for T100

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

安装 Nginx 命令 :yum install -y nginx 接着将 Nginx 设置为开机启动, 输入命令 :chkconfig nginx on Web 默认根目录为 :/usr/share/nginx/html/ 开放 80 端口 :iptables -I INPUT -p tcp --

ebook140-9

SDK参考

Oracle Oracle Solaris Studio IDE makefile C C++ Fortran makefile IDE Solaris Linux C/C++/Fortran Oracle IDE "P

开源软件DSpace的安装和维护(清华_邹荣).ppt

Pchome

快 速 入 门 (Linux) 概 述 文 档 目 的 本 文 档 介 绍 了 如 何 快 速 创 建 Linux 系 统 实 例 远 程 连 接 实 例 部 署 环 境 等 旨 在 引 导 您 一 站 式 完 成 实 例 的 创 建 登 录 和 快 速 环 境 部 署 云 服 务 器 ECS 实

ebook70-22

2 以 事 先 備 妥 之 白 塑 膠 繩 勒 A 女 頸 部 之 強 暴 方 式 取 財 行 為 林 國 政 之 自 白 宣 稱 用 以 勒 昏 A 女 之 塑 膠 繩 是 原 本 在 車 上 的, 其 並 無 強 盜 之 故 意 與 行 為 經 遭 竊 機 車 所 有 人 具 結 證 言, 置

x 前言 Python Python ETL extract transform load Python Python / Python Python Python

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明

第零章、為何要學作業系統

Outline 制作带 grub 启动的磁盘映像 利用 qemu+gdb 来调试 linux

Transcription:

鲲鹏软件栈高性能计算 移植指南 文档版本 03 发布日期 2020-06-18 华为技术有限公司

版权所有 华为技术有限公司 2020 保留一切权利 非经本公司书面许可, 任何单位和个人不得擅自摘抄 复制本文档内容的部分或全部, 并不得以任何形式传播 商标声明 和其他华为商标均为华为技术有限公司的商标 本文档提及的其他所有商标或注册商标, 由各自的所有人拥有 注意 您购买的产品 服务或特性等应受华为公司商业合同和条款的约束, 本文档中描述的全部或部分产品 服务或特性可能不在您的购买或使用范围之内 除非合同另有约定, 华为公司对本文档内容不做任何明示或默示的声明或保证 由于产品版本升级或其他原因, 本文档内容会不定期进行更新 除非另有约定, 本文档仅作为使用指导, 本文档中的所有陈述 信息和建议不构成任何明示或暗示的担保 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 i

目录 目录 1 移植 smartdenovo... 1 2 移植 Miniasm...5 3 移植 Minimap2...7 4 移植 racon... 9 5 移植 Wtdbg2... 14 6 移植 SAMtools...18 7 移植 bedtools... 20 8 移植 VCFtools... 24 9 移植 Picard... 27 10 移植 VarScan2... 29 11 移植 Strelka2...31 12 移植 Control-FREEC... 34 13 移植 Delly...37 13.1 移植指导... 37 13.2 故障排除... 39 14 移植 SnpEff... 40 15 移植 SpeedSeq... 42 15.1 移植指导... 42 15.2 故障排除... 45 16 移植 StringTie... 46 17 移植 Bowtie... 48 18 移植 RSEM...52 19 移植 randfold... 55 20 移植 MISO... 57 21 移植 STAR-Fusion... 59 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 ii

目录 22 移植 ballgown...62 23 移植 Oases... 65 24 移植 Subread... 67 25 移植 HTSlib... 70 26 移植 SeqTK...73 27 移植 topgo... 75 A 修订记录... 78 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 iii

1 移植 smartdenovo 1 移植 smartdenovo 介绍 简要介绍 smartdenovo 是一个同时适用于 pacbio 和 nanopore 测序数据的 denovo 组装软件, 它是一款基于 C 语言开发的开源软件 相较于其他组装软件 ( 如 :canu falcon), smartdenovo 组装可从 raw reads 开始, 不需要经过 error correction 纠错过程 经初步组装后,smartdenovo 还提供了工具对初始组装的 contig 进行 polish, 生成 consensus, 也可以使用其他 consensus polish 工具来纠错 语言 :C/C++ 一句话描述 : 三代基因测序组装软件 建议的版本 建议通过 git 下载最新版本 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 1-1 所示 表 1-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 2vCPUs 4GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表 1-2 所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 1

1 移植 smartdenovo 表 1-2 操作系统要求项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 安装 wget 工具 yum install wget -y 获取源码 获取 smartdenovo 源码包 cd /usr/local/src git clone https://github.com/ruanjue/smartdenovo.git 编译和安装 步骤 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 所示 更改完成后, 保存退出 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 2

1 移植 smartdenovo 图 1-1 修改 Makefile 步骤 4 修改 ksw.c 程序中替换引用的头文件 vi /usr/local/src/smartdenovo/ksw.c 如图 1-2 所示, 注释掉 #include <emmintrin.h>, 增加 #include "sse2neon.h", 修改完成后, 保存退出 图 1-2 修改 ksw.c 运行和验证 步骤 5 编译 smartdenovo cd /usr/local/src/smartdenovo make && make install ---- 结束 查看编译 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 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 3

1 移植 smartdenovo -rwxr-xr-x 1 root root 73976 Aug 26 17:02 wtpre -rwxr-xr-x 1 root root 210128 Aug 26 17:02 wtzmo 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 4

2 移植 Miniasm 2 移植 Miniasm 介绍 简要介绍 Miniasm 是由李恒开发, 适合于小基因组及重复序列比例低的基因组组装, 相对于 Canu 和 Falcon 软件,Miniasm 组装速度非常快 语言 :C/C++ 一句话描述 : 三代基因测序组装软件 开源协议 : MIT 建议的版本 建议通过 git 下载最新版本 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 2-1 所示 表 2-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 2vCPUs 4GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表 2-2 所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 5

2 移植 Miniasm 表 2-2 操作系统要求项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 步骤 1 安装 wget 工具 yum install wget -y 步骤 2 安装 miniasm 依赖库和工具 yum install -y git gcc-c++ zlib* -y ---- 结束 获取源码 获取 miniasm 源码包 cd /usr/local/src git clone https://github.com/lh3/miniasm 编译和安装 编译 miniasm cd /usr/local/src/miniasm make 运行和验证 查看 miniasm 的版本信息 cd /usr/local/src/miniasm./miniasm -V 回显内容如下, 表示安装成功 0.3-r179 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 6

3 移植 Minimap2 3 移植 Minimap2 介绍 简要介绍 Minimap2 是一种多功能序列比对程序, 可将 DNA 或 mrna 序列与大型参考数据库对齐 语言 :C/C++ 一句话描述 : 多功能序列比对程序 开源协议 :MIT 建议的版本 建议通过 git 下载最新版本 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 3-1 所示 表 3-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 2vCPUs 4GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表 3-2 所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 7

3 移植 Minimap2 表 3-2 操作系统要求项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 步骤 1 安装 wget 工具 yum install wget -y 步骤 2 安装 Minimap2 依赖库和工具 yum install -y git gcc-c++ zlib -y ---- 结束 获取源码 获取 minimap2 源码包 cd /usr/local/src git clone https://github.com/lh3/minimap2 编译和安装 编译 Minimap2 由于鲲鹏是兼容 ARM v8 64 位指令集, 因此编译方式如下 : cd minimap2/ make arm_neon=1 aarch64=1 运行和验证 查看 minimap2 的版本信息 cd /usr/local/src/minimap2./minimap2 --v 回显内容如下, 表示编译正常 2.17-r954-dirty 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 8

4 移植 racon 4 移植 racon 介绍 简要介绍 racon 是一款在 Github 上发布的 C++ 开源软件, 用于对一些不产生 consensus 的快速组装软件组装得到的原始 contig 序列的纠错, 生成基因组一致性序列, 同时支持 Pacbio 和 Oxford Nanopore 测序数据 racon 共计 12 个 release 版本, 最新版本为 1.3.2, 可通过 git clone master 分支代码下载 编译 racon 软件需要的依赖 gcc 4.8+ 和 cmake 3.2+ racon 软件使用了 SSE 指令及 spoa 组件, 代码里使用了 x86 的 avx256 指令,ARM 架构服务器不支持 SSE 指令, 需要用 ARM 的 neon 头文件进行 neon 矢量化指令进行替换, 但经测算, 替换指令后软件性能降低非常大, 因此 ARM 上编译时, 需要进行优化 语言 :C/C++ 一句话描述 : 三代基因测序纠错软件 开源协议 :MIT 建议的版本 建议通过 git 下载最新版本 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 4-1 所示 表 4-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 2vCPUs 4GB 系统盘 : 高 IO(40GB) 操作系统要求 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 9

4 移植 racon 操作系统要求如表 4-2 所示 表 4-2 操作系统要求 项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 安装 wget 和 cmake 工具 yum install cmake3 wget -y 获取源码 获取 racon 源码包 cd /usr/local/src git clone --recursive https://github.com/isovic/racon.git racon 编译和安装 步骤 1 进入 racon 的文件目录 cd /usr/local/src/racon 步骤 2 修改 racon 编译参数 Centos7.6 中默认使用的 gcc-4.8.5 不支持通过 -march=native 的配置, 来自动识别 CPU 类型和指令集, 需要修改为 -march=armv8-a 1. 修改当前目录下的 CMakeLists.txt vi CMakeLists.txt 修改下述内容 : set(cmake_cxx_flags "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic") 修改后为 : set(cmake_cxx_flags "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -march=armv8-a") 如图 4-1 所示, 保存并退出 图 4-1 修改当前目录下的 CMakeLists.txt 2. 修改 spoa 目录下的 CMakeLists.txt vi./vendor/spoa/cmakelists.txt 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 10

4 移植 racon 修改下述内容 : set(cmake_cxx_flags "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -march=native") 修改后为 : set(cmake_cxx_flags "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -march=armv8-a") 如图 4-2 所示, 保存并退出 图 4-2 修改 spoa 目录下的 CMakeLists.txt 3. 修改 thread_pool 目录下的 CMakeLists.txt vi./vendor/thread_pool/cmakelists.txt 修改下述内容 : set(cmake_cxx_flags "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -march=native") 修改后为 : set(cmake_cxx_flags "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -march=armv8-a") 如图 4-3 所示, 保存并退出 图 4-3 修改 thread_pool 目录下的 CMakeLists.txt 步骤 3 优化 racon 源码 1. 将./src/main.cpp 下的 int32_t argument; 改为 int argument; vi./src/main.cpp 修改如图 4-4 所示, 修改完成后, 保存退出 图 4-4 修改./src 目录下的 main.cpp 2. 将./vendor/rampler/src/main.cpp 下的 char argument; 改为 int argument; vi./vendor/rampler/src/main.cpp 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 11

4 移植 racon 修改如图 4-5 所示, 修改完成后, 保存退出 图 4-5 修改./vendor/rampler/src/ 目录下的 main.cpp 3. 将./vendor/spoa/src/main.cpp 下的 char opt; 改为 int opt; vi./vendor/spoa/src/main.cpp 修改如图 4-6 所示, 修改完成后, 保存退出 图 4-6 修改./vendor/spoa/src/ 目录下的 main.cpp 步骤 4 添加关于 aarch64 的宏定义 cd /usr/local/src/racon sed -i 's/#if defined( AVX2 ) defined( SSE4_1 )$/#if defined( AVX2 ) defined( SSE4_1 ) defined( aarch64 )/'./vendor/spoa/src/ simd_alignment_engine.cpp sed -i 's/#elif defined( SSE4_1 )$/#elif defined( SSE4_1 ) defined( aarch64 )/'./vendor/spoa/src/simd_alignment_engine.cpp 步骤 5 下载 sse2neon.h, 使用此头文件替换 sse 由于在 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./vendor/spoa/src/ 步骤 6 引入 sse2neon.h 头文件 修改./vendor/spoa/src/simd_alignment_engine.cpp 源码, 引入 sse2neon.h 头文件 vi./vendor/spoa/src/simd_alignment_engine.cpp 修改如图 4-7 所示, 修改完成后, 保存退出 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 12

4 移植 racon 图 4-7 修改./vendor/spoa/src/ 目录下的 simd_alignment_engine.cpp 运行和验证 步骤 7 编译 racon cd /usr/local/src/racon mkdir build cd build cmake3 -DCMAKE_BUILD_TYPE=Release.. make && make install ---- 结束 测试 racon racon --version 回显内容如下, 表示安装正常 v1.4.3 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 13

5 移植 Wtdbg2 5 移植 Wtdbg2 介绍 简要介绍 Wtdbg2 是一个三代测序数据 ( 同时适用于 pacbio 和 nanopore)denovo 组装软件, 它是一款基于 C 语言开发的开源软件 相较于其他三代数据组装软件 (Canu, smartdenovo,miniasm,falcon,falcon-unzip), 优点如下 : 安装简单 ( 反例 FALCON, 安装过程非常复杂 ) 使用简单, 可用 run_wtdbg_assembly.sh 脚本生成运行脚本 内存及存储占用少 语言 :C/C++ 一句话描述 : 三代基因测序组装软件 开源协议 :GPL 3.0 建议的版本 建议通过 git 下载最新版本 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 5-1 所示 表 5-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 2vCPUs 4GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表 5-2 所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 14

5 移植 Wtdbg2 表 5-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 步骤 2 下载 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/ 修改 Wtdbg2 编译参数 Makefile 中通过编译选项配置支持 SSE3, 但是 ARM 版本的 gcc 无法识别 X86 平台的编译选项, 因此需要删除 Makefile 中的 -mpopcnt -mssse3 这部分编译选项, 并同时在 CFLAGS 增加 -march=armv8-a, GENERIC_SRC 中增加 sse2neon.h cd /usr/local/src/wtdbg2/ vi Makefile 修改如图 5-1 所示, 修改完成后, 保存退出 图 5-1 修改 Makefile 文件 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 15

5 移植 Wtdbg2 步骤 3 修改 ksw.c 程序中引用的头文件 vi /usr/local/src/wtdbg2/ksw.c 如图 5-2 所示, 注释掉 #include <emmintrin.h>, 增加 #include "sse2neon.h", 修改完成后, 保存退出 图 5-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> 将如下所示的代码注释掉, 如图 5-3 所示, 并保存退出 图 5-3 注释 poacns.h 的无用代码 运行和验证 步骤 5 编译 wtdbg2 cd /usr/local/src/wtdbg2 make && make install ---- 结束 查看 wtdbg2 的版本信息 wtdbg2 --version 回显内容如下, 表示安装成功 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 16

5 移植 Wtdbg2 [root@ecs-scale-x wtdbg2]# wtdbg2 --version wtdbg2 2.5 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 17

6 移植 SAMtools 6 移植 SAMtools 介绍 简要介绍 SAMtools 是一组实用程序, 用于与 Heng Li 编写的 SAM,BAM 和 CRAM 格式的短 DNA 序列读取比对进行交互并进行后处理 这些文件是由短读取对齐器 ( 如 BWA) 作为输出生成的 提供了简单和高级工具, 支持复杂任务, 例如变体调用和对齐查看以及分类, 索引, 数据提取和格式转换 开发语言 :C 一句话描述 : 操作 SAM 和 BAM 文件的工具集合 开源协议 :MIT/Exoat License 建议的版本 根据实际需要选择版本, 本文档以 SAMtools-1.10 为例进行说明 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 6-1 所示 表 6-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 4vCPUs 8GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表 6-2 所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 18

6 移植 SAMtools 表 6-2 操作系统要求项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 安装相关依赖 yum install -y bzip2 bzip2-devel ncurses ncurses-devel xz xz-devel libcurl libcurl-devel zlib zlib-devel 获取源码 获取 samtools-1.10 源码包 cd /usr/local/src wget https://github.com/samtools/samtools/releases/download/1.10/ samtools-1.10.tar.bz2 编译和安装 步骤 1 解压并进入源码包 cd /usr/local/src/ tar -jxvf samtools-1.10.tar.bz2 && cd samtools-1.10 步骤 2 配置生成 Makefile./configure 步骤 3 编译 SAMtools make -j4 && make install ---- 结束 运行和验证 查看 SAMtools 版本信息 samtools --version 当系统回显类似如下信息时, 表示 SAMtools 安装成功 samtools 1.10 Using htslib 1.10 Copyright (c) 2019 Genome Research Ltd. 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 19

7 移植 bedtools 7 移植 bedtools 介绍 简要介绍 bedtools 实用程序是用于处理基因组信息分析的强大工具集合 例如,bedtools 允许人们以广泛使用的基因组文件格式 ( 例如 BAM,BED,GFF / GTF,VCF) 与多个文件中的基因组间隔相交, 合并, 计数, 互补和混洗 虽然每个工具都设计为执行相对简单的任务 ( 例如, 将两个间隔文件相交 ), 但可以通过在 UNIX 命令行上组合多个 bedtools 操作来进行相当复杂的分析 开发语言 :C/C++ 一句话描述 : 处理基因组信息分析的强大工具集合 开源协议 :GNU 建议的版本 根据实际需要选择版本, 本文档以 bedtools-2.28.0 为例进行说明 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 7-1 所示 表 7-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 2vCPUs 4GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表 7-2 所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 20

7 移植 bedtools 表 7-2 操作系统要求项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 安装相关依赖 yum install zlib-devel bzip2-devel xz-devel -y 获取源码 获取 bedtools-2.28.0 源码包 cd /usr/local wget https://github.com/arq5x/bedtools2/releases/download/v2.28.0/ bedtools-2.28.0.tar.gz 编译和安装 步骤 1 解压并进入源码目录 tar -zxvf bedtools-2.28.0.tar.gz cd bedtools2 步骤 2 编译 make -j4 步骤 3 建立软链接 ln -s /usr/local/bedtools2/bin/bedtools /usr/bin/bedtools ---- 结束 运行和验证 步骤 1 获取测试数据 mkdir ~/lec28 cd ~/lec28 curl -O https://s3.amazonaws.com/bedtools-tutorials/web/maurano.dnasei.tgz curl -O https://s3.amazonaws.com/bedtools-tutorials/web/cpg.bed curl -O https://s3.amazonaws.com/bedtools-tutorials/web/exons.bed curl -O https://s3.amazonaws.com/bedtools-tutorials/web/gwas.bed curl -O https://s3.amazonaws.com/bedtools-tutorials/web/genome.txt 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 21

7 移植 bedtools curl -O https://s3.amazonaws.com/bedtools-tutorials/web/ hesc.chromhmm.bed tar -zxvf maurano.dnasei.tgz rm -f maurano.dnasei.tgz 数据显示如下 : [root@ecs lec28]# ls cpg.bed flung_l- DS17154.hg19.hotspot.twopass.fdr0.05.merge.bed exons.bed flung_l- DS18421.hg19.hotspot.twopass.fdr0.05.merge.bed fbrain-ds14718.hotspot.twopass.fdr0.05.merge.bed flung_r- DS15632.hotspot.twopass.fdr0.05.merge.bed fbrain-ds16302.hotspot.twopass.fdr0.05.merge.bed fmuscle_arm- DS19053.hg19.hotspot.twopass.fdr0.05.merge.bed fheart-ds15643.hotspot.twopass.fdr0.05.merge.bed fmuscle_back- DS18454.hg19.hotspot.twopass.fdr0.05.merge.bed fheart-ds15839.hotspot.twopass.fdr0.05.merge.bed fmuscle_leg- DS19115.hg19.hotspot.twopass.fdr0.05.merge.bed fheart-ds16621.hotspot.twopass.fdr0.05.merge.bed fmuscle_leg- DS19158.hg19.hotspot.twopass.fdr0.05.merge.bed fintestine_sm-ds16559.hotspot.twopass.fdr0.05.merge.bed fskin_fibro_bicep_r- DS19745.hg19.hotspot.twopass.fdr0.05.merge.bed fintestine_sm-ds16712.hg19.hotspot.twopass.fdr0.05.merge.bed fstomach- DS17659.hg19.hotspot.twopass.fdr0.05.merge.bed fintestine_sm-ds16822.hotspot.twopass.fdr0.05.merge.bed genome.txt fintestine_sm-ds17808.hg19.hotspot.twopass.fdr0.05.merge.bed gwas.bed fintestine_sm-ds18495.hg19.hotspot.twopass.fdr0.05.merge.bed hesc.chromhmm.bed fkidney_renal_cortex_l-ds17550.hg19.hotspot.twopass.fdr0.05.merge.bed 这些文件内容是胎儿的组织样品, 包括脑 心脏 肠道 肾脏 肺 肌肉 皮肤以及胃, 其中 : cpg.bed: 人类基因组中的 CpG 岛 ; exons.bed: 人类基因的 RefSeq 外显子 ; gwas.bed: 在全基因组关联研究 (GWAS) 中鉴定的与人类疾病相关的 SNP 步骤 2 获取交集信息 比如, 找到 A 和 B 文件中重叠的部分 bedtools intersect -a cpg.bed -b exons.bed head -5 [root@ecs lec28]# bedtools intersect -a cpg.bed -b exons.bed head -5 chr1 29320 29370 CpG:_116 chr1 135124 135563 CpG:_30 chr1 327790 328229 CpG:_29 chr1 327790 328229 CpG:_29 chr1 327790 328229 CpG:_29 步骤 3 从注释文件中, 选取启动子 cat hesc.chromhmm.bed grep Promoter > promoters.bed cat promoters.bed head -5 [root@ecs lec28]# cat hesc.chromhmm.bed grep Promoter > promoters.bed [root@ecs lec28]# cat promoters.bed head -5 chr1 27737 28537 2_Weak_Promoter chr1 28537 30137 1_Active_Promoter chr1 30137 30337 2_Weak_Promoter chr1 30537 30737 3_Poised_Promoter chr1 713137 713337 2_Weak_Promoter 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 22

7 移植 bedtools 步骤 4 找到跟每个 exon 最近的启动子 bedtools closest -a exons.bed -b promoters.bed -d head -5 [root@ecs lec28]# bedtools closest -a exons.bed -b promoters.bed -d head -5 chr1 11873 12227 NR_046018_exon_0_0_chr1_11874_f 0 + chr1 27737 28537 2_Weak_Promoter 15511 chr1 12612 12721 NR_046018_exon_1_0_chr1_12613_f 0 + chr1 27737 28537 2_Weak_Promoter 15017 chr1 13220 14409 NR_046018_exon_2_0_chr1_13221_f 0 + chr1 27737 28537 2_Weak_Promoter 13329 chr1 14361 14829 NR_024540_exon_0_0_chr1_14362_f 0 - chr1 27737 28537 2_Weak_Promoter 12909 chr1 14969 15038 NR_024540_exon_1_0_chr1_14970_f 0 - chr1 27737 28537 2_Weak_Promoter 12700 ---- 结束 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 23

8 移植 VCFtools 8 移植 VCFtools 介绍 简要介绍 VCFtools 是一种可以对 VCF 文件和 BCF 文件进行格式转换及过滤的工具, 其中很多过滤及计算功能可以自己使用 perl 或者 python 编写脚本实现, 但都不如这个工具的运算速度快 开发语言 :C/C++ 一句话描述 : 一种可以对 VCF 文件和 BCF 文件进行格式转换及过滤的工具 开源协议 :LGPL v3 建议的版本 根据实际需要选择版本, 本文档以 vcftools-0.1.16 为例进行说明 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 8-1 所示 表 8-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 2vCPUs 4GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表 8-2 所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 24

8 移植 VCFtools 表 8-2 操作系统要求项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 安装相关依赖 yum install autoconf dh-autoreconf automake zlib-devel 获取源码 获取 vcftools-0.1.16 源码包 cd /usr/local/src wget https://github.com/vcftools/vcftools/archive/v0.1.16.tar.gz -O vcftools-0.1.16.tar.gz 编译和安装 步骤 1 解压并进入源码目录 tar -zxvf vcftools-0.1.16.tar.gz cd vcftools-0.1.16 步骤 2 生成 configure 文件./autogen.sh 步骤 3 配置生成 Makefile./configure prefix=/usr/local/vcftools 步骤 4 编译安装 make -j4 make install 步骤 5 配置环境 1. 修改环境变量 vim /etc/profile 在 /etc/profile 文件末尾增加下面代码 : export PATH=/usr/local/vcftools/bin:$PATH 2. 按 Ecs, 输入 wq! 保存后退出 3. 运行下面命令, 使修改的环境变量生效 source /etc/profile ---- 结束 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 25

8 移植 VCFtools 运行和验证 步骤 1 查看版本 查看 VCFtools 版本信息 vcftools --version 当系统回显类似如下信息是, 表示 VCFtools 安装成功 VCFtools (0.1.16) 步骤 2 测试数据 test 目录下有很多例子, 通过输入如下命令, 进行测试 cd /usr/local/src/vcftools-0.1.16/examples vcftools --vcf shuffle-test.vcf --missing-site --out ms 当系统回显类似如下信息是, 表示 VCFtools 能够正常使用 VCFtools (0.1.16) (C) Adam Autom and Anthony Marchetta 2009 Parameters as interpreted: --vcf shuffle-test.vcf --out ms --missing-site After filtering, kept 2 out of 2 Individuals Outputting Site Missingness After filtering, kept 6 out of a possible 6 Sites Run Time = 0.00 seconds ---- 结束 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 26

9 移植 Picard 9 移植 Picard 介绍 简要介绍一组 Java 命令行工具, 用于处理高通量排序 (HTS) 数据和格式 开发语言 :Java 一句话描述 :Java 命令行工具开源协议 :MIT 建议的版本根据实际需要选择版本, 本文档以 picard-2.23.0 为例进行说明 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 9-1 所示 表 9-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 4vCPUs 8GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表 9-2 所示 表 9-2 操作系统要求 项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 27

9 移植 Picard 项目说明下载地址 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 安装相关依赖 yum install -y git java-1.8.0-openjdk 获取源码 获取 picard-2.23.0 源码包 cd /usr/local/src git clone https://github.com/broadinstitute/picard.git 编译和安装 步骤 1 并进入 Picard 目录 运行和验证 cd picard 步骤 2 编译 Picard./gradlew shadowjar 编译完成后会在 build/libs 目录里面生成 picard.jar 文件 ---- 结束 执行以下命令行查看 Picard 所包含的所有工具以及对应的简介 java -jar build/lib/picard.jar -h 执行完毕后会回显类似如下信息 : USAGE: PicardCommandLine <program name> [-h] Available Programs: ------------------------------------------------------------------- Base Calling: Tools that process sequencing machine data, e.g. Illumina base calls,and detect... adapters CheckIlluminaDirectory Asserts the validity for specified Illumina basecalling data. CollectIlluminaBasecallingMetrics Collects Illumina Basecalling metrics for a sequencing run.... 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 28

10 移植 VarScan2 10 移植 VarScan2 介绍 简要介绍 VarScan2 是独立于平台的突变调用程序, 用于在 lllumina SILiD Life/PGM Roche/454 和类似仪器上生成的靶向, 外显子组和全基因组数据重测序 最新版 VarScan2 使用 Java 编写, 因此它可以在绝大多数平台运行 开发语言 :Java 一句话描述 : 突变调用程序 开源协议 :MIT 建议的版本 根据实际需要选择版本, 本文档以 VarScan2 v2.4.1 为例进行说明 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 10-1 所示 表 10-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 4vCPUs 8GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表 10-2 所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 29

10 移植 VarScan2 表 10-2 操作系统要求项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 安装相关依赖 yum install -y git java-1.8.0-openjdk 获取源码 获取 VarScan2 v2.4.1 源码包 cd /usr/local/src git clone https://github.com/dkoboldt/varscan.git 运行和验证 查看 jar 包执行参数 cd varscan java -jar VarScan.v2.4.1.jar 出现类似如下回显表示 VarScan2 可正常使用 VarScan v2.4 ***NON-COMMERCIAL VERSION*** USAGE: java -jar VarScan.jar [COMMAND] [OPTIONS] COMMANDS: pileup2snp Identify SNPs FROM a pileup file pileup2indel Identify indels a pileup file pileup2cns Call consensus and variants from a pileup file... 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 30

11 移植 Strelka2 11 移植 Strelka2 介绍 简要介绍 Strelka2 是一种快速, 准确的小变异体调用程序, 已用于分析小型队列的种系变异和肿瘤 / 正常样本对的体细胞变异 开发语言 :C++ 一句话描述 : 小变异体调用程序 开源协议 :GPL3.0 建议的版本 根据实际需要选择版本, 本文档以 Strelka2 v2.9.10 为例进行说明 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 11-1 所示 表 11-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 4vCPUs 8GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表 11-2 所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 31

11 移植 Strelka2 表 11-2 操作系统要求项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 步骤 1 安装相关依赖 获取源码 编译和安装 yum install -y wget tar bzip2 make libstdc++-static zlib-devel 步骤 2 安装 gcc8.3 请参见 https://support.huaweicloud.com/prtg-kunpengcpl/gcc_01_0001.html 安装 步骤 3 安装 boost1.69 1. 下载源码 wget https://dl.bintray.com/boostorg/release/1.69.0/source/ boost_1_69_0.tar.gz 2. 压缩并进入源码包 tar -zxvf boost_1_69_0.tar.gz cd boost_1_69_0 3. 编译并安装 boost./bootstrap.sh &&./b2 install -j4 4. 安装 boost.build ---- 结束 cd tools/build./bootstrap.sh &&./b2 install --prefix=/usr/local/boost 获取 Strelka2 v2.9.10 源码包 cd /usr/local/src wget https://github.com/illumina/strelka/releases/download/v2.9.10/ strelka-2.9.10.release_src.tar.bz2 步骤 1 解压并进入源码包 tar -jxvf strelka-2.9.10.release_src.tar.bz2 cd strelka-2.9.10.release_src 步骤 2 生成 makefile 文件 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 32

11 移植 Strelka2 运行和验证 mkdir build && cd build../configure --prefix=/usr/local/strelka2 步骤 3 编译安装 Strellka2 make -j4 && make install ---- 结束 步骤 1 执行测试用例 cd /usr/local/src/strelka-2.9.10.release_src/src/demo bash /usr/local/strelka2/bin/runstrelkagermlineworkflowdemo.bash 执行完毕后会在当前文件夹生成 strelkagermlinedemoanalysis 目录, 目录下有 runworkflow.py 文件 步骤 2 查看文件版本信息./strelkaGermlineDemoAnalysis/runWorkflow.py --version 出现如下回显, 表示 Strellka2 安装成功 2.9.10 ---- 结束 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 33

12 移植 Control-FREEC 12 移植 Control-FREEC 介绍 简要介绍 Control-FREEC 是使用居里研究所 ( 巴黎 ) 生物信息学实验室最初开发的深度测序数据检测拷贝数变化和等位基因失衡 ( 包括 LOH) 的工具 开发语言 :C/C++ 一句话描述 :CNV 变异检测工具 建议的版本 根据实际需要选择版本, 本文档以 FREEC-11.5 为例进行说明 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 12-1 所示 表 12-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 4vCPUs 8GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表 12-2 所示 表 12-2 操作系统要求 项目说明下载地址 CentOS 7.6 在公共镜像中已提供 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 34

12 移植 Control-FREEC 项目说明下载地址 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 安装相关依赖 yum install zlib-devel bzip2 bzip2-devel xz-devel -y 获取源码 获取 FREEC-11.5 源码包 cd /usr/local/src wget https://github.com/boevalab/freec/archive/v11.5.tar.gz -O FREEC-11.5.tar.gz 编译和安装 步骤 1 解压并进入源码目录 tar -zxvf FREEC-11.5.tar.gz cd FREEC-11.5 步骤 2 将 Makefile.freec 中内容 -m64 去掉 cd src sed -i 's/-m64/ /g' Makefile.freec 步骤 3 编译安装 make -j4 cp /usr/local/src/freec-11.5/src/freec /usr/bin/ ---- 结束 运行和验证 查看版本 freec 当系统回显类似如下信息是, 表示 Control-FREEC 安装成功 [root@ecs ~]# freec Control-FREEC V11.5 : a method for automatic detection of copy number alterations, subclones and for accurate estimation of contamination and main ploidy using deep-sequencing data Please specify a config file Usage: freec -conf <config file> 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 35

12 移植 Control-FREEC See config.txt for example 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 36

13 移植 Delly 13 移植 Delly 13.1 移植指导 介绍 环境要求 简要介绍 Delly 是一种集成的结构变异 (SV) 预测方法, 可以在短期读取的大规模并行测序数据中以单核苷酸分辨率发现基因分型和可视化缺失 串联重复 倒位和易位等缺陷 它使用配对末端, 拆分阅读和阅读深度来敏感而准确地描绘整个基因组的重排 开发语言 :C++ 一句话描述 :SV 检测程序 开源协议 :BSD-3 建议的版本 根据实际需要选择版本, 本文档以 delly-0.8.3 为例进行说明 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 13-1 所示 表 13-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 4vCPUs 8GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表 13-2 所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 37

13 移植 Delly 表 13-2 操作系统要求项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 步骤 1 安装相关依赖 获取源码 编译和安装 yum install -y autoconf boost boost-devel zlib-devel bzip2 bzip2-devel xzdevel -y 步骤 2 安装 HTSlib cd /usr/local/src wget https://github.com/samtools/htslib/releases/download/1.10.2/ htslib-1.10.2.tar.bz2 tar -jxvf htslib-1.10.2.tar.bz2 cd htslib-1.10.2./configure make -j4 make install ln -s /usr/local/lib/libhts.so.3 /usr/lib/libhts.so.3 sudo ldconfig ---- 结束 获取 delly-0.8.3 源码包 cd /usr/local wget https://github.com/dellytools/delly/archive/v0.8.3.tar.gz 步骤 1 解压并进入源码包 tar -zxvf v0.8.3.tar.gz && cd delly-0.8.3 步骤 2 编译 Delly make all 步骤 3 设置软连接 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 38

13 移植 Delly ln -s /usr/local/delly-0.8.3/src/delly /usr/bin/delly ---- 结束 运行和验证 查看 Delly 版本信息 delly --version 出现类似如下回显, 表示 Delly 安装成功 Delly version: v0.8.3 using Boost: v1.53.0 using HTSlib: v1.10.2 13.2 故障排除 问题一 : 运行 Delly 时候报错 cannot open shared object file: No such file or directory 问题描述 : 执行时, 提示信息如下 : [root@ecs ~] delly --version delly: error while loading shared libraries: libhts.so.3: cannot open shared object file: No such file or directory 问题原因 : linux 缺少动态连接库.so, 或者动态链接库存在, 但是路径不在系统搜索路径里, 导致程序链接不到报错 解决方法 : 本文是由于安装 HTSlib 后, 库 libhts.so.3 在 /usr/local/lib 目录下, 导致系統无法判断库放在哪个目录下 所以可以采用如下办法解决 ln -s /usr/local/lib/libhts.so.3 /usr/lib/libhts.so.3 sudo ldconfig 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 39

14 移植 SnpEff 14 移植 SnpEff 介绍 简要介绍 SnpEff 是一款常用的突变位点注释工具 这款软件基于 Java 语言开发, 安装过程相对简单, 下载后解压缩即可使用 开发语言 :Java 一句话描述 : 突变位点注释工具 开源协议 :MIT 建议的版本 根据实际需要选择版本, 本文档以 SnpEff v4_5 为例进行说明 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 14-1 所示 表 14-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 4vCPUs 8GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表 14-2 所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 40

14 移植 SnpEff 表 14-2 操作系统要求项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 安装 JDK1.8 yum install -y java-1.8.0-openjdk 获取源码 获取 SnpEff 源码包 mkdir -p /usr/local/src/snpeff && cd /usr/local/src/snpeff wget https://sourceforge.net/projects/snpeff/files/snpeff_latest_core.zip 编译和安装 解压下载文件 unzip snpeff_latest_core.zip 运行和验证 步骤 1 下载数据 cd snpeff java -jar snpeff.jar download GRCh38.86 执行完毕后会在当前目录下生成一个 data/grch38.86 目录 步骤 2 进行注释 java -Xmx4G -jar snpeff.jar GRCh38.86 examples/test.chr22.vcf > test.chr22.ann.vcf 执行完毕后会在当前目录生成 test.chr22.ann.vcf 文件 ---- 结束 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 41

15 移植 SpeedSeq 15 移植 SpeedSeq 15.1 移植指导 介绍 环境要求 简要介绍 SpeedSeq 是一个快速基因组分析和注释的灵活框架, 发表在 Nature Method(http:// www.nature.com/nmeth/journal/vaop/ncurrent/full/nmeth.3505.html) 上, 封装了大量基因组分析的软件, 比如比对软件 BWA,calling SNP 软件 freebays,sv 鉴定软件 lumpy 等 开发语言 :C 一句话描述 : 快速基因组分析和解析的框架 开源协议 :MIT 建议的版本 根据实际需要选择版本, 本文档以 speedseq 0.1.2 为例进行说明 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 15-1 所示 表 15-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 4vCPUs 8GB 系统盘 : 高 IO(40GB) 操作系统要求 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 42

15 移植 SpeedSeq 操作系统要求如表 15-2 所示 表 15-2 操作系统要求项目 说明 下载地址 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 bzip bzip2-devel xz-devel ncurses-devel 步骤 2 安装 HTSlib 1. 获取 htslib-1.10.2 源码包 cd /usr/local/src wget https://github.com/samtools/htslib/releases/download/1.10.2/ htslib-1.10.2.tar.bz2 2. 解压并进入源码目录 tar -jxvf htslib-1.10.2.tar.bz2 cd htslib-1.10.2 3. 配置生成 Makefile./configure 4. 编译安装 make -j4 make install 步骤 3 安装 cython pip install cython 步骤 4 安装 pysam pip install pysam ---- 结束 获取源码 获取 speedseq 最新版 源码包 cd /usr/local/src git clone --recursive https://github.com/hall-lab/speedseq.git 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 43

15 移植 SpeedSeq 编译和安装 步骤 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 //#include <emmintrin.h> #include "sse2neon.h" 步骤 4 编译 SpeedSeq make -j4 步骤 5 生成的 SpeedSeq 工具加入环境变量 1. 编辑 /etc/profile vim /etc/profile 在文件末尾加入如下内容 : export PATH="$PATH:/usr/local/src/speedseq/bin" 2. 按 Esc, 输入 wq! 退出 3. 环境变量生效 source /etc/profile ---- 结束 运行和验证 执行如下命令, 查看 SpeedSeq 版本 speedseq 回显信息如下, 则表示 SpeedSeq 安装成功 Program: speedseq Version: 0.1.2 Author: Colby Chiang (cc2qe@virginia.edu) usage: speedseq <command> [options] command: align align FASTQ files with BWA-MEM var call SNV and indel variants with FreeBayes somatic call somatic SNV and idel variants in a tumor/nomal pair with FreeBayes sv call SVs with LUMPY realign realign from a coordinate sorted BAM file options: -h show this message...... 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 44

15 移植 SpeedSeq 15.2 故障排除 问题一 : 编译报 configure: error: cannot guess build type; you must specify one 等错误 问题描述 : 执行 make, 报 configure: error: cannot guess build type; you must specify one 错误 cd srm/mbuffer:.configure --prefix=/usr/local/src/speedseq checking build system type..../configure.guess: unable to guess system type 问题原因 : 可以看出, 进入 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, 修改后内容如下 : mbuffer: cd $(MBUFFER_DIR);./configure --prefix=$(shell pwd) --host=aarch64 --build=aarch64 ---- 结束 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 45

16 移植 StringTie 16 移植 StringTie 介绍 简要介绍 StringTie 是一种快速高效的 RNA-Seq 序列比对组装器 它的输入不仅包括其他转录本汇编程序也可以使用短读序列的对比 为了在实验之间鉴定差异表达的基因, 可以使用 Ballgown,Cuffdiff 或其他 (DESeq,edgeR 等 ) 专用软件来处理 StringTie 的输出 开发语言 :C++ 一句话描述 :RNA-Seq 组装工具 开源协议 :MIT License 建议的版本 根据实际需要选择版本, 本文档以 stringtie-1.3.6 为例进行说明 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 16-1 所示 表 16-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 4vCPUs 8GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表 16-2 所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 46

16 移植 StringTie 表 16-2 操作系统要求项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 安装相关依赖 yum install -y zlib zlib-devel 获取源码 获取 stringtie-1.3.6 源码包 cd /usr/local/ wget https://github.com/gpertea/stringtie/archive/v1.3.6.tar.gz 编译和安装 步骤 1 解压并进入源码包 运行和验证 cd /usr/local/ tar -zxvf v1.3.6.tar.gz && cd stringtie-1.3.6 步骤 2 编译 StringTie make -j4 release ---- 结束 步骤 1 查看 StringTie 版本信息./stringtie --version 当系统回显类似如下信息是, 表示 StringTie 安装成功 1.3.6 ---- 结束 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 47

17 移植 Bowtie 17 移植 Bowtie 介绍 简要介绍 Bowtie 是一个快速的, 较为节省内存的短序列拼接至模板基因组的工具 它在拼接 35 碱基长度的序列时, 可以达到每小时 2.5 亿次的拼接速度 Bowtie 并不是一个简单的拼接工具, 它不同于 Blast 等 它适合的工作是将小序列对比至大基因组上去 它最长能读取 1024 个碱基的片段 开发语言 :C++ 一句话描述 : 一个快速的, 较为节省内存的短序列拼接至模板基因组的工具 开源协议 :Artistic License 2.0 建议的版本 建议使用版本为 bowtie 1.2.3 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 17-1 所示 表 17-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 4vCPUs 8GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表 17-2 所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 48

17 移植 Bowtie 表 17-2 操作系统要求项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 安装相关依赖 yum install gcc gcc-c++ zlib-devel -y 获取源码 获取 bowtie 1.2.3 源码包 cd /usr/local/src wget https://github.com/benlangmead/bowtie/archive/v1.2.3.zip 编译和安装 步骤 1 解压并进入源码目录 unzip v1.2.3.zip cd bowtie-1.2.3 步骤 2 修改 Makefile 文件 vim Makefile 修改前 BITS=32 ifeq (x86_64,$(shell uname -m)) BITS=64 endif # msys will always be 32 bit so look at the cpu arch instead. ifneq (,$(findstring AMD64,$(PROCESSOR_ARCHITEW6432))) ifeq (1,$(MINGW)) BITS=64 endif endif ifeq (1,$(LINUX)) ifeq (x86_64, $(shell uname -p)) BITS=64 endif endif ifeq (32,$(BITS)) $(error bowtie2 compilation requires a 64-bit platform ) endif DEBUG_FLAGS = -O0 -g3 -m64 RELEASE_FLAGS = -O3 -m64 NOASSERT_FLAGS = -DNDEBUG FILE_FLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 49

17 移植 Bowtie 修改后 ( 加粗为新增加内容, 其余的内容不变 ) BITS=32 ifeq (x86_64,$(shell uname -m)) BITS=64 endif ifeq (aarch64,$(shell uname -m)) BITS=64 endif # msys will always be 32 bit so look at the cpu arch instead. ifneq (,$(findstring AMD64,$(PROCESSOR_ARCHITEW6432))) ifeq (1,$(MINGW)) BITS=64 endif endif ifeq (1,$(LINUX)) ifeq (x86_64, $(shell uname -p)) BITS=64 endif endif ifeq (32,$(BITS)) $(error bowtie2 compilation requires a 64-bit platform ) endif #DEBUG_FLAGS = -O0 -g3 -m64 #RELEASE_FLAGS = -O3 -m64 #NOASSERT_FLAGS = -DNDEBUG #FILE_FLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE M64_FLAG := -m64 ifeq (aarch64,$(shell uname -m)) M64_FLAG := endif 步骤 3 添加环境变量 export NO_TBB=1 export POPCNT_CAPABILITY=0 步骤 4 编译 Bowtie make -j4 步骤 5 添加环境变量 vim /etc/profile 将如下内容写入文件最后一行 export PATH=/usr/local/src/bowtie-1.2.3:$PATH 保存并退出, 然后执行如下命令是环境变量生效 source /etc/profile ---- 结束 运行和验证 查看 Bowtie 版本信息 bowtie --version 回显类似如下信息表示 Bowtie 安装成功 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 50

17 移植 Bowtie /usr/local/src/bowtie-1.2.3/bowtie-align-s version 1.2.3 64-bit... 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 51

18 移植 RSEM 18 移植 RSEM 介绍 简要介绍 RSEM 是用于从 RNA-Seq 数据分析的软件包 RSEM 软件包提供了用户友好的界面, 支持用于 EM 算法, 单端和双端读取数据, 质量得分, 可变长度读取和 RSPD 估计的并行计算的线程 开发语言 :C++ 一句话描述 :RNA-Seq 分析软件包 开源协议 :GPL3.0 建议的版本 根据实际需要选择版本, 本文档以 RSEM v1.3.1 为例进行说明 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 18-1 所示 表 18-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 4vCPUs 8GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表 18-2 所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 52

18 移植 RSEM 表 18-2 操作系统要求项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 获取源码 编和安装 步骤 1 安装 Perl, 版本要求不低于 5.8.8 请参见 https://support.huaweicloud.com/prtg-kunpengcpl/perl_01_0001.html 安装 步骤 2 安装 R, 版本要求不低于 3.3.1 yum install R -y ---- 结束 获取 RSEM v1.3.1 源码包 cd /usr/local/src wget https://github.com/deweylab/rsem/archive/v1.3.1.tar.gz 步骤 1 解压并进入源码包 tar -zxvf v1.3.1.tar.gz cd RSEM-1.3.1 步骤 2 编译安装 RESM make -j4 && make install prefix=/usr/local/rsem 步骤 3 设置环境变量 将 export PATH=/usr/local/rsem/bin:$PATH 写入 /etc/profile 文件最后一行 vim /etc/profile export PATH=/usr/local/rsem/bin:$PATH source /etc/profile ---- 结束 运行和验证 测试 RSEM 是否安装完成 rsem-calculate-expression --version 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 53

18 移植 RSEM 返回内容如下所示, 表示安装已经完成 [root@ecs ~]# rsem-calculate-expression --version Current version: RSEM v1.3.1 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 54

19 移植 randfold 19 移植 randfold 介绍 简要介绍 randfold 是一个独立的基因测序相关软件, 它从原始序列开始随机显示其核苷酸顺序 它根据改组后的序列计算推断结构的最小自由能 (MFE), 并多次重复计算以建立最小自由能 (MFE) 值的分布 开发语言 :C 一句话描述 : 基因序列二级结构随机测试软件 开源协议 :GPL 2.0 建议的版本 建议使用最新版本, 此处以 randfold2.01 版本为例说明 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 19-1 所示 表 19-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 4vCPUs 8GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表 19-2 所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 55

19 移植 randfold 表 19-2 操作系统要求项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 安装相关依赖 yum install -y git 获取源码 获取 randfold 源码包 cd /usr/local/ git clone https://github.com/eb00/randfold.git 编译和安装 步骤 1 编译 randfold cd randfold/src/squid-1.9g./configure && make 步骤 2 编译 randfold cd../ make 编译完成后会生成可执行文件 randfold 步骤 3 设置软连接 ln -s /usr/local/randfold/src/randfold /usr/bin/randfold ---- 结束 运行和验证 执行如下测试命令 randfold -d let7.tfa 999 当系统回显类似如下信息是, 表示 randfold 执行成功 cel-let-7-42.90 0.001000 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 56

20 移植 MISO 20 移植 MISO 介绍 简要介绍 MISO( 同工型混合物 ) 是一种概率框架, 可从 RNA-Seq 数据中定量分析可变剪接基因的表达水平, 并鉴定样品中差异调控的同工型或外显子 通过从 RNA-Seq 中的同工型产生读数的生成过程进行建模,MISO 模型使用贝叶斯推断来计算读数源自同工型的可能性 开发语言 :Python 一句话描述 : 可变剪切分析工具 开源协议 :MIT 建议的版本 根据实际需要选择版本, 本文档以 MISO-0.5.4 为例进行说明 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 20-1 所示 表 20-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 4vCPUs 8GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表 20-2 所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 57

20 移植 MISO 表 20-2 操作系统要求项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 安装相关依赖 yum install gcc gcc-c++ gcc-gfortran python36 python36-devel python36- numpy python36-numpy-f2py libjpeg-turbo-devel freetype-devel bzip2 bzip2- devel libpng libpng-devel openblas openblas-devel xz xz-devel -y 编译和安装 安装 misopy pip3 install misopy 运行和验证 步骤 1 查看 python 模块安装列表 pip3 list cycler (0.10.0) kiwisolver(1.2.0) matplotlib(3.2.1) misopy(0.5.4) 步骤 2 Python 中引入 misopy 模块使用 python3 import misopy as mis print(mis. version ) 打印出如下信息, 说明 misopy 可以正常使用 0.5.4 ---- 结束 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 58

21 移植 STAR-Fusion 21 移植 STAR-Fusion 介绍 简要介绍 STAR-Fusion 是一款基于 STAR 比对结果进行融合基因鉴定的软件 开发语言 :perl 一句话描述 : 融合基因鉴定开源协议 :BSD-3 建议的版本根据实际需要选择版本, 本文档以 STAR-Fusion-v1.6.0 为例进行说明 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 21-1 所示 表 21-1 云服务器配置 项目 规格 磁盘 说明 kc1.3xlarge.4 12vCPUs 48GB 系统盘 : 高 IO(80GB) 操作系统要求 操作系统要求如表 21-2 所示 表 21-2 操作系统要求 项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 59

21 移植 STAR-Fusion 项目说明下载地址 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 步骤 1 安装相关依赖 获取源码 编和安装 yum install perl-extutils-makemaker perl-data-dumper perl-db_file perl- JSON-XS -y 步骤 2 安装 STAR-2.7.0f 请参见 https://support.huaweicloud.com/prtg-kunpenghpcs/ kunpenghpcs_prtg_0022.html 安装 步骤 3 安装 SAMtools 请参见 https://support.huaweicloud.com/prtg-kunpenghpc/ samtools_01_0001.html 安装 ---- 结束 获取 STAR-Fusion-v1.6.0 源码包 cd /usr/local/src wget https://github.com/star-fusion/star-fusion/releases/download/v1.6.0/ STAR-Fusion-v1.6.0.FULL.tar.gz 步骤 1 解压并进入源码包 运行和验证 tar -zxvf STAR-Fusion-v1.6.0.FULL.tar.gz && cd STAR-Fusion-v1.6.0 步骤 2 编译 STAR-Fusion make -j12 ---- 结束 步骤 1 下载测试所需的文件 cd /opt wget https://data.broadinstitute.org/trinity/ctat_resource_lib/ genome_libs_starfv1.6/grch37_gencode_v19_ctat_lib_mar272019.plug-nplay.tar.gz tar -zxvf GRCh37_gencode_v19_CTAT_lib_Mar272019.plug-n-play.tar.gz 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 60

21 移植 STAR-Fusion 步骤 2 执行测试程序 cd /usr/local/src/star-fusion-v1.6.0/testing gzip -d reads_1.fq.gz gzip -d reads_2.fq.gz../star-fusion --left_fq reads_1.fq --right_fq reads_2.fq --genome_lib_dir /opt/ GRCh37_gencode_v19_CTAT_lib_Mar272019.plug-n-play/ ctat_genome_lib_build_dir --CPU 12 执行完毕后出会出现如下回显, 并且在当先目录下生成一个 STAR-Fusion_outdir 目录, 输出文件全部在该目录中 * STAR-Fusion complete. See output: star-fusion.fusion_candidates.tsv(or.abridged.tsv version) ---- 结束 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 61

22 移植 ballgown 22 移植 ballgown 介绍 简要介绍 ballgown 是 R 语言软件包, 主要用于统计转录组的统计分析, 包括灵活的差异表达分析 开发语言 :R 一句话描述 :RNA-Seq 数据差异表达分析的 R 语言包 开源协议 :Artistic-2.0 建议的版本 建议使用版本为 ballgown-2.20.0 环境要求 硬件要求 本文以 KC1 实例测试, 配置如表 22-1 所示 表 22-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 4vCPUs 8GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表操作系统要求所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 62

22 移植 ballgown 表 22-2 操作系统要求项目 说明 下载地址 Ubuntu 18.04 在公共镜像中已提供 Kernel 4.15.0 在公共镜像中已提供 步骤 1 配置编译环境 安装相关依赖 apt-get install -y liblapack-dev libxml2-dev libxml++2.6-dev libpng++-dev libjpeg62-dev libssl-dev gfortran libreadline-dev libxt-dev libbz2-dev liblzmadev libghc-curl-dev libghc-zlib-dev libpcre++-dev 步骤 2 安装 R 语言 1. 获取 R-3.6.1 源码包 cd /usr/local/src wget https://mirrors.tuna.tsinghua.edu.cn/cran/src/base/r-3/ R-3.6.1.tar.gz 2. 解压并进入 R 源码包 tar -zxvf R-3.6.1.tar.gz && cd R-3.6.1 3. 编译安装 R./configure --prefix=/usr/local/r-3.6.1 --enable-r-shlib make -j4 && make install 4. 配置 R 环境变量 vim /etc/profile 添加如下内容 : export PATH=/usr/local/R-3.6.1/bin:$PATH 5. 保存退出, 执行如下命令是环境变量生效 source /etc/profile ---- 结束 编译和安装 步骤 1 进入 R 语言交互界面 R 步骤 2 执行 R 指令安装 ballgown if(!requirenamespace("biocmanager", quietly = TRUE)) install.packages("biocmanager") 在弹出的服务器地址中选择对应的地址号, 然后回车输入... 14: China (Hong Kong) [https] 15: China (Guangzhou) [https] 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 63

22 移植 ballgown 16: China (Lanzhou) [https] 17: China (Shanghai) [https]... BiocManager::install("ballgown") 中途会弹出一个信息输入提示, 输入 a 回车即可 Making 'packages.html'... done Old packages: 'boot', 'class', 'KernSmooth', 'lattice', 'MASS', 'Matrix', 'mgcv', 'nlme', 'nnet', 'spatial' Update all/some/none? [a/s/n]: ---- 结束 运行和验证 步骤 1 查看 R 语言库 library() 在回显的 R 包列表会出现如下信息 : ballgown Flexble, isoform-level differential expression analysis 步骤 2 引入 ballgown 包 library("ballgown") 未出现报错信息则代表引入成功 ---- 结束 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 64

23 移植 Oases 23 移植 Oases 介绍 简要介绍 Oases 是一个转录组组装器, 旨在没有任何基因组组装的情况下从短读测序技术生成转录本 开发语言 :C 一句话描述 : 基因组装软件 开源协议 :GPL 3.0 建议的版本 建议使用版本为最新版本, 此处以 oases0.2.09 版本为例说明 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 23-1 所示 表 23-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 4vCPUs 8GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表操作系统要求所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 65

23 移植 Oases 表 23-2 操作系统要求项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 安装相关依赖 yum install -y git 获取源码 获取 oases 源码包 cd /usr/local git clone --recursive https://github.com/dzerbino/oases 编译和安装 步骤 1 修改 Makefile 文件, 将 /usr/local/oases/velvet/makefile "CFLAG 后面的 -m64 删除 修改前 CFLAGS = -Wall -m64 修改后 CFLAGS = -Wall 步骤 2 编译 Oases make -j4 编译完成后会在 oases 目录下生成可执行程序 oases 步骤 3 设置软连接 ln -s /usr/local/oases/oases /usr/bin/oases ---- 结束 运行和验证 查看 Oases 版本信息 oases --version 回显如下信息则表示 Osaes 安装成功 oases 0.2.09 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 66

24 移植 Subread 24 移植 Subread 介绍 简要介绍 一种通用的 read 对比软件, 它可以对比基因组 DNA-seq 和 RNA-seq 的 reads, 也可以用于发现基因组突变, 包括短插入缺失和结构变异 开发语言 :C 一句话描述 : 基因对比软件 开源协议 :GPL 3.0 建议的版本 建议使用版本为 subread-2.0.1 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 24-1 所示 表 24-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 4vCPUs 8GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表操作系统要求所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 67

24 移植 Subread 表 24-2 操作系统要求项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 安装相关依赖 yum install -y zlib-devel 获取源码 获取 subread-2.0.1 源码包 cd /usr/local/ wget https://sourceforge.net/projects/subread/files/subread-2.0.1/ subread-2.0.1-source.tar.gz/download -O subread-2.0.1.tar.gz 编译和安装 步骤 1 解压并进入源码包 tar -zxvf subread-2.0.1.tar.gz && cd subread-2.0.1-source 步骤 2 修改 Makefile 文件 分别修改 src/makefile.linux 和 src/longread-one/makefile 文件, 将 CCFLAGS 设置的 -mtune=core2 删除 vim src/makefile.linux vim src/longread-one/makefile 修改前 CCFLAGS = -mtune=core2 ${MACOS} -O${OPT_LEVEL} -Wall -DMAKE_FOR_EXON -D MAKE_STANDALONE -D SUBREAD_VERSION=\"${SUBREAD_VERSION}\" -D_FILE_OFFSET_BITS=64 修改后 CCFLAGS = ${MACOS} -O${OPT_LEVEL} -Wall -DMAKE_FOR_EXON -D MAKE_STANDALONE -D SUBREAD_VERSION=\"${SUBREAD_VERSION}\" -D_FILE_OFFSET_BITS=64 步骤 3 编译 Subread cd /usr/local/subread-2.0.1-source/src make -j4 -f Makefile.Linux 步骤 4 设置环境变量 将 export PATH=/usr/local/rsem/bin:$PATH 写入 /etc/profile 文件最后一行 vim /etc/profile 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 68

24 移植 Subread export PATH=/usr/local/subread-2.0.1-source/bin:$PATH source /etc/profile ---- 结束 运行和验证 查看 Subread 版本信息 subread-align -v 回显如下信息则表示 Subread 安装成功 Subread-align v2.0.1 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 69

25 移植 HTSlib 25 移植 HTSlib 介绍 简要介绍 HTSlib 是一个 C 库, 用于读取和写入高通量测序数据 HTSlib 是 SAMtools 使用的核心库 HTSlib 还提供了 bgzip,htsfile 和 tabix 实用程序 开发语言 :C 一句话描述 : 一款用于读取和写入高通量测序数据的 C 库 开源协议 :GNU 建议的版本 根据实际需要选择版本, 本文档以 htslib-1.10.2 为例进行说明 环境要求 云服务器要求 本文以云服务器 KC1 实例测试, 云服务器配置如表 25-1 所示 表 25-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 2vCPUs 4GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表 25-2 所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 70

25 移植 HTSlib 表 25-2 操作系统要求项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 安装相关依赖 yum install zlib-devel bzip2 bzip2-devel xz-devel -y 获取源码 获取 htslib-1.10.2 源码包 cd /usr/local/src wget https://github.com/samtools/htslib/releases/download/1.10.2/ htslib-1.10.2.tar.bz2 编译和安装 步骤 1 解压并进入源码目录 tar -jxvf htslib-1.10.2.tar.bz2 cd htslib-1.10.2 步骤 2 配置生成 Makefile./configure 步骤 3 编译安装 make -j4 make install ---- 结束 运行和验证 查看 HTSlib 引用程序版本信息 bgzip --version htsfile --version tabix --version 当系统回显类似如下信息是, 表示 HTSlib 安装成功 [root@ecs ~]# bgzip --version bgzip (htslib) 1.10.2 Copyright (c) 2019 Genome Research Ltd. [root@ecs ~]# htsfile --version 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 71

25 移植 HTSlib htsfile (htslib) 1.10.2 Copyright (c) 2019 Genome Research Ltd. [root@ecs ~]# tabix --version tabix (htslib) 1.10.2 Copyright (c) 2019 Genome Research Ltd. 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 72

26 移植 SeqTK 26 移植 SeqTK 介绍 简要介绍 SeqTK 是一种快速轻巧的工具, 用于处理 FASTA 或 FASTQ 格式的序列 它可以无缝解析 FASTQ 和 FASTA 文件, 也可以选择使用 gzip 对其进行压缩 开发语言 :C 一句话描述 : 针对 FASTA/FASTQ 文件进行处理的小程序 开源协议 :MIT 建议的版本 建议使用版本为 Seqtk-1.3 环境要求 硬件要求 本文以 KC1 实例测试, 配置如表 26-1 所示 表 26-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 4vCPUs 8GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表操作系统要求所示 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 73

26 移植 SeqTK 表 26-2 操作系统要求项目 说明 下载地址 CentOS 7.6 在公共镜像中已提供 Kernel 4.14.0-115 在公共镜像中已提供 配置编译环境 安装相关依赖 yum install -y zlib-devel 获取源码 获取 Seqtk-1.3 源码包 cd /usr/local/ wget https://github.com/lh3/seqtk/archive/v1.3.tar.gz 编译和安装 步骤 1 解压并进入源码包 tar -zxvf v1.3.tar.gz && cd seqtk-1.3 步骤 2 编译 SeqTk make -j4 步骤 3 创建软链接 ln -s /usr/local/seqtk-1.3/seqtk /usr/bin/seqtk ---- 结束 运行和验证 查看 SeqTK 使用方法 seqtk 回显如下信息表示 SeqTK 安装成功 Usage: seqtk <command> <arguments> Version: 1.3-r106 Command: seq comp sample...... commom transformation of FASTA/Q get the nucleotide composition of FASTA/Q subsample sequence 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 74

27 移植 topgo 27 移植 topgo 介绍 简要介绍 topgo 是 R 语言软件包, 主要用于统计转录组的统计分析, 包括灵活的差异表达分析 开发语言 :R 一句话描述 : 基因富集分析的 R 语言包开源协议 :LGPL 建议的版本建议使用版本为 topgo-2.40.0 环境要求 硬件要求 本文以 KC1 实例测试, 配置如表 27-1 所示 表 27-1 云服务器配置 项目 规格 磁盘 说明 kc1.large.2 4vCPUs 8GB 系统盘 : 高 IO(40GB) 操作系统要求 操作系统要求如表操作系统要求所示 表 27-2 操作系统要求 项目 说明 下载地址 Ubuntu 18.04 在公共镜像中已提供 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 75

27 移植 topgo 项目说明下载地址 Kernel 4.15.0 在公共镜像中已提供 配置编译环境 步骤 1 安装相关依赖 apt-get install -y liblapack-dev libxml2-dev libxml++2.6-dev libpng++-dev libjpeg62-dev libssl-dev gfortran libreadline-dev libxt-dev libbz2-dev liblzmadev libghc-curl-dev libghc-zlib-dev libpcre++-dev 步骤 2 安装 R 语言 1. 获取 R-3.6.1 源码包 cd /usr/local/src wget https://mirrors.tuna.tsinghua.edu.cn/cran/src/base/r-3/ R-3.6.1.tar.gz 2. 解压并进入 R 源码包 tar -zxvf R-3.6.1.tar.gz && cd R-3.6.1 3. 编译安装 R./configure --prefix=/usr/local/r-3.6.1 --enable-r-shlib make -j4 && make install 4. 配置 R 环境变量 vim /etc/profile 添加如下内容 : export PATH=/usr/local/R-3.6.1/bin:$PATH 5. 保存退出, 执行如下命令是环境变量生效 source /etc/profile ---- 结束 编译和安装 步骤 1 进入 R 语言交互界面 R 步骤 2 执行 R 指令安装 topgo if(!requirenamespace("biocmanager", quietly = TRUE)) install.packages("biocmanager") 在弹出的服务器地址中选择对应的地址号, 然后回车输入... 14: China (Hong Kong) [https] 15: China (Guangzhou) [https] 16: China (Lanzhou) [https] 17: China (Shanghai) [https]... 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 76

27 移植 topgo BiocManager::install("topGO") 中途会弹出一个信息输入提示, 输入 a 回车即可 Making 'packages.html'... done Old packages: 'boot', 'class', 'KernSmooth', 'lattice', 'MASS', 'Matrix', 'mgcv', 'nlme', 'nnet', 'spatial' Update all/some/none? [a/s/n]: ---- 结束 运行和验证 步骤 1 查看 R 语言库 library() 在回显的 R 包列表会出现如下信息 : topgo Enrichment Analysis for Gene Ontology 步骤 2 引入 topgo 包 library("topgo") 未出现报错信息则代表引入成功 ---- 结束 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 77

A 修订记录 A 修订记录 发布日期 修订记录 2020-06-18 第三次正式发布 2020-06-02 第二次正式发布 增加 bedtools VCFtools Picard VarScan2 Stelka2 Control-FREEC Delly SnpEff SpeedSeq Bowtie RSEM randfold MISO STAR-Fusion ballgown Oases Subread HTSlib SeqTK 和 topgo 的指导 增加 SAMtools StringTie 的指导 2020-03-18 第一次正式发布 文档版本 03 (2020-06-18) 版权所有 华为技术有限公司 78