Seqkit-2.2.0 移植指南(openEuler 20.03 LTS SP3)
1.软件介绍
seqkit是一种跨平台的、极快的,全面的fasta/q处理工具。seqkit为所有的主流操作系统提供了一种可执行的双元文件,包括Windows,Linux,MacOS X,并且不依赖于任何的配置或预先配置就可以直接使用。
关于seqkit的更多信息请访问seqkit官网。
语言:go
一句话描述:fasta/q处理工具
开源协议:MIT License
建议版本:seqkit v2.2.0
2.环境要求
2.1. 硬件要求如下表:
| 项目 | 说明 |
|---|---|
| CPU | Kunpeng 920 |
| 内存大小 | 32GB 2666MHz * 16 |
| 网卡 | 1*10GE |
2.2. 软件要求如下表:
| 项目 | 版本 | 下载地址 |
|---|---|---|
| SeqKit | 2.2.0 | https://github.com/shenwei356/seqkit/archive/refs/tags/v2.2.0.tar.gz |
| 毕昇编译器 | 2.1.0 | https://www.hikunpeng.com/zh/developer/devkit/compiler/bisheng |
| go | go1.18 | https://dl.google.com/go/go1.18.linux-arm64.tar.gz |
2.3. 操作系统要求如下表:
| 项目 | 版本 | 下载地址 |
|---|---|---|
| openEuler | openEuler 20.03 SP3 | https://repo.openeuler.org/openEuler-20.03-LTS-SP3/ |
| Kernel | 4.19.90 | https://gitee.com/openeuler/kernel |
3.移植规划
本章节给出seqkit软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。
移植路径规划:
| 序号 | 软件安装规划路径 | 用途 | 说明 |
|---|---|---|---|
| 1 | /usr/local/bisheng | 毕昇编译器的安装规划路径。 | 这里的安装规划路径只是一个举例说明,建议部署在共享路径中。需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。 |
| 2 | /usr/local/seqkit/go | go环境安装规划路径。 | |
| 3 | /usr/local/seqkit/seqkit | SeqKit的安装规划路径。 |
4.配置编译环境
前提条件:使用SFTP工具将各安装包上传至服务器对应目录下。
配置流程:
| 序号 | 配置项 | 说明 |
|---|---|---|
| 1 | 搭建鲲鹏基座软件 | 参考4.1 搭建鲲鹏基座软件 |
| 2 | 安装依赖 | 参考4.2 yum安装依赖 |
| 3 | 部署go环境 | 参考4.3 部署go环境 |
4.1 搭建鲲鹏基座软件
4.1.1 yum源安装方式
步骤1 在/etc/yum.repos.d/目录下增加配置文件bisheng-compiler.repo:
cat > /etc/yum.repos.d/bisheng-compiler.repo << EOF[bisheng-compiler]name=bisheng-compilerbaseurl=https://repo.oepkgs.net/bisheng/aarch64/enabled=1gpgcheck=0priority=100EOF
步骤2 从yum源下载和安装毕昇编译器rpm包:
yum update
yum install bisheng-compiler -y
步骤3 (可选)清空当前窗口的hash表。
如果系统中有其他版本的 LLVM 编译器,请在安装毕昇编译器之后立即运行:
hash -r
防止clang命令被hash捕获,出现毕昇编译器或开源LLVM编译器无法使用的问题。
步骤4 验证安装是否成功。
安装完毕后执行如下命令验证毕昇编译器版本:
clang -v

若返回结果已包含bisheng compiler版本信息,说明安装成功。
4.1.2 软件包安装方式
步骤 1 准备工作。
在毕昇编译器产品页选择“毕昇编译器软件包下载”获取毕昇编译器软件包并且上传至服务器上。
软件包下载页面:https://www.hikunpeng.com/zh/developer/devkit/compiler/bisheng
步骤 2 安装毕昇编译器环境依赖项:
yum install -y gcc glibc libatomic bc tar
步骤 3 创建毕昇编译器安装目录:
mkdir -p /usr/local/bisheng
注意: /usr/local/为举例说明路径,请根据用例存放实际路径修改。
步骤4 下载毕昇编译器压缩包并解压:
cd /usr/local/bisheng
wget https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_compiler/bisheng-compiler-2.1.0-aarch64-linux.tar.gz --no-check-certificate
tar -zxvf bisheng-compiler-2.1.0-aarch64-linux.tar.gz
解压完成后在当前目录下出现名为“bisheng-compiler-2.1.0-aarch64-linux”的目录。
步骤 5 安装environment-modules工具:
yum install environment-modules -y
source /etc/profile
步骤6 创建环境变量配置文件:
vi /usr/local/bisheng/bisheng_modulefiles
新增如下内容:
#%Module1.0
conflict bisheng
prepend-path PATH /usr/local/bisheng/bisheng-compiler-2.1.0-aarch64-linux/bin
prepend-path LD_LIBRARY_PATH /usr/local/bisheng/bisheng-compiler-2.1.0-aarch64-linux/lib
步骤7 在当前shell中加载环境变量:
module use /usr/local/bisheng/
module load /usr/local/bisheng/bisheng_modulefiles
注意:若要避免每打开一个shell就要导入一次变量的情况,建议可将环境变量写入到系统配置文件中(可选):
vi /etc/profile
新增如下内容:
module use /usr/local/bisheng/
module load /usr/local/bisheng/bisheng_modulefiles
步骤 8使环境变量生效。
source /etc/profile
步骤 9 清空当前窗口的hash表(可选)。
如果系统中有其他版本的 LLVM 编译器,请在安装毕昇编译器之后立即运行如下命令:
hash -r
防止clang命令被hash捕获,出现毕昇编译器或开源LLVM编译器无法使用的问题。
步骤 10 验证安装是否成功。
安装完毕后执行如下命令验证毕昇编译器版本:
clang -v

若返回结果已包含bisheng compiler版本信息,说明安装成功。
----结束
4.2 安装依赖
步骤1:yum安装依赖包:
yum -y install git gcc gcc-c++ vimsource /etc/profile
4.3 部署go环境
步骤 1 使用PuTTY工具,以root用户登录服务器。 步骤 2 进入“/home”目录:
cd /home
步骤 3 获取go压缩包:
wget https://dl.google.com/go/go1.18.linux-arm64.tar.gz
步骤 4 创建安装路径:
mkdir -p /usr/local/seqkit/
步骤 5 解压go安装包:
tar -zxvf go1.18.linux-arm64.tar.gz -C /usr/local/seqkit/
注:请以实际压缩包名称进行解压缩操作。 步骤 6 配置环境变量:
vi /usr/local/seqkit/go/go_modulefiles
新增如下内容:
#%Module1.0
conflict go
set GO /usr/local/seqkit/go
setenv GO $GO
prepend-path PATH $GO/bin
步骤 7 加载环境变量:
module use /usr/local/seqkit/go
module load /usr/local/seqkit/go/go_modulefiles
步骤 8 若要避免每打开一个shell就要导入一次变量的情况,建议可将环境变量写入到系统配置文件中(可选):
vi /etc/profile
新增如下内容:
module use /usr/local/seqkit/go
module load /usr/local/seqkit/go/go_modulefiles
步骤 9使环境变量生效。
source /etc/profile
步骤 10 执行以下查看安装路径:
ls /usr/local/seqkit/go/

步骤11 查看版本号:
go version
步骤 12 将go源替换成国内源:
go env -w GOPROXY=https://goproxy.cn
5.获取源码
步骤 1 下载seqkit安装包“v2.2.0.tar.gz”。
下载地址:https://github.com/shenwei356/seqkit/archive/refs/tags/v2.2.0.tar.gz
6.编译和安装
步骤 1 使用PuTTY工具,以root用户登录服务器。 步骤 2 进入“/home”目录:
cd /home
步骤 3 获取源码包:
wget https://github.com/shenwei356/seqkit/archive/refs/tags/v2.2.0.tar.gz
步骤 4 解压缩包:
mv v2.2.0.tar.gz seqkit-2.2.0.tar.gz && tar -xvf seqkit-2.2.0.tar.gz
步骤 5 进入编译配置:
go env -w CXX=clang++
go env -w CC=clang
go env

步骤 6 进行编译:
cd seqkit-2.2.0/seqkit/
go build

步骤 7 进行安装:
mkdir -p /usr/local/seqkit/seqkit/bin
cp ./seqkit /usr/local/seqkit/seqkit/bin
ls /usr/local/seqkit/seqkit/bin
步骤 8 环境变量设置:
vi /usr/local/seqkit/seqkit/seqkit_modulefiles
新增如下内容:
#%Module1.0
conflict seqkit
set SEQKIT /usr/local/seqkit/seqkit
setenv SEQKIT $SEQKIT
prepend-path PATH $SEQKIT/bin
步骤 9 加载环境变量:
module use /usr/local/seqkit/seqkit
module load /usr/local/seqkit/seqkit/seqkit_modulefiles
步骤 10 若要避免每打开一个shell就导入一次变量的情况,建议可写入到系统配置文件中(可选):
vi /etc/profile
新增如下内容:
module use /usr/local/seqkit/seqkit
module load /usr/local/seqkit/seqkit/seqkit_modulefiles
步骤 11 使环境变量生效。
source /etc/profile
----结束
7.运行和验证
数据来源: 测试验证数据及脚本皆来自seqkit源码包,源码包下载地址见第5章节,数据及脚本所在包中位置:

步骤 1 使用PuTTY工具,以root用户登录服务器。 步骤 2 进入源码包目录。
cd /home/seqkit-2.2.0/
步骤 3 拷贝测试验证脚本到当前目录:
cp tests/test.sh ./
步骤 4 编辑脚本,删除seqkit的生成命令,修改脚本中的seqkit所在路径为安装位置:
vi test.sh
注意:安装路径以实际情况为准。 修改前:

修改后:

步骤 5 执行如下命令验证seqkit的运行:
bash test.sh

步骤 6 查看seqkit工具详情 seqkit --help

相关文章:
Seqkit-2.2.0 移植指南(openEuler 20.03 LTS SP3)
1.软件介绍 seqkit是一种跨平台的、极快的,全面的fasta/q处理工具。seqkit为所有的主流操作系统提供了一种可执行的双元文件,包括Windows,Linux,MacOS X,并且不依赖于任何的配置或预先配置就可以直接使用。 关于seqk…...
Java版本企业电子招投标采购系统源码——功能模块功能描述+数字化采购管理 采购招投标
功能模块: 待办消息,招标公告,中标公告,信息发布 描述: 全过程数字化采购管理,打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力,为外部供…...
二十三种设计模式第五篇--原型模式
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建…...
阿里云镜像区别公共镜像、自定义、共享、云市场和社区镜像介绍
阿里云服务器镜像根据来源不同分为公共镜像、自定义镜像、共享镜像、云市场镜像和社区镜像,一般没有特殊情况选择公共镜像,公共镜像是阿里云官网提供的正版授权操作系统,云市场镜像是在纯净版操作系统的基础上预装了相关软件及运行环境&#…...
非线性方程二分法
非线性方程二分法 优点:算法直观、简单、总能保证收敛;局限:收敛速度慢、一般不单独用它求根,仅为了获取根的粗略近似 文章目录 非线性方程二分法[toc]1 二分法基本思想2 二分法实现 1 二分法基本思想 设 f ( x ) f(x) f(x)在 [ …...
H3C防火墙单机旁路部署(网关在防火墙)
防火墙旁路部署在核心交换机上,内网有三个网段vlan 10:172.16.10.1/24、vlan 20:172.16.20.1/24、vlan30:172.16.30.1。要求内网网关在防火墙设备上,由防火墙作为DHCP服务器给终端下发地址,同时由防火墙来控…...
基于密度的无线传感器网络聚类算法的博弈分析(Matlab代码实现)
目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨💻4 Matlab代码 💥1 概述 提高能源效率是无线传感器网络面临的关键挑战之一,无线传感器网络日益普遍。由于节点(传感器ÿ…...
宕机了?!DolphinScheduler 高可用和 Failover 机制关键时刻保命
高可用性是 Apache DolphinScheduler 的特性之一。它通过冗余来避免单点问题,所有组件天然支持横向扩容;但仅仅保证了冗余还不够,当系统中有节点宕机时,还需要有故障转移机制能够自动将宕机节点正在处理的工作转移到新节点上执行&…...
try(){}用法try-with-resources、try-catch-finally
属于Java7的新特性。 经常会用try-catch来捕获有可能抛出异常的代码。如果其中还涉及到资源的使用的话,最后在finally块中显示的释放掉有可能被占用的资源。 但是如果资源类已经实现了AutoCloseable这个接口的话,可以在try()括号中可以写操作资源的语句(…...
常见Http错误码学习
常见 http 错误码 服务器巡检时比较常见的 http 错误码 400 Bad Request408 Request Timeout499 client has closed connection502 Bad Gateway504 Gateway Timeout 这些错误码反映了服务器什么样的状态,仅看字面意思还不太容易理解,就动手做个试验…...
qemu-基础篇——ARM 链接过程分析(六)
文章目录 ARM 链接过程分析源文件global_bss_file.cglobal_data_fle.cglobal_function_file.cglobal_rodata_file.cmain.c 链接文件 link.lds编译命令及反汇编命令解析 .o 文件global_bss_file.oglobal_data_fle.oglobal_function_file.oglobal_rodata_file.omain.o 链接观察链…...
Java企业工程项目管理系统+spring cloud 系统管理+java 系统设置+二次开发
工程项目各模块及其功能点清单 一、系统管理 1、数据字典:实现对数据字典标签的增删改查操作 2、编码管理:实现对系统编码的增删改查操作 3、用户管理:管理和查看用户角色 4、菜单管理:实现对系统菜单的增删改查操…...
Eureka与Zookeeper的区别
著名的CAP 理论指出,一个分布式系统不可能同时满足 C( 一致性 ) 、 A( 可用性 ) 和 P( 分区容错性 ) 。 由于分区容错性在是分布式系统中必须要保证的,因此我们只能在 A 和 C 之间进行权衡,在此 Zookeeper 保证的是 CP, 而 Eureka 则是 AP…...
顺序表和链表的各种代码实现
一、线性表 在日常生活中,线性表的例子比比皆是。例如,26个英文字母的字母表(A,B,C,……,Z)是一个线性表,表中的数据元素式单个字母。在稍复杂的线性表中,一个数据元素可以包含若干个数据项。例…...
C# 介绍三种不同组件创建PDF文档的方式
1 c# 数据保存为PDF(一) (spire pdf篇) 2 c# 数据保存为PDF(二) (Aspose pdf篇) 3 c# 数据保存为PDF(三) (PdfSharp篇) 组件名称 绘制…...
极简面试题 --- Redis
什么是 Redis? Redis 是一个基于内存的键值存储系统,也被称为数据结构服务器。它支持多种数据结构,例如字符串、哈希表、列表、集合和有序集合,并且可以在内存中快速读写。 Redis 的优势有哪些? 快速:由…...
可视化图表API格式要求有哪些?Sugar BI详细代码示例(4)
Sugar BI中的每个图表可以对应一个数据 API,用户浏览报表时,选定一定的过滤条件,点击「查询」按钮将会通过 API 拉取相应的数据;前面说过,为了确保用户数据的安全性,Sugar BI上的所有数据请求都在Sugar BI的…...
学习vue(可与知乎合并)
一:组件及交互 1、什么是组件? 组件是可复用的 Vue 实例,且带有一个名字:在这个例子中是 。我们可以在一个通过 new Vue 创建的 Vue 根实例中,把这个组件作为自定义元素来使用: 声明组件 // 定义一个名…...
【UEFI实战】Linux下如何解析ACPI表
本文介绍如何在Linux下查看ACPI表示。使用的系统是Ubuntu18.04: Linux home 4.15.0-36-generic #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux 可以在如下的目录看到ACPI的基本信息: 但是默认的表都是不可以直接查看的&…...
Java-Redis持久化之RDB操作
Java-Redis持久化之RDB操作 1.为什么redis需要持久化?2.什么是RDB操作?3.请你用自己的话讲下RDB的过程?4.如何恢复rdb文件? 1.为什么redis需要持久化? Redis是内存数据库,如果不将内存数据库保存到磁盘,那么服务器进程退出&am…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...
云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...
Xela矩阵三轴触觉传感器的工作原理解析与应用场景
Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...
【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?
FTP(File Transfer Protocol)本身是一个基于 TCP 的协议,理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况,主要原因包括: ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...
二维FDTD算法仿真
二维FDTD算法仿真,并带完全匹配层,输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...
