linux版本下的超简单的生信分析平台介绍

为了满足大家个性化的需求,六点了开发出了Sixbox-linux,也就是sixbox的linux版本,来实现本地linux机器、集群等linux服务器的快速部署和使用。

Sixbox-linux现在已经开放使用,欢迎大家到官网安装使用!同时有更好的使用体验,这里为大家详细展示从安装、配置到使用的所有要点。

本文导读

安装:下载、 配置文件、 CWLdb (workflow仓库)

使用:读写配置文件、运行CWL、从仓库中获取CWL流程、查看CWL流程、提交CWL流程到仓库、修改tag、删除仓库中的workflow

版本更新及其他

Sixbox-linux 安装

下载

1.前往官网下载中心下载安装脚本Sixbox_linux64_latest.sh在linux终端运行以下指令

bash Sixbox_linux64_latest.sh

2.按照安装程序屏幕上的提示进行操作(如果您不确定任何设置,可以接受默认值)。

3.为了使更改生效,请关闭然后重新打开终端窗口。

4.请测试您的安装。在终端窗口,运行sixbox -h命令。如果已正确安装,将显示参数说明。

至此,Sixbox-linux的安装和配置顺利结束。

配置文件

在了解Sixbox详细用法之前,您需要知道Sixbox配置文件的相关信息。

Sixbox的配置文件用于Sixbox权限控制、记录sixoclock软件仓库地址源和CWLdb路径,您可以在${HOME}/.sixbox/config.yaml中查看。

一个Sixbox配置文件的示例:

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

Sixbox配置文件中记载了三类信息:

token:记录您在sixoclock获取的授权token。

channel:记录sixbox从sixoclock仓库中拉取CWL Workflow的地址。

libPath:记录了CWLdb的lib路径,Sixbox默认lib路径在您安装Sixbox-linux的根路径。您也可以通过config中相关命令自定义该路径。

CWLdb(workflow仓库)

当您在使用Sixbox时,它会为您在本地自动建立一个名为CWLdb的CWL Workflow仓库,以便您管理、运行、查找CWL Workflow。

CWLdb的路径默认是在Sixbox安装的目录下,但您也可以通过sixbox config set libPath命令自定义该路径。

关于CWLdb的两点说明:

CWLdb中设置metadata目录用于存放CWL Workflow元信息,其主要记录了CWL Workflow的作者、名称、版本和Sixbox或sixoclock为其自动生成的名为resource_id的唯一标识码。这些信息有助于您区分、运行、管理CWL Workflow。

CWLdb中content目录下存放了您通过sixbox commit提交的CWL Workflow和您从**sixoclock官方仓库**中下载的CWL Workflow。

Sixbox-linux 使用

读写配置文件

sixbox包含多个子命令用于实现不同的功能。为了您能够充分使用sixbox的全部功能,我们建议您先设置Sixbox的配置文件。

sibox config命令能够帮助您迅速设置sixbox的配置文件。您可以通过sixbox config -h来查看config命令的相关使用说明。下面向您介绍config命令的使用。

如您需要将从**sixoclock**获取的客户端登陆授权token写入配置文件,可使用如下命令:

  sixbox config set token $(token)

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

    sixbox config add channel $(channel name)

如果您想查看Sixbox配置文件中的内容,可以使用info命令

  sixbox config info

自定义CWLdb的lib路径

    sixbox config set libPath $(libpath)

运行CWL

run命令。您可以通过sixbox run -h来查看参数等帮助信息。运行示例如下:

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

如果您没有本地CWL流程,可以使用sixbox自带的demo流程,亦或使用pull命令(有关pull命令的使用将在下文进行详细介绍)从sixoclock平台获取相关流程。

运行sixbox demo CWL流程

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

运行从**sixoclock软件仓库**下载的CWL流程,

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

运行结果默认输出在当前目录下,也可以通过--outdir指定输出目录:

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

其中, soapnuke-filter.cwl 为下载自sixoclock软件仓库soapnuke-filter软件主文件。

soapnuke-filter.yaml为用户配置可视化运行参数的文件。

resource_id为您从**sixoclock软件仓库**下载的软件主文件的标识id,该id用于识别区分不同的CWL文件。

您也可以使用--make-template来生成一个YAML格式的参数配置文件,用于手动配置您的软件/流程的参数。

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

考虑到您可能不是docker用户,sixbox提供了--udocker和--singularity两个参数胡,帮助您在系统不支持docker的情况下,运行CWL Workflow

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

或者,

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

您或许注意到以上的例子中,所输入的YAML文件并非一个必选项,这是因为sixbox同时支持命令行模式配置参数,为您在运行CWL Workflow的时候提供便利。

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

最后,

run命令可以根据CWLdb中的CWL Workflow对应的tag或是resource_id直接运行CWLdb中保存的CWL Workflow,如下所示:

sixbox run $(resource_id)

或者,

sixbox run $(tag)

■ 从仓库中获取CWL

sixbox pull命令让您可以便捷的从sixoclock软件仓库中获取您需要的CWL流程:

sixbox pull $(pipe_id)

其中,pipe_id为**sixoclock软件库**中每个软件的对应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

■ 提交流程到仓库

如果您想将所有的CWL流程放在同一个文件夹下统一管理(事实上,我们也建议你这样做,以便于您使用sixbox进行统一的操作)。您可以使用commit命令将CWL流程提交至CWLdb中,示例如下:

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

666oclock/soapnuke-filter:v1.0为该CWL流程的tag,用于区别其他的CWL流程, 其格式为/和:分隔的字符串。我们建议每个字段的内容是$(provider)/$(cwl name):$(cwl version)。

例如示例中,666oclock为CWL流程的创建者,soapnuke-filter为软件的名称,v1.0为该CWL流程的版本号。

提示

组成CWL tag的各字段,支持的字符为数字、英文字母、_、.以及-组成,且_、.以及-不能为字段的开头或结尾。

当您提交CWL流程后,CWLdb下的metadata目录和content目录中会分别将该CWL流程的元信息和源码保存下来,并为这个CWL流程分配一个唯一的id,以便之后调用该文件。

此外,如果您所提交的CWL流程的tag已经存在于CWLdb中,sixbox将认为这两个文件属于相同文件,并询问您是否需要替换,如果您选择不替换,则本次提交不会进行。

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命令查看相关信息:

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流程的相关信息并未发生改变。如果您选择替换,原有CWL流程将会被新提交的文件替换,其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相关信息,方便您更好的管理CWL Workflow

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

其中30479859-c02d-4a40-8e7d-92f9011ac9b8为CWLdb中CWL Workflow对应的resouece_id,6oclock/bwa:v0.1为CWL Workflow新的tag信息。

同时,您也可以通过输入原先的tag和新的tag信息,对CWL Workflow的tag信息进行修改

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

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

■ 删除仓库中CWL workflow

通过sixbox rm命令,您可以删除CWLdb中的CWL Workflow,其中输入的参数可以是CWL Workflow对应的resouece_id或是tag

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

其中30479859-c02d-4a40-8e7d-92f9011ac9b8为CWLdb中CWL Workflow对应的resouece_id.

您也可以通过如下方式删除CWLdb中的CWL Workflow

  sixbox rm 6oclock/bwa:v0.1

其中6oclock/bwa:v0.1为CWLdb中需要删除的CWL Workflow对应的tag

版本更新及其他

如果获取最新版本的 sixbox 或者更新您的 sixbox 有两种方法:

1、update 功能帮助您在线更新您的 sixbox;

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

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

以上是关于sixbox的linux版本的详细介绍,如果您在使用过程中有其他问题,也欢迎反馈或者查看解决方法info@sixoclock.net。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,230评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,261评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,089评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,542评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,542评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,544评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,922评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,578评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,816评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,576评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,658评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,359评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,937评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,920评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,859评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,381评论 2 342

推荐阅读更多精彩内容