<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
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

    文章

    289

    瀏覽量

    23444
  • Docker
    +關注

    關注

    0

    文章

    441

    瀏覽量

    11653
  • docker容器
    +關注

    關注

    0

    文章

    29

    瀏覽量

    3291
收藏 人收藏

    評論

    相關推薦

    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個論壇積分如何成為幸運兒呢?第一步點擊下方鏈接,參加有獎競猜鏈接:http://www.qd573.com/company/keysight/1688.html?tz
    發表于 06-05 11:29

    做好一款產品項目開發,你還需要學習哪些硬件設計技能?

    ://www.qd573.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 ?1850次閱讀

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

    我在論壇上寫過一個?!度绾?b class='flag-5'>搭建SoC項目的基本Testbench(我的流程)》,這里挑重要的和有改變的地方說一下。 假設這個SoC有CPU系統、內存控制器、總線拓撲、PAD、Clockreset和一些邏輯功能模塊。
    的頭像 發表于 01-05 10:20 ?2.3w次閱讀
    如何<b class='flag-5'>搭建</b>SoC項目的基本<b class='flag-5'>流程</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>