linux版本下的超簡(jiǎn)單的生信分析平臺(tái)介紹

為了滿足大家個(gè)性化的需求,六點(diǎn)了開(kāi)發(fā)出了Sixbox-linux,也就是sixbox的linux版本,來(lái)實(shí)現(xiàn)本地linux機(jī)器、集群等linux服務(wù)器的快速部署和使用。

Sixbox-linux現(xiàn)在已經(jīng)開(kāi)放使用,歡迎大家到官網(wǎng)安裝使用!同時(shí)有更好的使用體驗(yàn),這里為大家詳細(xì)展示從安裝、配置到使用的所有要點(diǎn)。

本文導(dǎo)讀

安裝:下載、?配置文件、?CWLdb (workflow倉(cāng)庫(kù))

使用:讀寫(xiě)配置文件、運(yùn)行CWL、從倉(cāng)庫(kù)中獲取CWL流程、查看CWL流程、提交CWL流程到倉(cāng)庫(kù)、修改tag、刪除倉(cāng)庫(kù)中的workflow

版本更新及其他

Sixbox-linux 安裝

下載

1.前往官網(wǎng)下載中心下載安裝腳本Sixbox_linux64_latest.sh在linux終端運(yùn)行以下指令

bash Sixbox_linux64_latest.sh

2.按照安裝程序屏幕上的提示進(jìn)行操作(如果您不確定任何設(shè)置,可以接受默認(rèn)值)。

3.為了使更改生效,請(qǐng)關(guān)閉然后重新打開(kāi)終端窗口。

4.請(qǐng)測(cè)試您的安裝。在終端窗口,運(yùn)行sixbox -h命令。如果已正確安裝,將顯示參數(shù)說(shuō)明。

至此,Sixbox-linux的安裝和配置順利結(jié)束。

配置文件

在了解Sixbox詳細(xì)用法之前,您需要知道Sixbox配置文件的相關(guān)信息。

Sixbox的配置文件用于Sixbox權(quán)限控制、記錄sixoclock軟件倉(cāng)庫(kù)地址源和CWLdb路徑,您可以在${HOME}/.sixbox/config.yaml中查看。

一個(gè)Sixbox配置文件的示例:

libPath: /root/.sixbox/libchannel: https://www.sixoclock.net/apitoken: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2MzU2NzA0MjYsImlhdCI6MTYzNTY2NjgyNiwidWlkIjoiMTBhOGQ2YzUtZWM4MC00Mzg5LThlYTMtZWYyYTgyY2JlN2M5IiwiaXNfcmVmcmVzaCI6ZmFsc2UsInVuYW1lIjoiNjY2b2Nsb2NrIiwicGVybWlzc2lvbnMiOjIzfQ.ru86vr9cB2hlH-Sgf0i93A9D3_rEX2pk8Zvc1GHaZ

Sixbox配置文件中記載了三類信息:

token:記錄您在sixoclock獲取的授權(quán)token。

channel:記錄sixbox從sixoclock倉(cāng)庫(kù)中拉取CWL Workflow的地址。

libPath:記錄了CWLdb的lib路徑,Sixbox默認(rèn)lib路徑在您安裝Sixbox-linux的根路徑。您也可以通過(guò)config中相關(guān)命令自定義該路徑。

CWLdb(workflow倉(cāng)庫(kù))

當(dāng)您在使用Sixbox時(shí),它會(huì)為您在本地自動(dòng)建立一個(gè)名為CWLdb的CWL Workflow倉(cāng)庫(kù),以便您管理、運(yùn)行、查找CWL Workflow。

CWLdb的路徑默認(rèn)是在Sixbox安裝的目錄下,但您也可以通過(guò)sixbox config set libPath命令自定義該路徑。

關(guān)于CWLdb的兩點(diǎn)說(shuō)明:

CWLdb中設(shè)置metadata目錄用于存放CWL Workflow元信息,其主要記錄了CWL Workflow的作者、名稱、版本和Sixbox或sixoclock為其自動(dòng)生成的名為resource_id的唯一標(biāo)識(shí)碼。這些信息有助于您區(qū)分、運(yùn)行、管理CWL Workflow。

CWLdb中content目錄下存放了您通過(guò)sixbox commit提交的CWL Workflow和您從**sixoclock官方倉(cāng)庫(kù)**中下載的CWL Workflow。

Sixbox-linux 使用

讀寫(xiě)配置文件

sixbox包含多個(gè)子命令用于實(shí)現(xiàn)不同的功能。為了您能夠充分使用sixbox的全部功能,我們建議您先設(shè)置Sixbox的配置文件。

sibox config命令能夠幫助您迅速設(shè)置sixbox的配置文件。您可以通過(guò)sixbox config -h來(lái)查看config命令的相關(guān)使用說(shuō)明。下面向您介紹config命令的使用。

如您需要將從**sixoclock**獲取的客戶端登陸授權(quán)token寫(xiě)入配置文件,可使用如下命令:

? sixbox config set token $(token)

快速配置channel,可使用如下命令:

? ? sixbox config add channel $(channel name)

如果您想查看Sixbox配置文件中的內(nèi)容,可以使用info命令

? sixbox config info

自定義CWLdb的lib路徑

? ? sixbox config set libPath $(libpath)

運(yùn)行CWL

run命令。您可以通過(guò)sixbox run -h來(lái)查看參數(shù)等幫助信息。運(yùn)行示例如下:

sixbox run ./soapnuke-filter.cwl ./soapnuke-filter.yaml

如果您沒(méi)有本地CWL流程,可以使用sixbox自帶的demo流程,亦或使用pull命令(有關(guān)pull命令的使用將在下文進(jìn)行詳細(xì)介紹)從sixoclock平臺(tái)獲取相關(guān)流程。

運(yùn)行sixbox demo CWL流程

sixbox run $(which sixbox)/../../test/soapnuke-filter.cwl $(which sixbox)/../../test/soapnuke-filter.yaml

運(yùn)行從**sixoclock軟件倉(cāng)庫(kù)**下載的CWL流程,

sixbox run 6ae767b1-880e-4573-99b5-6cc7914eeae8 $(which sixbox)/../../test/soapnuke-filter.yaml1

運(yùn)行結(jié)果默認(rèn)輸出在當(dāng)前目錄下,也可以通過(guò)--outdir指定輸出目錄:

sixbox run --outdir /home/test ./soapnuke-filter.cwl ./soapnuke-filter.yaml

其中, soapnuke-filter.cwl 為下載自sixoclock軟件倉(cāng)庫(kù)soapnuke-filter軟件主文件。

soapnuke-filter.yaml為用戶配置可視化運(yùn)行參數(shù)的文件。

resource_id為您從**sixoclock軟件倉(cāng)庫(kù)**下載的軟件主文件的標(biāo)識(shí)id,該id用于識(shí)別區(qū)分不同的CWL文件。

您也可以使用--make-template來(lái)生成一個(gè)YAML格式的參數(shù)配置文件,用于手動(dòng)配置您的軟件/流程的參數(shù)。

sixbox run --make-template ./soapnuke-filter.cwl > ./soapnuke-filter.yaml

考慮到您可能不是docker用戶,sixbox提供了--udocker和--singularity兩個(gè)參數(shù)胡,幫助您在系統(tǒng)不支持docker的情況下,運(yùn)行CWL Workflow

sixbox run --udocker ./soapnuke-filter.cwl ./soapnuke-filter.yaml

或者,

sixbox run --singularity ./soapnuke-filter.cwl ./soapnuke-filter.yaml

您或許注意到以上的例子中,所輸入的YAML文件并非一個(gè)必選項(xiàng),這是因?yàn)閟ixbox同時(shí)支持命令行模式配置參數(shù),為您在運(yùn)行CWL Workflow的時(shí)候提供便利。

sixbox?run?6oclock/bwa:v0.1?-mem?test.fastq

最后,

run命令可以根據(jù)CWLdb中的CWL Workflow對(duì)應(yīng)的tag或是resource_id直接運(yùn)行CWLdb中保存的CWL Workflow,如下所示:

sixbox run $(resource_id)

或者,

sixbox run $(tag)

■?從倉(cāng)庫(kù)中獲取CWL

sixbox pull命令讓您可以便捷的從sixoclock軟件倉(cāng)庫(kù)中獲取您需要的CWL流程:

sixbox pull $(pipe_id)

其中,pipe_id為**sixoclock軟件庫(kù)**中每個(gè)軟件的對(duì)應(yīng)id,如圖所示:

獲取的CWL文件將被保存至$(libPath)/resource/pipe/cwldb/content目錄下。CWL文件的元信息將被保存至$(libPath)/resource/pipe/cwldb/metadata目錄下。

■?查看CWL流程

您可以使用cwls查看保存在$(libPath)/resource/pipe/cwldb/content目錄下的CWL流程。

sixbox cwls

tag? ? ? ? ? ? ? ? ? ? ? ? ? ? ? provider? ? name? ? ? ? ? ? ? resource_id? ? ? ? ? ? ? ? ? ? ? ? ? ? ? version?6oclock/bowtie2-build:v2.2.9?????6oclock??????bowtie2-build?????5847e32d-127e-469b-9f7a-3e1b97f4625a?????v2.2.9

■?提交流程到倉(cāng)庫(kù)

如果您想將所有的CWL流程放在同一個(gè)文件夾下統(tǒng)一管理(事實(shí)上,我們也建議你這樣做,以便于您使用sixbox進(jìn)行統(tǒng)一的操作)。您可以使用commit命令將CWL流程提交至CWLdb中,示例如下:

sixbox commit ./sixbox-linux/testdata/soapnuke-filter.cwl 666oclock/soapnuke-filter:v1.0

666oclock/soapnuke-filter:v1.0為該CWL流程的tag,用于區(qū)別其他的CWL流程, 其格式為/和:分隔的字符串。我們建議每個(gè)字段的內(nèi)容是$(provider)/$(cwl name):$(cwl version)。

例如示例中,666oclock為CWL流程的創(chuàng)建者,soapnuke-filter為軟件的名稱,v1.0為該CWL流程的版本號(hào)。

提示

組成CWL tag的各字段,支持的字符為數(shù)字、英文字母、_、.以及-組成,且_、.以及-不能為字段的開(kāi)頭或結(jié)尾。

當(dāng)您提交CWL流程后,CWLdb下的metadata目錄和content目錄中會(huì)分別將該CWL流程的元信息和源碼保存下來(lái),并為這個(gè)CWL流程分配一個(gè)唯一的id,以便之后調(diào)用該文件。

此外,如果您所提交的CWL流程的tag已經(jīng)存在于CWLdb中,sixbox將認(rèn)為這兩個(gè)文件屬于相同文件,并詢問(wèn)您是否需要替換,如果您選擇不替換,則本次提交不會(huì)進(jìn)行。

root@25fad418f511:/home/test/dist# sixbox commit /home/test/testdata/soapnuke-filter.cwl 666oclock/soapnuke-filter:v1.0INFO sixbox 3.0.20210124104916INFO Resolved '/home/test/testdata/soapnuke-filter.cwl' to 'file:///home/test/testdata/soapnuke-filter.cwl'/home/test/testdata/soapnuke-filter.cwl is valid CWL.INFO: There is a CWL resource with the same name in CWLdb. PLEASE confirm whether to replace the fileDo you want to overwrite the file? Please input Y/N:

使用cwls命令查看相關(guān)信息:

tag? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? provider? ? ? name? ? ? ? ? ? ? ? resource_id? ? ? ? ? ? ? ? ? ? ? ? ? ? ? version 6oclock/bowtie2-build:v2.2.9? ? ? 6oclock? ? ? bowtie2-build? ? ? 5847e32d-127e-469b-9f7a-3e1b97f4625a? ? v2.2.9 666oclock/soapnuke-filter:v1.0? ? 666oclock? ? soapnuke-filter? ? deacac36-70de-42e8-8069-3fb15fb715e6? ? v1.0

可以看到,原本存在的CWL流程的相關(guān)信息并未發(fā)生改變。如果您選擇替換,原有CWL流程將會(huì)被新提交的文件替換,其resource_id也將被改變。

tag? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? provider? ? ? name? ? ? ? ? ? ? ? resource_id? ? ? ? ? ? ? ? ? ? ? ? ? ? ? version 6oclock/bowtie2-build:v2.2.9? ? ? 6oclock? ? ? bowtie2-build? ? ? 5847e32d-127e-469b-9f7a-3e1b97f4625a? ? v2.2.9?666oclock/soapnuke-filter:v1.0?????666oclock?????soapnuke-filter?????bd9f3559-9047-44a4-bd24-6ea14db48173?????v1.0

■?修改tag

我們提供sixbox tag命令,用于您修改CWLdb中的CWL Workflow相關(guān)信息,方便您更好的管理CWL Workflow

? sixbox tag 30479859-c02d-4a40-8e7d-92f9011ac9b8 6oclock/bwa:v0.1

其中30479859-c02d-4a40-8e7d-92f9011ac9b8為CWLdb中CWL Workflow對(duì)應(yīng)的resouece_id,6oclock/bwa:v0.1為CWL Workflow新的tag信息。

同時(shí),您也可以通過(guò)輸入原先的tag和新的tag信息,對(duì)CWL Workflow的tag信息進(jìn)行修改

? ? sixbox tag 6oclock/bwa:v0.1 sixoclock/bwa:v0.2

6oclock/bwa:v0.1為原先的tag信息,sixoclock/bwa:v0.2為新的tag信息。

■?刪除倉(cāng)庫(kù)中CWL workflow

通過(guò)sixbox rm命令,您可以刪除CWLdb中的CWL Workflow,其中輸入的參數(shù)可以是CWL Workflow對(duì)應(yīng)的resouece_id或是tag

? sixbox rm 30479859-c02d-4a40-8e7d-92f9011ac9b8

其中30479859-c02d-4a40-8e7d-92f9011ac9b8為CWLdb中CWL Workflow對(duì)應(yīng)的resouece_id.

您也可以通過(guò)如下方式刪除CWLdb中的CWL Workflow

? sixbox rm 6oclock/bwa:v0.1

其中6oclock/bwa:v0.1為CWLdb中需要?jiǎng)h除的CWL Workflow對(duì)應(yīng)的tag

版本更新及其他

如果獲取最新版本的 sixbox 或者更新您的 sixbox 有兩種方法:

1、update 功能幫助您在線更新您的 sixbox;

2、使用 install 命令安裝指定版本的 sixbox。

sixbox update sixbox? #更新sixbox到最新版本sixbox install sixbox=1.1.20210530094243? #安裝1.1.20210530094243版本的sixbox

以上是關(guān)于sixbox的linux版本的詳細(xì)介紹,如果您在使用過(guò)程中有其他問(wèn)題,也歡迎反饋或者查看解決方法info@sixoclock.net。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容