通过CLI在Galaxy上执行工作流
galaxy-workflow-executor的Python项目详细描述
银河工作流执行器0.2.4
此设置使用bioblend(0.12-0.13测试)通过CLI运行Galaxy工作流:
- 输入:
- Galaxy workflow的步骤用标签注释为JSON文件(必须在Galaxy UI中从“共享工作流”>;“下载”获得)。在
- 参数字典为YAML(也支持JSON)。支持简单输入参数和简单输入参数不公开的工具参数。在
- 在YAML文件中指定为路径或数据集id的输入文件。在
- 在YAML文件中指定允许错误的步骤(可选)
- 要创建的历史记录的名称(可选)
Galaxy工作流
工作流应该用标签标注,最好是所有步骤,但至少 对于希望能够通过参数设置参数的步骤 字典。它应该是由工作流(上菜单)>;“共享工作流”生成的JSON文件 (在工作流的下拉菜单上,在工作流列表中)->gt;下载 (在下面的屏幕中)。在
执行状态
安装程序将在运行期间存储执行状态,以便在出现断开连接或错误时重新启动
跟踪同一工作流的进度。默认情况下,它将状态存储在工作目录中
exec_state.pickle
。这可能不是会话证明:运行工作流a失败,然后尝试运行
随后的工作流B可能会出错。因此,当切换正在运行的工作流时,请确保使用不同的
或通过--state-file
显式指定状态路径的路径。请注意
对于新运行,该文件不应存在。在
成功执行后,状态文件将自动删除。在
参数YAML
通过执行以下操作,可以为所需的工作流生成参数YAML文件:
generate_params_from_workflow.py -C galaxy_credentials.yaml \
-G test_instance -o test \
-W wf.json
- 输入:
- Galaxy实例的凭据文件(此文件使用与parsec使用的格式相同的格式)
- 凭据文件中列出的Galaxy实例的名称(可选)。在
- Galaxy工作流作为JSON文件(来自共享工作流->下载)
- 输出目录路径(可选)
输出wf-参数.yaml将遵循以下结构:
^{pr2}$YAML中的输入文件
它应该指向文件系统中的文件,设置一个名称(需要匹配 具有工作流输入标签)和文件类型(在Galaxy识别的文件类型中)。在
用于输入的YAML文件的结构是:
matrix:path:/path/to/E-MTAB-4850.aggregated_filtered_counts.mtxtype:txtgenes:path:/path/to/E-MTAB-4850.aggregated_filtered_counts.mtx_rowstype:tsvbarcodes:path:/path/to/E-MTAB-4850.aggregated_filtered_counts.mtx_colstype:tsvgtf:dataset_id:fe139k21xsak
在这个例子中,Galaxy工作流应该有一个名为matrix
的输入标签,
genes
、barcodes
和{path
,则路径需要存在于本地文件系统中。或者是本地文件系统中的一个路径,如果文件已经在Galaxy实例上,则可以给出文件的dataset_id
,如gtf
的例子所示。在
允许错误的步骤
这个可选的YAML文件指示执行器在不考虑整体执行的情况下允许哪些步骤失败 失败,因此仍然检索结果文件。这是为了给这样一个事实腾出空间,在生产设置中,可能 是可能产生可接受故障的数据集的边界条件。在
文件的结构依赖于工作流和参数文件中使用的步骤的标签
step_label_x:-anystep_label_z:-1-43
上面的示例意味着带有标签step_label_x
的步骤可能会失败,并返回任何错误代码,而带有标签的步骤则会失败
step_label_z
只允许代码1或43失败(具体的错误代码处理尚未实现)。在
结果
在要显示的工作流中标记的所有工作流输出都将下载到指定的结果目录, 隐藏结果将被忽略。除非另有规定,历史(及其内容)和工作流将从实例中删除。在
玩具示例
在CI测试中使用的一个简单示例可以通过 run_tests_with_containers.sh脚本。在
退出错误代码
当前生成的错误代码:
Error code | Description |
---|---|
3 | Connection error during history deletion, this is not a critical error as most probably the history will get deleted by the server. A file named histories_to_check.txt is created in the working directory. Data will have been downloaded by then. |
4 | Workflow scheduling cancelled at the Galaxy instance. Currently no downloads or clean-up done. This is probably an error that you cannot recover automatically from. |
5 | Workflow scheduling failed at the Galaxy instance. Currently no downloads or clean-up done. This is probably an error that you cannot recover automatically from. |
- 项目
标签: