跳转到主要内容

生成CWL工作流程的工具

项目描述

codacy_grade codacy_coverage travis documentation pypi_version pypi_supported DOI

scriptcwl是一个用于创建通用工作流程语言(CWL)工作流程的Python包。如果您给它提供一系列CWLCommandLineTools,您可以通过编写Python脚本来创建工作流程。这可以通过使用Jupyter Notebooks进行交互式完成。完整文档可以在Read the Docs上找到。

add multiply example workflow

给定用于addmultiply的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')

工作流程有两个整数作为输入(num1num2),首先将这些数字相加(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 (23.1 kB 查看散列

上传时间 源代码

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面