0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Singularity—生信流程搭建的幸运儿

冬至子 来源:生信小尧 作者:生信小尧 2023-05-22 14:46 次阅读

1

Singularity简介

怎么样高效的搭建分析流程且能保证分析流程稳定运行的使用效果呢?目前主流的是conda容器技术 (container)。

虽然 conda能解决大部分生信软件安装问题 ,但是 若软件安装多了 ,会出现兼容性问题以及 ”臃肿” 现象,为此,引入容器技术(container)来解决这些问题。

在容器技术中,docker和singularity常用的容器软件。但 docker不太适合 HPC 环境 。因为在调度管理器上容器无法施加资源限制、多用户(非 root 用户)使用时会出现权限问题、而且docker会存在一些不必要的资源开销。

为此,引进singularity容器来解决docker的一些 缺点 。首先,singularity可以兼容docker的镜像,同时构建出的镜像可以很容易进行拷贝和转移,且体积更小;此外singularity 假设用户在一个有root权限的系统上构建容器,在一个没有root权限的系统上运行容器,兼顾了数据的安全性和便捷性,更加符合实际的应用场景。

2

Singularity安装

方法1:conda安装( 最简便、无需root权限

conda create -n singularity singularity -y

方法2:自行编译

#1. 安装依赖
sudo apt-get update && sudo apt-get install -y \\
build-essential \\
uuid-dev \\
libgpgme-dev \\
squashfs-tools \\
libseccomp-dev \\
wget \\
pkg-config \\
git \\
cryptsetup-bin
#2.安装 GO 语言;下载地址:https://golang.org/dl/
cd
wget https://dl.google.com/go/go1.20.1.linux-amd64.tar.gz
tar -xzvf go1.20.1.linux-amd64.tar.gz
rm go1.20.1.linux-amd64.tar.gz
添加到环境变量
echo 'export PATH=~/go/bin:$PATH' >>~/.bashrc
#3. 下载 singularity;下载地址:https://github.com/hpcng/singularity/releasessudo
apt install singularity-container #不一定是最新版
#或
wget https://github.com/apptainer/singularity/releases/download/v3.8.7/singularity-3.8.7.tar.gz
$ tar -xzf singularity-3.8.7.tar.gz
cd singularity
#4. 安装 singularity
./mconfig
cd builddir
make
sudo make install
#最后记得添加到 PATH哦。

3

Singularity基础知识

1.Singularity的两种镜像格式

图片

2.两种镜像格式之间的转换

图片

3.其他常见命令

图片

4

Singularity实操

  1. 下载 images

Container Library

Docker Hub

#官方库下载
singularity pull --arch amd64 library://library/default/ubuntu:20.04
#Docker镜像转Singularity镜像
singularity pull docker://ubuntu:20.04
  1. 创建沙箱
singularity build --sandbox blast ubuntu_20.04.sif
  1. 进入容器

默认会自动挂载 **HOME, **PWD , /tmp , /proc , /sys , /dev 目录。

容器内用户完全一致,当需要root权限时加–fakeroot参数进入容器,且root只在容器内有效。

#交互式运行
singularity shell ubuntu_20.04.sif bash
#Singularity> echo 'hello world'
#Singularity>id
#直接运行
singularity exec ubuntu_20.04.sif echo 'hello world'
#修改容器
singularity shell --writable --fakeroot blast
#Singularity>id
apt update
cd /opt/
wget https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.13.0+-x64-linux.tar.gz
tar -zxvf ncbi-blast-2.13.0+-x64-linux.tar.gz
  1. 打包
singularity build blast.sif blast
  1. 运行程序
#通过 --bind 挂载文件夹
singularity shell --bind /home/test/test.fa:/mnt blast.sif
#直接运行程序
singularity exec blast.sif \\
makeblastdb -dbtype prot -in test.fasta -out test
singularity exec blast.sif \\
blastp -query test.fa -db test -out blast.xml -outfmt 6

5

总结

总的来说,现在存在着各种各样的容器技术,比如docker,podman,singularity等。每一个都有自己的优缺点使用范围 。比如docker****适合于web网页开发等、singularity****适合于在集群上挖掘大数据。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HPC
    HPC
    +关注

    关注

    0

    文章

    279

    浏览量

    23418
  • Docker
    +关注

    关注

    0

    文章

    437

    浏览量

    11603
  • docker容器
    +关注

    关注

    0

    文章

    28

    浏览量

    3288
收藏 人收藏

    评论

    相关推荐

    iPad买一送四 美国老太不贪心成幸运儿

    iPad买一送四 美国老太不贪心成幸运儿你一定没遇到过“iPad买一送四”这等好事,或许,在国人看来这是一大福利,但在美国一位老太太眼里,却认为与她无关并速速归还。近日外媒报道了一则“拾金不昧
    发表于 12-11 16:38

    LabVIEW大调查,幸运好礼送不停(已颁奖)

    、您平时用LabVIEW做什么?活动时间:12月3日——12月31日元旦小假期过的如何啊?有木有很期待小编的颁奖呢?好吧!小编今天任性一回,多抽出一名幸运儿出来送奖品咯!祝大家新年快乐!!!获奖名单
    发表于 12-03 13:50

    祝贺张飞老师开设个人板块

    ://fcsddz.taobao.com.我是个幸运儿,在电子发烧友认识了张老师,在高手问答中,幸运的被老师抽中,成为幸运观众,后面会好好的努力跟着老师一起学习,各位加油!
    发表于 12-23 14:19

    2015 论坛改版意见征集~

    三名幸运儿送上小礼物一份。Ps:签到功能已经恢复了哦~~大家可以去签到了{:3:}感谢各位朋友针对论坛改版提出不同的意见~根据各位回帖的楼层,小编随机抽取了3名幸运儿,名单如下:1.tjCFeng 2.武力戡乱3.数码小叶稍后将会有相关的工作人员与中奖者联系并在3个工作日
    发表于 04-24 17:07

    从零开始搭建硬件开发环境全过程——1小时掌握微硬件开发流程

    笔者决定在嵌入式企鹅圈2016年的首篇文章中,发表微硬件物联领域极具实践价值的文章,它将能指引和帮助任何有兴趣于物联网开发的童鞋们快速掌握微硬件开发流程,只需一个小时,而再不需要通过揣摩微
    发表于 03-16 15:29

    CC2541从零开始搭建硬件开发环境图文傻瓜式教程

    公众平台的智能控制开发流程》介绍微硬件开发的流程,但该篇文章是理论性的描述。而本篇文章是完全可操作实践的,本篇文章的目的是快速搭建硬件
    发表于 04-11 16:32

    【线上活动】2017许愿有礼~

    的祝福将有机会抽出3位幸运儿送出送出好玩的智能硬件礼品 带着头奖+全新的心情与小编一起去迎接一年吧!祝童鞋们圆旦快乐!机智云与你,相约2017。
    发表于 01-03 10:54

    【获奖名单公布】猜价格、赢奖品、回帖得积分—是德科技1688网店年中大促

    幸运儿40份精美礼品回帖得5个论坛积分如何成为幸运儿呢?第一步点击下方链接,参加有奖竞猜链接:https://www.elecfans.com/company/keysight/1688.html?tz
    发表于 06-05 11:29

    做好一款产品项目开发,你还需要学习哪些硬件设计技能?

    ://www.elecfans.com/company/maiwei2018/questionnaire.html对于你们的参与至以由衷的感谢!参与问卷调查的学员还都可获得“蓝牙音箱案例资源”以及我们会抽取其中5位幸运儿赠送智能手环哦~扫描二维码进群领取“蓝牙音箱案例资源”获奖
    发表于 12-14 17:50

    5合1魔电秘籍隆重上线!《新概念模拟电路》全五册一键下载!还可参与幸运抽奖

    哦~)活动规则1、点击下载链接,填写信息下载合集并且所有必填信息均真实有效,即可获得抽奖机会!2、活动将进行四轮抽奖,每轮将会从下载合集的用户中抽取30位幸运儿赠送精美礼品。3、获奖信息将通过邮件
    发表于 07-09 20:29

    高效硬件设计工具重磅发布!等您一起来揭开“TA”的神秘面纱

    ,让我们一起期待“TA”还能帮你做什么抢先关注订阅号或服务号,占位公测!!!“DigiPCBA”订阅号“DigiPCBA得极”服务号更有好礼抽奖,你是那个幸运儿吗?注册DigiPCBA,立即体验高效协作
    发表于 02-26 18:20

    基于VS Code的环境搭建流程

    没有明确的开发环境搭建教程,大部分是基于 Ardiuno IDE 进行开发ESP8266的,而 Ardiuno IDE没有代码提醒以及高亮状态让我感到十分的不爽.所以就在网上搜寻了一番,发现了一个基于 VS Code 的环境搭建流程
    发表于 11-03 06:01

    【中奖公示】第一期有奖盖楼活动中奖名单公布,请尽快兑奖~

    兑奖,奖品将在15个工作日内寄出。有奖调研活动正在进行中,想成为幸运儿抽取惊喜礼品吗?赶快点击图片,花一分钟时间参与活动吧~[url=https://bbs.elecfans.com/jishu_2258523_1_1.html][/url]
    发表于 02-25 17:43

    iOS11正式版被吐槽bug多,iPhone6S成幸运儿,iOS10.3.3验证重新打开,降级请速度点进!

    iOS10.3.3的验证都关闭了,但是虽然iOS10.3.3的验证都关闭了,但是iPhone6s却成为了幸运儿,苹果公司有重新为其打开了iOS10.3.3的验证。只有iPhone6s!iPhone6splus都不行!不知这一举苹果喻意何为!
    发表于 10-09 09:29 1829次阅读

    如何搭建SoC项目的基本流程

    我在论坛上写过一个。《如何搭建SoC项目的基本Testbench(我的流程)》,这里挑重要的和有改变的地方说一下。 假设这个SoC有CPU系统、内存控制器、总线拓扑、PAD、Clockreset和一些逻辑功能模块。
    的头像 发表于 01-05 10:20 2.3w次阅读
    如何<b class='flag-5'>搭建</b>SoC项目的基本<b class='flag-5'>流程</b>