生成CWL工作流程的工具
项目描述
scriptcwl是一个用于创建通用工作流程语言(CWL)工作流程的Python包。如果您给它提供一系列CWLCommandLineTools,您可以通过编写Python脚本来创建工作流程。这可以通过使用Jupyter Notebooks进行交互式完成。完整文档可以在Read the Docs上找到。
给定用于add和multiply的CWL CommandLineTools(这些在scriptcwl中可用),可以写出此工作流程的CWL规范
from scriptcwl import WorkflowGenerator
with WorkflowGenerator() as wf:
wf.load(steps_dir='/path_to_scriptcwl/scriptcwl/examples/')
num1 = wf.add_input(num1='int')
num2 = wf.add_input(num2='int')
answer1 = wf.add(x=num1, y=num2)
answer2 = wf.multiply(x=answer1, y=num2)
wf.add_outputs(final_answer=answer2)
wf.save('add_multiply_example_workflow.cwl')
工作流程有两个整数作为输入(num1 和 num2),首先将这些数字相加(wf.add(x=num1, y=num2)),然后将结果与第二个输入(num2)相乘。该处理步骤的结果是工作流程的输出。最后,将工作流程保存到文件中。结果如下所示
#!/usr/bin/env cwl-runner
cwlVersion: v1.0
class: Workflow
inputs:
num1: int
num2: int
outputs:
final_answer:
type: int
outputSource: multiply/answer
steps:
add:
run: add.cwl
in:
y: num2
x: num1
out:
- answer
multiply:
run: multiply.cwl
in:
y: num2
x: add/answer
out:
- answer
示例中使用的 Python 和 CWL 文件可以在 示例文件夹 中找到。
安装
使用 pip 安装
pip install scriptcwl
对于开发
git clone git@github.com:NLeSC/scriptcwl.git
cd scriptcwl
python setup.py develop
使用以下命令运行测试(包括覆盖率)
python setup.py test
有用工具
要使用 scriptcwl 创建 CWL 工作流程,您需要 CWL CommandLineTools。有一些软件包可以帮助生成现有的用 Python 编写的命令行工具
argparse2tool:从使用 argparse 的 Python 程序生成 CWL CommandLineTool 封装(和/或 Galaxy 工具描述)。也支持 click 参数解析器。
pypi2cwl:自动在 PyPi 中的任何软件包上运行 argparse2cwl。
python-cwlgen:通过程序生成 CommandLineTool 和 DockerRequirement
许可证
版权所有(c)2016-2018,荷兰电子科学中心,特文特大学
根据 Apache 许可证 2.0 版(“许可证”);除非您遵守许可证规定,否则不得使用此文件。您可以在以下位置获取许可证副本:
https://apache.ac.cn/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则根据许可证分发的软件按“原样”提供,不提供任何明示或暗示的保证或条件。有关许可证的具体语言,请参阅许可证。
项目详情
scriptcwl-0.8.1.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | f4ecb2e3120e7be359eebb1a96f1ec16157ac5b20741cc70e8fa385e9bd7774f |
|
MD5 | b2b493465d1fcedf9d0a7dc788f542a9 |
|
BLAKE2b-256 | b185d186a7ffaedda6422c3a5d930c95be2ee2584811b6d70ba00d1aa8750001 |