Bpipe 简介
前言
Bpipe 主要做两件事:
- 一种用于定义流程的各个阶段并将它们链接在一起以形成流程的小型语言
- 一种用于运行和管理您定义的流程的程序
Bpipe 不会替换流程中运行的命令,而是帮助您更好地运行它们:更安全、更可靠和更方便。
Bpipe 语言
Bpipe 是用于声明如何运行流程各个阶段的小型语言。Bpipe 实际上是一种基于 Groovy的领域特定语言(DSL),而Groovy 是一种从Java继承来的脚本语言。所有Bpipe脚本都是用Groovy 写的,并且大多数Java语法都可以在Bpipe中使用。但是,您无需了解Java或Groovy的相关语法,也可以使用Bpipe。
要让Bpipe运行您的流程,您需要为流程的每个部分(即阶段)命名。在Bpipe中命名阶段是这样的:
stage_name = {
exec "shell command to execute your pipeline stage"
}
这些shell命令与您从终端运行的流程命令相同,只不过被放在引号中。
您还可以在一个文件中同时定义多个阶段:
stage_one = {
exec "shell command to execute stage one"
}
stage_two = {
exec "shell command to execute stage two"
}
定义流程各个阶段后,您可以通过使用加号将不同的阶段连接起来形成一个完整的分析流程:
Bpipe.run {
stage_one + stage_two
}
将所有这些放在一起,就是一个完整的Bpipe脚本:
stage_one = {
exec "shell command to execute stage one"
}
stage_two = {
exec "shell command to execute stage two"
}
Bpipe.run {
stage_one + stage_two
}
Bpipe实用命令
Bpipe 自带一些命令来运行和管理您的脚本,称以 bpipe开头。bpipe命令最基本的用途是运行您的流程。为此,您只需将流程定义好并保存在文件中,然后运行这个文件就可以了:
bpipe run your_pipeline_file
bpipe 命令行工具还有其他功能,比如对流程进行管理。 当要从它停止的地方重新在本地目录中运行的流程:
bpipe retry
要查看管道在不真正运行的情况下会做什么:
bpipe test your_pipeline_file
要查看在本地目录中运行的任务历史记录:
bpipe history
要查看您当前正在运行的bpipe任务:
bpipe jobs
下一步
要了解有关Bpipe工作原理的更多信息,请查看Hello World 教程,您可以创建一个非常简单的流程。或者,如果您已经很熟悉 bpipe的工作原理,您可以直接跳到一个真正的生物信息学流程的示例。