当前位置: 首页 > news >正文

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. 硬件要求如下表:

项目说明
CPUKunpeng 920
内存大小32GB 2666MHz * 16
网卡1*10GE

2.2. 软件要求如下表:

项目版本下载地址
SeqKit2.2.0https://github.com/shenwei356/seqkit/archive/refs/tags/v2.2.0.tar.gz
毕昇编译器2.1.0https://www.hikunpeng.com/zh/developer/devkit/compiler/bisheng
gogo1.18https://dl.google.com/go/go1.18.linux-arm64.tar.gz

2.3. 操作系统要求如下表:

项目版本下载地址
openEuleropenEuler 20.03 SP3https://repo.openeuler.org/openEuler-20.03-LTS-SP3/
Kernel4.19.90https://gitee.com/openeuler/kernel

3.移植规划

本章节给出seqkit软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。

移植路径规划:

序号软件安装规划路径用途说明
1/usr/local/bisheng毕昇编译器的安装规划路径。这里的安装规划路径只是一个举例说明,建议部署在共享路径中。需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。
2/usr/local/seqkit/gogo环境安装规划路径。
3/usr/local/seqkit/seqkitSeqKit的安装规划路径。

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是一种跨平台的、极快的&#xff0c;全面的fasta/q处理工具。seqkit为所有的主流操作系统提供了一种可执行的双元文件&#xff0c;包括Windows&#xff0c;Linux&#xff0c;MacOS X&#xff0c;并且不依赖于任何的配置或预先配置就可以直接使用。 关于seqk…...

Java版本企业电子招投标采购系统源码——功能模块功能描述+数字化采购管理 采购招投标

功能模块&#xff1a; 待办消息&#xff0c;招标公告&#xff0c;中标公告&#xff0c;信息发布 描述&#xff1a; 全过程数字化采购管理&#xff0c;打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力&#xff0c;为外部供…...

二十三种设计模式第五篇--原型模式

原型模式&#xff08;Prototype Pattern&#xff09;是用于创建重复的对象&#xff0c;同时又能保证性能。这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口&#xff0c;该接口用于创建当前对象的克隆。当直接创建…...

阿里云镜像区别公共镜像、自定义、共享、云市场和社区镜像介绍

阿里云服务器镜像根据来源不同分为公共镜像、自定义镜像、共享镜像、云市场镜像和社区镜像&#xff0c;一般没有特殊情况选择公共镜像&#xff0c;公共镜像是阿里云官网提供的正版授权操作系统&#xff0c;云市场镜像是在纯净版操作系统的基础上预装了相关软件及运行环境&#…...

非线性方程二分法

非线性方程二分法 优点&#xff1a;算法直观、简单、总能保证收敛&#xff1b;局限&#xff1a;收敛速度慢、一般不单独用它求根&#xff0c;仅为了获取根的粗略近似 文章目录 非线性方程二分法[toc]1 二分法基本思想2 二分法实现 1 二分法基本思想 设 f ( x ) f(x) f(x)在 [ …...

H3C防火墙单机旁路部署(网关在防火墙)

防火墙旁路部署在核心交换机上&#xff0c;内网有三个网段vlan 10&#xff1a;172.16.10.1/24、vlan 20&#xff1a;172.16.20.1/24、vlan30&#xff1a;172.16.30.1。要求内网网关在防火墙设备上&#xff0c;由防火墙作为DHCP服务器给终端下发地址&#xff0c;同时由防火墙来控…...

基于密度的无线传感器网络聚类算法的博弈分析(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 提高能源效率是无线传感器网络面临的关键挑战之一&#xff0c;无线传感器网络日益普遍。由于节点&#xff08;传感器&#xff…...

宕机了?!DolphinScheduler 高可用和 Failover 机制关键时刻保命

高可用性是 Apache DolphinScheduler 的特性之一。它通过冗余来避免单点问题&#xff0c;所有组件天然支持横向扩容&#xff1b;但仅仅保证了冗余还不够&#xff0c;当系统中有节点宕机时&#xff0c;还需要有故障转移机制能够自动将宕机节点正在处理的工作转移到新节点上执行&…...

try(){}用法try-with-resources、try-catch-finally

属于Java7的新特性。 经常会用try-catch来捕获有可能抛出异常的代码。如果其中还涉及到资源的使用的话&#xff0c;最后在finally块中显示的释放掉有可能被占用的资源。 但是如果资源类已经实现了AutoCloseable这个接口的话&#xff0c;可以在try()括号中可以写操作资源的语句(…...

常见Http错误码学习

​ 常见 http 错误码 服务器巡检时比较常见的 http 错误码 400 Bad Request408 Request Timeout499 client has closed connection502 Bad Gateway504 Gateway Timeout 这些错误码反映了服务器什么样的状态&#xff0c;仅看字面意思还不太容易理解&#xff0c;就动手做个试验…...

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、数据字典&#xff1a;实现对数据字典标签的增删改查操作 2、编码管理&#xff1a;实现对系统编码的增删改查操作 3、用户管理&#xff1a;管理和查看用户角色 4、菜单管理&#xff1a;实现对系统菜单的增删改查操…...

Eureka与Zookeeper的区别

著名的CAP 理论指出&#xff0c;一个分布式系统不可能同时满足 C( 一致性 ) 、 A( 可用性 ) 和 P( 分区容错性 ) 。 由于分区容错性在是分布式系统中必须要保证的&#xff0c;因此我们只能在 A 和 C 之间进行权衡&#xff0c;在此 Zookeeper 保证的是 CP, 而 Eureka 则是 AP…...

顺序表和链表的各种代码实现

一、线性表 在日常生活中&#xff0c;线性表的例子比比皆是。例如&#xff0c;26个英文字母的字母表&#xff08;A,B,C,……&#xff0c;Z&#xff09;是一个线性表&#xff0c;表中的数据元素式单个字母。在稍复杂的线性表中&#xff0c;一个数据元素可以包含若干个数据项。例…...

C# 介绍三种不同组件创建PDF文档的方式

1 c# 数据保存为PDF&#xff08;一&#xff09; &#xff08;spire pdf篇&#xff09; 2 c# 数据保存为PDF&#xff08;二&#xff09; &#xff08;Aspose pdf篇&#xff09; 3 c# 数据保存为PDF&#xff08;三&#xff09; &#xff08;PdfSharp篇&#xff09; 组件名称 绘制…...

极简面试题 --- Redis

什么是 Redis&#xff1f; Redis 是一个基于内存的键值存储系统&#xff0c;也被称为数据结构服务器。它支持多种数据结构&#xff0c;例如字符串、哈希表、列表、集合和有序集合&#xff0c;并且可以在内存中快速读写。 Redis 的优势有哪些&#xff1f; 快速&#xff1a;由…...

可视化图表API格式要求有哪些?Sugar BI详细代码示例(4)

Sugar BI中的每个图表可以对应一个数据 API&#xff0c;用户浏览报表时&#xff0c;选定一定的过滤条件&#xff0c;点击「查询」按钮将会通过 API 拉取相应的数据&#xff1b;前面说过&#xff0c;为了确保用户数据的安全性&#xff0c;Sugar BI上的所有数据请求都在Sugar BI的…...

学习vue(可与知乎合并)

一&#xff1a;组件及交互 1、什么是组件&#xff1f; 组件是可复用的 Vue 实例&#xff0c;且带有一个名字&#xff1a;在这个例子中是 。我们可以在一个通过 new Vue 创建的 Vue 根实例中&#xff0c;把这个组件作为自定义元素来使用&#xff1a; 声明组件 // 定义一个名…...

【UEFI实战】Linux下如何解析ACPI表

本文介绍如何在Linux下查看ACPI表示。使用的系统是Ubuntu18.04&#xff1a; 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的基本信息&#xff1a; 但是默认的表都是不可以直接查看的&…...

Java-Redis持久化之RDB操作

Java-Redis持久化之RDB操作 1.为什么redis需要持久化&#xff1f;2.什么是RDB操作?3.请你用自己的话讲下RDB的过程?4.如何恢复rdb文件? 1.为什么redis需要持久化&#xff1f; Redis是内存数据库&#xff0c;如果不将内存数据库保存到磁盘&#xff0c;那么服务器进程退出&am…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...