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

    文章

    323

    浏览量

    23829
  • Docker
    +关注

    关注

    0

    文章

    492

    浏览量

    11927
  • docker容器
    +关注

    关注

    0

    文章

    30

    浏览量

    3339
收藏 人收藏

    评论

    相关推荐

    大话芯片制造之读后感超纯水制造

    大家能看到这篇读后感,说明赠书公益活动我被选中参加,我也算幸运儿,再次感谢赠书主办方! 关于芯片制造过程中,超纯水设备制造工艺流程中导电率控制。在正常思维方式,水是导电的,原因导电是水含杂质,多数人
    发表于 12-20 22:03

    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

    【线上活动】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

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

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

    流程教材

    GSM通信流程包括两方面的内容:呼叫基本流程令基本流程。其中,呼叫流程主要包含:移动主叫流程
    发表于 06-22 14:43 31次下载

    流程和业务流程

    201业务流程201业务流程201业务呼叫流程AD业务流程AD业务
    发表于 08-01 08:21 22次下载
    <b class='flag-5'>信</b>令<b class='flag-5'>流程</b>和业务<b class='flag-5'>流程</b>

    RNC流程

      þRRC连接建立流程   þ NAS令连接建立流程   þ直传流程   þRAB建立流程
    发表于 10-08 15:57 0次下载

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

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

    LG承诺将修复RTX 3080连接LG的OLED电视的黑袍、画面模糊等问题

    如今的行情,想要原价现货入手一张RTX 3080显卡,并非易事。然而,对于那些辛辛苦苦买到卡的幸运儿,糟心的事却来了。
    发表于 09-24 17:03 861次阅读