From 242fbb126aaaa7468cbd9685281ef76ef2e33a29 Mon Sep 17 00:00:00 2001 From: Li Date: Tue, 31 Jan 2023 09:52:31 +0800 Subject: [PATCH 1/5] add blog for isoftstone --- .../SeqKit2.2.0/SeqKit-2.2.0-migrate.md | 420 ++++++++++++++++++ app/zh/blog/RabeLi/SeqKit2.2.0/pic1.png | Bin 0 -> 12525 bytes app/zh/blog/RabeLi/SeqKit2.2.0/pic10.png | Bin 0 -> 24220 bytes app/zh/blog/RabeLi/SeqKit2.2.0/pic11.png | Bin 0 -> 34681 bytes app/zh/blog/RabeLi/SeqKit2.2.0/pic2.png | Bin 0 -> 9914 bytes app/zh/blog/RabeLi/SeqKit2.2.0/pic3.png | Bin 0 -> 3315 bytes app/zh/blog/RabeLi/SeqKit2.2.0/pic4.png | Bin 0 -> 21654 bytes app/zh/blog/RabeLi/SeqKit2.2.0/pic5.png | Bin 0 -> 5476 bytes app/zh/blog/RabeLi/SeqKit2.2.0/pic6.png | Bin 0 -> 3781 bytes app/zh/blog/RabeLi/SeqKit2.2.0/pic7.png | Bin 0 -> 31490 bytes app/zh/blog/RabeLi/SeqKit2.2.0/pic8.png | Bin 0 -> 14366 bytes app/zh/blog/RabeLi/SeqKit2.2.0/pic9.png | Bin 0 -> 13412 bytes 12 files changed, 420 insertions(+) create mode 100644 app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md create mode 100644 app/zh/blog/RabeLi/SeqKit2.2.0/pic1.png create mode 100644 app/zh/blog/RabeLi/SeqKit2.2.0/pic10.png create mode 100644 app/zh/blog/RabeLi/SeqKit2.2.0/pic11.png create mode 100644 app/zh/blog/RabeLi/SeqKit2.2.0/pic2.png create mode 100644 app/zh/blog/RabeLi/SeqKit2.2.0/pic3.png create mode 100644 app/zh/blog/RabeLi/SeqKit2.2.0/pic4.png create mode 100644 app/zh/blog/RabeLi/SeqKit2.2.0/pic5.png create mode 100644 app/zh/blog/RabeLi/SeqKit2.2.0/pic6.png create mode 100644 app/zh/blog/RabeLi/SeqKit2.2.0/pic7.png create mode 100644 app/zh/blog/RabeLi/SeqKit2.2.0/pic8.png create mode 100644 app/zh/blog/RabeLi/SeqKit2.2.0/pic9.png diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md b/app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md new file mode 100644 index 000000000..6597b52d6 --- /dev/null +++ b/app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md @@ -0,0 +1,420 @@ +``` + SeqKit-2.2.0应用移植指南 +``` + +| **文档版本** | 01 | +| -------- | ------------ | +| **发布日期** | 2023-01-19 | +| **发布单位** | 软通动力信息技术有限公司 | + + 目  录 + + + +1 软件介绍 + +2 环境要求 + +3 移植规划数据 + +4 配置编译环境 + + 4.1 搭建鲲鹏基座软件 + + 4.2 yum安装依赖 + + 4.3 部署go环境 + +5 获取源码 + +6 编译和安装 + +7 运行和验证 + +8 修订记录 + + + + 内 容 + + + +1. **软件介绍** + + + +seqkit是一种跨平台的、极快的,全面的fasta/q处理工具。seqkit为所有的主流操作系统提供了一种可执行的双元文件,包括Windows,Linux,MacOS X,并且不依赖于任何的配置或预先配置就可以直接使用。 + +关于seqkit的更多信息请访问[seqkit官网](https://bioinf.shenwei.me/seqkit/)。 + +语言:go + +一句话描述:fasta/q处理工具 + +开源协议:MIT License + +建议版本:seqkit v2.2.0 + + + +2. **环境要求** + + + +a. 硬件要求如下表: + +| 项目 | 说明 | +| ---- | ----------------- | +| CPU | Kunpeng 920 | +| 内存大小 | 32GB 2666MHz * 16 | +| 网卡 | 1*10GE | + +b. 软件要求如下表: + +| 项目 | 版本 | 下载地址 | +| ------ | ------ | -------------------------------------------------------------------------------------------------------- | +| 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](https://dl.google.com/go/go1.17.linux-arm64.tar.gz) | + +c. 操作系统要求如下表: + +| 项目 | 版本 | 下载地址 | +| --------- | ------------------- | --------------------------------------------------- | +| 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环境安装规划路径。 | | +| 4 | /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-compiler** + +**baseurl=https://repo.oepkgs.net/bisheng/aarch64/** + +**enabled=1** + +**gpgcheck=0** + +**priority=100** + +**EOF** + +**步骤2**    从yum源下载和安装毕昇编译器rpm包: + +**yum update** + +**yum install bisheng-compiler -y** + +**步骤3**  (可选)清空当前窗口的hash表。 + +如果系统中有其他版本的 LLVM 编译器,请在安装毕昇编译器之后立即运行: + +**hash -r** + +防止clang命令被hash捕获,出现毕昇编译器或开源LLVM编译器无法使用的问题。 + +**步骤4**    验证安装是否成功。 + +安装完毕后执行如下命令验证毕昇编译器版本: + +**clang -v** + +如截图:pic1.png + +若返回结果已包含bisheng compiler版本信息,说明安装成功。 + + 4.1.2 **软件包安装方式** + +**步骤 1** 准备工作。 +在毕昇编译器产品页选择“毕昇编译器软件包下载”获取毕昇编译器软件包并且已上传至服务器上。 +https://www.hikunpeng.com/zh/developer/devkit/compiler/bisheng +**步骤 2** 安装毕昇编译器环境依赖项: +**yum install -y gcc glibc libatomic bc tar git** +**步骤 3** 设置安装目录。 + a.创建毕昇编译器安装目录 +**mkdir -p /usr/local/bisheng** +注:/usr/local/为举例说明路径,请根据用例存放实际路径修改。 + b.将毕昇编译器压缩包拷贝到安装目录下,并解压: +**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的目录。 +**步骤 4** 配置毕昇编译器的环境变量。 + a.安装environment-modules工具: +**yum install environment-modules -y** +**source /etc/profile** + b.创建环境变量配置文件: +**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** + c.在当前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** + +**步骤 5**  (可选)清空当前窗口的hash表。 + +如果系统中有其他版本的 LLVM 编译器,请在安装毕昇编译器之后立即运行如下命令 + +**hash -r** + +防止clang命令被hash捕获,出现毕昇编译器或开源LLVM编译器无法使用的问题。 + +**步骤 6** 验证安装是否成功。 + +安装完毕后执行如下命令验证毕昇编译器版本: + +**clang -v** + +如截图: + +pic1.png + +若返回结果已包含bisheng compiler版本信息,说明安装成功。 + +----结束 + + + +**4.2 安装依赖** + +**步骤1**:yum安装依赖包 + + **yum -y install git gcc gcc-c++ vim** **environment-modules** **tar** + +**source /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**使环境变量生效(不执行7步骤,该步骤可忽略)。 +**source /etc/profile** +**步骤 10** 执行以下查看安装路径: +**ls /usr/local/seqkit/go/** + +如截图: + +pic2.png + +**步骤11** 查看版本号: + +**go version** + +如截图: + +pic3.png + +**步骤 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** + +如截图: + +pic4.png + +**步骤 6** 进行编译: +**cd seqkit-2.2.0/seqkit/ +go build** + +如截图: + +pic5.png + +**步骤 7** 进行安装: +**mkdir -p /usr/local/seqkit/seqkit/bin +cp ./seqkit /usr/local/seqkit/seqkit/bin +ls /usr/local/seqkit/seqkit/bin** + +如截图: + +pic6.png + +**步骤 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** 使环境变量生效:(注:若不执行10步骤,该步骤可忽略)。 +**source /etc/profile** +----结束 + + + +7. **运行和验证** + + + +数据来源: +测试验证数据及脚本皆来自seqkit源码包,源码包下载地址见第5章节,数据及脚本所在包中位置如截图:pic7.png + +**步骤 1** 使用PuTTY工具,以root用户登录服务器。 +**步骤 2** 进入源码包目录。 +**cd /home/seqkit-2.2.0/** +**步骤 3** 拷贝测试验证脚本到当前目录: + cp tests/test.sh ./ +**步骤 4** 编辑脚本,删除seqkit的生成命令,修改脚本中的seqkit所在路径为安装位置: +**vi test.sh** + 注:安装路径以实际情况为准。 +修改前如截图: + +pic8.png + +修改后如截图: + +pic9.png + +**步骤 5** 执行如下命令验证seqkit的运行。 +**bash test.sh** + +如截图: + +pic10.png + +**步骤 6** 查看seqkit工具详情。 +**seqkit --help** + +如截图: + +pic11.png + +----结束 + + + +8. **修订记录** + +| 发布日期 | 修订记录 | +| ---------- | -------- | +| 2023-01-19 | 第一次正式发布。 | diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/pic1.png b/app/zh/blog/RabeLi/SeqKit2.2.0/pic1.png new file mode 100644 index 0000000000000000000000000000000000000000..cb519f01c03b6aafa99f158dfed4c3822772c39c GIT binary patch literal 12525 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

ovnUhD;&KLP_VcD!|^;0`onyoM1 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 literal 0 HcmV?d00001 diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/pic11.png b/app/zh/blog/RabeLi/SeqKit2.2.0/pic11.png new file mode 100644 index 0000000000000000000000000000000000000000..d77d764bb27b6fb54e8ca3861d631eac890a62cc GIT binary patch literal 34681 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 literal 0 HcmV?d00001 diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/pic4.png b/app/zh/blog/RabeLi/SeqKit2.2.0/pic4.png new file mode 100644 index 0000000000000000000000000000000000000000..eee8545a19a62b3138c4f05f447fa8c15e832162 GIT binary patch literal 21654 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 E0MT6X3jhEB literal 0 HcmV?d00001 diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/pic5.png b/app/zh/blog/RabeLi/SeqKit2.2.0/pic5.png new file mode 100644 index 0000000000000000000000000000000000000000..2421e0974425090f181741ccbb128243caeb58be GIT binary patch literal 5476 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 D%+aZp literal 0 HcmV?d00001 diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/pic6.png b/app/zh/blog/RabeLi/SeqKit2.2.0/pic6.png new file mode 100644 index 0000000000000000000000000000000000000000..095bfe90c41c217e2e1324c4cc222c3484bec0dd GIT binary patch literal 3781 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 literal 0 HcmV?d00001 diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/pic7.png b/app/zh/blog/RabeLi/SeqKit2.2.0/pic7.png new file mode 100644 index 0000000000000000000000000000000000000000..354413e648ae1d9bb992ca0cdeaf010a312c9c98 GIT binary patch literal 31490 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 z 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 pPgt`8Jj#{Ip0L@F0i^dPEp!nDsiBuZ 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 literal 0 HcmV?d00001 -- Gitee From 37697a74ca3835f6beeefaafb50f8ba35fe2ba58 Mon Sep 17 00:00:00 2001 From: Li Date: Wed, 8 Feb 2023 15:46:15 +0800 Subject: [PATCH 2/5] --- .../SeqKit2.2.0/SeqKit-2.2.0-migrate.md | 425 ++++++++---------- .../RabeLi/SeqKit2.2.0/{ => images}/pic1.png | Bin .../RabeLi/SeqKit2.2.0/{ => images}/pic10.png | Bin .../RabeLi/SeqKit2.2.0/{ => images}/pic11.png | Bin .../RabeLi/SeqKit2.2.0/{ => images}/pic2.png | Bin .../RabeLi/SeqKit2.2.0/{ => images}/pic3.png | Bin .../RabeLi/SeqKit2.2.0/{ => images}/pic4.png | Bin .../RabeLi/SeqKit2.2.0/{ => images}/pic5.png | Bin .../RabeLi/SeqKit2.2.0/{ => images}/pic6.png | Bin .../RabeLi/SeqKit2.2.0/{ => images}/pic7.png | Bin .../RabeLi/SeqKit2.2.0/{ => images}/pic8.png | Bin .../RabeLi/SeqKit2.2.0/{ => images}/pic9.png | Bin 12 files changed, 198 insertions(+), 227 deletions(-) rename app/zh/blog/RabeLi/SeqKit2.2.0/{ => images}/pic1.png (100%) rename app/zh/blog/RabeLi/SeqKit2.2.0/{ => images}/pic10.png (100%) rename app/zh/blog/RabeLi/SeqKit2.2.0/{ => images}/pic11.png (100%) rename app/zh/blog/RabeLi/SeqKit2.2.0/{ => images}/pic2.png (100%) rename app/zh/blog/RabeLi/SeqKit2.2.0/{ => images}/pic3.png (100%) rename app/zh/blog/RabeLi/SeqKit2.2.0/{ => images}/pic4.png (100%) rename app/zh/blog/RabeLi/SeqKit2.2.0/{ => images}/pic5.png (100%) rename app/zh/blog/RabeLi/SeqKit2.2.0/{ => images}/pic6.png (100%) rename app/zh/blog/RabeLi/SeqKit2.2.0/{ => images}/pic7.png (100%) rename app/zh/blog/RabeLi/SeqKit2.2.0/{ => images}/pic8.png (100%) rename app/zh/blog/RabeLi/SeqKit2.2.0/{ => images}/pic9.png (100%) diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md b/app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md index 6597b52d6..74572c0f7 100644 --- a/app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md +++ b/app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md @@ -1,47 +1,18 @@ -``` - SeqKit-2.2.0应用移植指南 -``` - -| **文档版本** | 01 | -| -------- | ------------ | -| **发布日期** | 2023-01-19 | -| **发布单位** | 软通动力信息技术有限公司 | - - 目  录 - - - -1 软件介绍 - -2 环境要求 - -3 移植规划数据 - -4 配置编译环境 - - 4.1 搭建鲲鹏基座软件 - - 4.2 yum安装依赖 - - 4.3 部署go环境 - -5 获取源码 - -6 编译和安装 - -7 运行和验证 - -8 修订记录 - - - - 内 容 - - - -1. **软件介绍** - - +--- +title: "Seqkit-2.2.0-migrate" +date: 2023-02-07 +category: blog +tags: + - Seqkit-2.2.0软件迁移移植案例 + - 重装替换 +sig: sig-Compatibility-Infra +archives: 2023-02 +author: RabeLi +summary: "详细介绍了Seqkit-2.2.0软件移植到openEuler操作系统的具体操作步骤" + +--- + +# 1.**软件介绍** seqkit是一种跨平台的、极快的,全面的fasta/q处理工具。seqkit为所有的主流操作系统提供了一种可执行的双元文件,包括Windows,Linux,MacOS X,并且不依赖于任何的配置或预先配置就可以直接使用。 @@ -55,13 +26,9 @@ seqkit是一种跨平台的、极快的,全面的fasta/q处理工具。seqkit 建议版本:seqkit v2.2.0 +# 2.**环境要求** - -2. **环境要求** - - - -a. 硬件要求如下表: +## 2.1. 硬件要求如下表: | 项目 | 说明 | | ---- | ----------------- | @@ -69,7 +36,7 @@ a. 硬件要求如下表: | 内存大小 | 32GB 2666MHz * 16 | | 网卡 | 1*10GE | -b. 软件要求如下表: +## 2.2. 软件要求如下表: | 项目 | 版本 | 下载地址 | | ------ | ------ | -------------------------------------------------------------------------------------------------------- | @@ -77,34 +44,26 @@ b. 软件要求如下表: | 毕昇编译器 | 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](https://dl.google.com/go/go1.17.linux-arm64.tar.gz) | -c. 操作系统要求如下表: +## 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. **移植规划** - - +# 3.**移植规划** 本章节给出seqkit软件在移植过程中涉及到的相关软件安装规划路径的用途及详细说明。 -移植规划数据如下: +移植路径规划: | 序号 | 软件安装规划路径 | 用途 | 说明 | | --- | ------------------------ | -------------- | ----------------------------------------------------------------------------------- | | 1 | /usr/local/bisheng | 毕昇编译器的安装规划路径。 | 这里的安装规划路径只是一个举例说明,建议部署在共享路径中。需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。 | | 2 | /usr/local/seqkit/go | go环境安装规划路径。 | | -| 4 | /usr/local/seqkit/seqkit | SeqKit的安装规划路径。 | | - +| 3 | /usr/local/seqkit/seqkit | SeqKit的安装规划路径。 | | - -4. **配置编译环境** - - +# 4.**配置编译环境** 前提条件:使用SFTP工具将各安装包上传至服务器对应目录下。 @@ -116,41 +75,38 @@ c. 操作系统要求如下表: | 2 | 安装依赖 | 参考4.2 yum安装依赖 | | 3 | 部署go环境 | 参考4.3 部署go环境 | - - -4.1 **搭建鲲鹏基座软件** +## 4.1 **搭建鲲鹏基座软件** - 4.1.1 **yum源安装方式** +### 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-compiler** - -**baseurl=https://repo.oepkgs.net/bisheng/aarch64/** - -**enabled=1** - -**gpgcheck=0** - -**priority=100** - -**EOF** + cat > /etc/yum.repos.d/bisheng-compiler.repo << EOF + + [bisheng-compiler] + + name=bisheng-compiler + + baseurl=https://repo.oepkgs.net/bisheng/aarch64/ + + enabled=1 + + gpgcheck=0 + + priority=100 + + EOF **步骤2**    从yum源下载和安装毕昇编译器rpm包: -**yum update** - -**yum install bisheng-compiler -y** + yum update + yum install bisheng-compiler -y **步骤3**  (可选)清空当前窗口的hash表。 如果系统中有其他版本的 LLVM 编译器,请在安装毕昇编译器之后立即运行: -**hash -r** + hash -r 防止clang命令被hash捕获,出现毕昇编译器或开源LLVM编译器无法使用的问题。 @@ -158,60 +114,70 @@ c. 操作系统要求如下表: 安装完毕后执行如下命令验证毕昇编译器版本: -**clang -v** + clang -v 如截图:pic1.png 若返回结果已包含bisheng compiler版本信息,说明安装成功。 - 4.1.2 **软件包安装方式** +### 4.1.2 **软件包安装方式** **步骤 1** 准备工作。 在毕昇编译器产品页选择“毕昇编译器软件包下载”获取毕昇编译器软件包并且已上传至服务器上。 -https://www.hikunpeng.com/zh/developer/devkit/compiler/bisheng +下载地址:https://www.hikunpeng.com/zh/developer/devkit/compiler/bisheng **步骤 2** 安装毕昇编译器环境依赖项: -**yum install -y gcc glibc libatomic bc tar git** + + yum install -y gcc glibc libatomic bc tar git + **步骤 3** 设置安装目录。 a.创建毕昇编译器安装目录 -**mkdir -p /usr/local/bisheng** -注:/usr/local/为举例说明路径,请根据用例存放实际路径修改。 + + mkdir -p /usr/local/bisheng + +**注意:**/usr/local/为举例说明路径,请根据用例存放实际路径修改。 b.将毕昇编译器压缩包拷贝到安装目录下,并解压: -**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** + + 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的目录。 **步骤 4** 配置毕昇编译器的环境变量。 - a.安装environment-modules工具: -**yum install environment-modules -y** -**source /etc/profile** - b.创建环境变量配置文件: -**vi /usr/local/bisheng/bisheng_modulefiles** +a.安装environment-modules工具: + + yum install environment-modules -y + source /etc/profile + +b.创建环境变量配置文件: + + 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** - c.在当前shell中加载环境变量: -**module use /usr/local/bisheng**/ + #%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 -**module load /usr/local**/**bisheng/bisheng_modulefiles** +c.在当前shell中加载环境变量: -**注意**:**若要避免每打开一个shell,导入一次变量。可写入到系统配置文件中。 + module use /usr/local/bisheng/ + module load /usr/local/bisheng/bisheng_modulefiles -**vi /etc/profile** +**注意**:若要避免每打开一个shell就要导入一次变量的情况,建议可将环境变量写入到系统配置文件中(可选): -新增如下内容: + vi /etc/profile -**module use /usr/local**/**bisheng/** +新增如下内容: -**module load /usr/local/bisheng/bisheng_modulefiles** + module use /usr/local/bisheng/ + module load /usr/local/bisheng/bisheng_modulefiles **步骤 5**  (可选)清空当前窗口的hash表。 -如果系统中有其他版本的 LLVM 编译器,请在安装毕昇编译器之后立即运行如下命令 +如果系统中有其他版本的 LLVM 编译器,请在安装毕昇编译器之后立即运行如下命令: -**hash -r** + hash -r 防止clang命令被hash捕获,出现毕昇编译器或开源LLVM编译器无法使用的问题。 @@ -219,202 +185,207 @@ prepend-path LD_LIBRARY_PATH /usr/local/bisheng/bisheng-compiler-2.1.0-aarch64-l 安装完毕后执行如下命令验证毕昇编译器版本: -**clang -v** + clang -v -如截图: - -pic1.png +![](images/pic1.png) 若返回结果已包含bisheng compiler版本信息,说明安装成功。 ----结束 +## **4.2 安装依赖** +**步骤1**:yum安装依赖包: -**4.2 安装依赖** - -**步骤1**:yum安装依赖包 +  yum -y install git gcc gcc-c++ vim environment-modules tar +  source /etc/profile - **yum -y install git gcc gcc-c++ vim** **environment-modules** **tar** +## **4.3 部署go环境** -**source /etc/profile** +**步骤 1** 使用PuTTY工具,以root用户登录服务器。 +**步骤 2** 进入“/home”目录: -----结束 + cd /home +**步骤 3** 获取go压缩包: + wget https://dl.google.com/go/go1.18.linux-arm64.tar.gz -**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/** + + mkdir -p /usr/local/seqkit/ + **步骤 5** 解压go安装包: -**tar -zxvf go1.18.linux-arm64.tar.gz -C /usr/local/seqkit/** + + 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** + vi /usr/local/seqkit/go/go_modulefiles + +新增如下内容: -**prepend-path PATH $GO/bin** + #%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**使环境变量生效(不执行7步骤,该步骤可忽略)。 -**source /etc/profile** -**步骤 10** 执行以下查看安装路径: -**ls /usr/local/seqkit/go/** -如截图: + module use /usr/local/seqkit/go + module load /usr/local/seqkit/go/go_modulefiles -pic2.png +**步骤 8** 若要避免每打开一个shell就要导入一次变量的情况,建议可将环境变量写入到系统配置文件中(可选): -**步骤11** 查看版本号: + vi /etc/profile -**go version** +新增如下内容: -如截图: + module use /usr/local/seqkit/go + module load /usr/local/seqkit/go/go_modulefiles -pic3.png +**步骤 9**使环境变量生效。 -**步骤 12**  将go源替换成国内源: + source /etc/profile + +**步骤 10** 执行以下查看安装路径: -**go env -w GOPROXY=https://goproxy.cn** + ls /usr/local/seqkit/go/ -----结束 +![](images/pic2.png) +**步骤11** 查看版本号: + go version -5. **获取源码** - - +![](images/pic3.png) -**步骤 1** 下载seqkit安装包“v2.2.0.tar.gz”。 +**步骤 12**  将go源替换成国内源: -下载地址:https://github.com/shenwei356/seqkit/archive/refs/tags/v2.2.0.tar.gz 。 + 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. **编译和安装** - - +# 6.**编译和安装** **步骤 1** 使用PuTTY工具,以root用户登录服务器。 -**步骤 2** 进入“/home”目录。 -**cd /home** +**步骤 2** 进入“/home”目录: + + cd /home + **步骤 3** 获取源码包: -**wget https://github.com/shenwei356/seqkit/archive/refs/tags/v2.2.0.tar.gz** + + 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** + + 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** -如截图: + go env -w CXX=clang++ + go env -w CC=clang + go env -pic4.png +![](images/pic4.png) **步骤 6** 进行编译: -**cd seqkit-2.2.0/seqkit/ -go build** -如截图: + cd seqkit-2.2.0/seqkit/ + go build -pic5.png +![](images/pic5.png) **步骤 7** 进行安装: -**mkdir -p /usr/local/seqkit/seqkit/bin -cp ./seqkit /usr/local/seqkit/seqkit/bin -ls /usr/local/seqkit/seqkit/bin** -如截图: + mkdir -p /usr/local/seqkit/seqkit/bin + cp ./seqkit /usr/local/seqkit/seqkit/bin + ls /usr/local/seqkit/seqkit/bin -pic6.png +![](images/pic6.png) **步骤 8** 环境变量设置: -**vi /usr/local/seqkit/seqkit/seqkit_modulefiles** -新增如下内容: -**#%Module1.0 -conflict seqkit -set SEQKIT /usr/local/seqkit/seqkit** -**setenv SEQKIT $SEQKIT** + vi /usr/local/seqkit/seqkit/seqkit_modulefiles + +新增如下内容: -**prepend-path PATH $SEQKIT/bin** + #%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 + +**步骤 10** 若要避免每打开一个shell就导入一次变量的情况,建议可写入到系统配置文件中(可选): + + vi /etc/profile + 新增如下内容: -**module use /usr/local/seqkit/seqkit -module load /usr/local/seqkit/seqkit/seqkit_modulefiles** -**步骤 11** 使环境变量生效:(注:若不执行10步骤,该步骤可忽略)。 -**source /etc/profile** -----结束 + module use /usr/local/seqkit/seqkit + module load /usr/local/seqkit/seqkit/seqkit_modulefiles + +**步骤 11** 使环境变量生效。 + source /etc/profile -7. **运行和验证** - - +----结束 + +# 7.**运行和验证** 数据来源: -测试验证数据及脚本皆来自seqkit源码包,源码包下载地址见第5章节,数据及脚本所在包中位置如截图:pic7.png +测试验证数据及脚本皆来自seqkit源码包,源码包下载地址见第5章节,数据及脚本所在包中位置: + +![](images/pic7.png) **步骤 1** 使用PuTTY工具,以root用户登录服务器。 **步骤 2** 进入源码包目录。 -**cd /home/seqkit-2.2.0/** + + cd /home/seqkit-2.2.0/ + **步骤 3** 拷贝测试验证脚本到当前目录: - cp tests/test.sh ./ -**步骤 4** 编辑脚本,删除seqkit的生成命令,修改脚本中的seqkit所在路径为安装位置: -**vi test.sh** - 注:安装路径以实际情况为准。 -修改前如截图: -pic8.png + cp tests/test.sh ./ -修改后如截图: +**步骤 4** 编辑脚本,删除seqkit的生成命令,修改脚本中的seqkit所在路径为安装位置: -pic9.png + vi test.sh -**步骤 5** 执行如下命令验证seqkit的运行。 -**bash test.sh** +**注意**:安装路径以实际情况为准。 +修改前: -如截图: +![](images/pic8.png) -pic10.png +修改后: -**步骤 6** 查看seqkit工具详情。 -**seqkit --help** +![](images/pic9.png) -如截图: +**步骤 5** 执行如下命令验证seqkit的运行: -pic11.png + bash test.sh -----结束 +![](images/pic10.png) + +**步骤 6** 查看seqkit工具详情 +seqkit --help +![](images/pic11.png) +----结束。 -8. **修订记录** +# 8.**修订记录** | 发布日期 | 修订记录 | | ---------- | -------- | -| 2023-01-19 | 第一次正式发布。 | +| 2023-02-08 | 第一次正式发布。 | diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/pic1.png b/app/zh/blog/RabeLi/SeqKit2.2.0/images/pic1.png similarity index 100% rename from app/zh/blog/RabeLi/SeqKit2.2.0/pic1.png rename to app/zh/blog/RabeLi/SeqKit2.2.0/images/pic1.png diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/pic10.png b/app/zh/blog/RabeLi/SeqKit2.2.0/images/pic10.png similarity index 100% rename from app/zh/blog/RabeLi/SeqKit2.2.0/pic10.png rename to app/zh/blog/RabeLi/SeqKit2.2.0/images/pic10.png diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/pic11.png b/app/zh/blog/RabeLi/SeqKit2.2.0/images/pic11.png similarity index 100% rename from app/zh/blog/RabeLi/SeqKit2.2.0/pic11.png rename to app/zh/blog/RabeLi/SeqKit2.2.0/images/pic11.png diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/pic2.png b/app/zh/blog/RabeLi/SeqKit2.2.0/images/pic2.png similarity index 100% rename from app/zh/blog/RabeLi/SeqKit2.2.0/pic2.png rename to app/zh/blog/RabeLi/SeqKit2.2.0/images/pic2.png diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/pic3.png b/app/zh/blog/RabeLi/SeqKit2.2.0/images/pic3.png similarity index 100% rename from app/zh/blog/RabeLi/SeqKit2.2.0/pic3.png rename to app/zh/blog/RabeLi/SeqKit2.2.0/images/pic3.png diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/pic4.png b/app/zh/blog/RabeLi/SeqKit2.2.0/images/pic4.png similarity index 100% rename from app/zh/blog/RabeLi/SeqKit2.2.0/pic4.png rename to app/zh/blog/RabeLi/SeqKit2.2.0/images/pic4.png diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/pic5.png b/app/zh/blog/RabeLi/SeqKit2.2.0/images/pic5.png similarity index 100% rename from app/zh/blog/RabeLi/SeqKit2.2.0/pic5.png rename to app/zh/blog/RabeLi/SeqKit2.2.0/images/pic5.png diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/pic6.png b/app/zh/blog/RabeLi/SeqKit2.2.0/images/pic6.png similarity index 100% rename from app/zh/blog/RabeLi/SeqKit2.2.0/pic6.png rename to app/zh/blog/RabeLi/SeqKit2.2.0/images/pic6.png diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/pic7.png b/app/zh/blog/RabeLi/SeqKit2.2.0/images/pic7.png similarity index 100% rename from app/zh/blog/RabeLi/SeqKit2.2.0/pic7.png rename to app/zh/blog/RabeLi/SeqKit2.2.0/images/pic7.png diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/pic8.png b/app/zh/blog/RabeLi/SeqKit2.2.0/images/pic8.png similarity index 100% rename from app/zh/blog/RabeLi/SeqKit2.2.0/pic8.png rename to app/zh/blog/RabeLi/SeqKit2.2.0/images/pic8.png diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/pic9.png b/app/zh/blog/RabeLi/SeqKit2.2.0/images/pic9.png similarity index 100% rename from app/zh/blog/RabeLi/SeqKit2.2.0/pic9.png rename to app/zh/blog/RabeLi/SeqKit2.2.0/images/pic9.png -- Gitee From ce81edd1686c8951567f9126327b9d1b556f9d45 Mon Sep 17 00:00:00 2001 From: Li Date: Wed, 8 Feb 2023 15:57:33 +0800 Subject: [PATCH 3/5] add blog for isoftstone --- .../blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md b/app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md index 74572c0f7..34f31dcb5 100644 --- a/app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md +++ b/app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md @@ -9,7 +9,6 @@ sig: sig-Compatibility-Infra archives: 2023-02 author: RabeLi summary: "详细介绍了Seqkit-2.2.0软件移植到openEuler操作系统的具体操作步骤" - --- # 1.**软件介绍** @@ -57,11 +56,11 @@ seqkit是一种跨平台的、极快的,全面的fasta/q处理工具。seqkit 移植路径规划: -| 序号 | 软件安装规划路径 | 用途 | 说明 | -| --- | ------------------------ | -------------- | ----------------------------------------------------------------------------------- | -| 1 | /usr/local/bisheng | 毕昇编译器的安装规划路径。 | 这里的安装规划路径只是一个举例说明,建议部署在共享路径中。需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。 | -| 2 | /usr/local/seqkit/go | go环境安装规划路径。 | | -| 3 | /usr/local/seqkit/seqkit | SeqKit的安装规划路径。 | | +| 序号 | 软件安装规划路径 | 用途 | 说明 | +| ------------------------------ | ------------------------ | -------------- | ----------------------------------------------------------------------------------- | +| 1 | /usr/local/bisheng | 毕昇编译器的安装规划路径。 | 这里的安装规划路径只是一个举例说明,建议部署在共享路径中。需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。 | +| 2 | /usr/local/seqkit/go | go环境安装规划路径。 | | +| 3 | /usr/local/seqkit/seqkit | SeqKit的安装规划路径。 | | # 4.**配置编译环境** -- Gitee From 1001ca09a486c2a1056391332e3a32be6ab87346 Mon Sep 17 00:00:00 2001 From: Li Date: Wed, 8 Feb 2023 17:13:09 +0800 Subject: [PATCH 4/5] add blog for isoftstone --- .../SeqKit2.2.0/SeqKit-2.2.0-migrate.md | 44 +++++++++++-------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md b/app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md index 34f31dcb5..a32d853e6 100644 --- a/app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md +++ b/app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md @@ -56,11 +56,13 @@ seqkit是一种跨平台的、极快的,全面的fasta/q处理工具。seqkit 移植路径规划: -| 序号 | 软件安装规划路径 | 用途 | 说明 | -| ------------------------------ | ------------------------ | -------------- | ----------------------------------------------------------------------------------- | -| 1 | /usr/local/bisheng | 毕昇编译器的安装规划路径。 | 这里的安装规划路径只是一个举例说明,建议部署在共享路径中。需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。 | -| 2 | /usr/local/seqkit/go | go环境安装规划路径。 | | -| 3 | /usr/local/seqkit/seqkit | SeqKit的安装规划路径。 | | + + +| 序号 | 软件安装规划路径 | 用途 | 说明 | +| --- | ------------------------ | -------------- | ----------------------------------------------------------------------------------- | +| 1 | /usr/local/bisheng | 毕昇编译器的安装规划路径。 | 这里的安装规划路径只是一个举例说明,建议部署在共享路径中。需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。 | +| 2 | /usr/local/seqkit/go | go环境安装规划路径。 | | +| 3 | /usr/local/seqkit/seqkit | SeqKit的安装规划路径。 | | # 4.**配置编译环境** @@ -115,7 +117,7 @@ seqkit是一种跨平台的、极快的,全面的fasta/q处理工具。seqkit clang -v -如截图:pic1.png +![](images/pic1.png) 若返回结果已包含bisheng compiler版本信息,说明安装成功。 @@ -123,31 +125,33 @@ seqkit是一种跨平台的、极快的,全面的fasta/q处理工具。seqkit **步骤 1** 准备工作。 在毕昇编译器产品页选择“毕昇编译器软件包下载”获取毕昇编译器软件包并且已上传至服务器上。 + 下载地址:https://www.hikunpeng.com/zh/developer/devkit/compiler/bisheng + **步骤 2** 安装毕昇编译器环境依赖项: - yum install -y gcc glibc libatomic bc tar git + yum install -y gcc glibc libatomic bc tar -**步骤 3** 设置安装目录。 - a.创建毕昇编译器安装目录 +**步骤 3** 创建毕昇编译器安装目录: mkdir -p /usr/local/bisheng **注意:**/usr/local/为举例说明路径,请根据用例存放实际路径修改。 - b.将毕昇编译器压缩包拷贝到安装目录下,并解压: + +**步骤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的目录。 -**步骤 4** 配置毕昇编译器的环境变量。 -a.安装environment-modules工具: +解压完成后在当前目录下出现名为“bisheng-compiler-2.1.0-aarch64-linux”的目录。 + +**步骤 5** 安装environment-modules工具: yum install environment-modules -y source /etc/profile -b.创建环境变量配置文件: +**步骤6** 创建环境变量配置文件: vi /usr/local/bisheng/bisheng_modulefiles @@ -158,7 +162,7 @@ b.创建环境变量配置文件: 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 -c.在当前shell中加载环境变量: +**步骤7** 在当前shell中加载环境变量: module use /usr/local/bisheng/ module load /usr/local/bisheng/bisheng_modulefiles @@ -172,7 +176,11 @@ c.在当前shell中加载环境变量: module use /usr/local/bisheng/ module load /usr/local/bisheng/bisheng_modulefiles -**步骤 5**  (可选)清空当前窗口的hash表。 +**步骤 8**使环境变量生效。 + + source /etc/profile + +**步骤 9** 清空当前窗口的hash表(可选)。 如果系统中有其他版本的 LLVM 编译器,请在安装毕昇编译器之后立即运行如下命令: @@ -180,7 +188,7 @@ c.在当前shell中加载环境变量: 防止clang命令被hash捕获,出现毕昇编译器或开源LLVM编译器无法使用的问题。 -**步骤 6** 验证安装是否成功。 +**步骤 10** 验证安装是否成功。 安装完毕后执行如下命令验证毕昇编译器版本: @@ -196,7 +204,7 @@ c.在当前shell中加载环境变量: **步骤1**:yum安装依赖包: -  yum -y install git gcc gcc-c++ vim environment-modules tar +  yum -y install git gcc gcc-c++ vim  source /etc/profile ## **4.3 部署go环境** -- Gitee From fcb19779ff48d946d238e3078d38a377f0355954 Mon Sep 17 00:00:00 2001 From: Li Date: Wed, 8 Feb 2023 17:27:33 +0800 Subject: [PATCH 5/5] add blog for isoftstone --- app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md b/app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md index a32d853e6..efe2e13ee 100644 --- a/app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md +++ b/app/zh/blog/RabeLi/SeqKit2.2.0/SeqKit-2.2.0-migrate.md @@ -1,6 +1,6 @@ --- title: "Seqkit-2.2.0-migrate" -date: 2023-02-07 +date: 2023-02-08 category: blog tags: - Seqkit-2.2.0软件迁移移植案例 @@ -56,8 +56,6 @@ seqkit是一种跨平台的、极快的,全面的fasta/q处理工具。seqkit 移植路径规划: - - | 序号 | 软件安装规划路径 | 用途 | 说明 | | --- | ------------------------ | -------------- | ----------------------------------------------------------------------------------- | | 1 | /usr/local/bisheng | 毕昇编译器的安装规划路径。 | 这里的安装规划路径只是一个举例说明,建议部署在共享路径中。需要根据实际情况调整,后续章节凡是遇到安装路径的命令,都以现网实际规划的安装路径为准进行替换,不再单独说明。 | @@ -124,9 +122,10 @@ seqkit是一种跨平台的、极快的,全面的fasta/q处理工具。seqkit ### 4.1.2 **软件包安装方式** **步骤 1** 准备工作。 -在毕昇编译器产品页选择“毕昇编译器软件包下载”获取毕昇编译器软件包并且已上传至服务器上。 -下载地址:https://www.hikunpeng.com/zh/developer/devkit/compiler/bisheng +在毕昇编译器产品页选择“[毕昇编译器软件包下载](https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_compiler/BiSheng-compiler-2.5.0-aarch64-linux.tar.gz)”获取毕昇编译器软件包并且上传至服务器上。 + +软件包下载页面:https://www.hikunpeng.com/zh/developer/devkit/compiler/bisheng **步骤 2** 安装毕昇编译器环境依赖项: -- Gitee