包含用于构建工作流的类和帮助程序,并提供转换为CWL/WDL的选项
janis-pipelines的Python项目详细描述
Janis(预阿尔法)
janis是一个框架,它创建专门的、简单的工作流定义,然后将其传输到
通用工作流语言或工作流定义语言。
文档存放在这里:https://janis.readthedocs.io/
简介
WARNING: this project is work-in-progress and is provided as-is without warranty of any kind. There may be breaking changes committed to this repository without notice.
janis提供了一个api来构建计算工作流,并将生成 CWL和WDL中的工作流描述。通过使用Janis,你可以获得类型安全, 跨所有执行环境的可移植性和可复制性。
janis需要安装python>;3.6,可以通过pip安装 (project page):
# Install janis and the bioinformatics tools pip3 install janis-pipelines[bioinformatics]
您可以使用以下命令将Janis导入到项目中:
importjanisasj
结构
Janis分为几个部分:
此存储库管理安装依赖项并驱动文档。
示例
进一步信息:Simple Workflow
下面我们构造了一个简单的示例,它接受一个字符串输入,调用 echo工具并公开 echo工具作为工作流输出的输出。
importjanisasjfromjanis.unix.tools.echoimportEchow=j.Workflow("workflowId")inp=j.Input("inputIdentifier",data_type=j.String(),value="Hello, World!")echo=j.Step("stepIdentifier",tool=Echo())out=j.Output("outputIdentifier")w.add_edges([(inp,echo.inp),# Connect 'inp' to 'echostep'(echo.out,out),# Connect output of 'echostep' to 'out'])# Will print the CWL, input file and relevant tools to the consolew.translate("cwl",to_disk=False)# or "wdl"
我们可以使用.translate("cwl")
将cwl表示导出到控制台。包括
to_disk=True
参数,我们可以将此工作流写入当前位置的磁盘。
更多示例
生物信息学工作流程教程:AlignSortedBam
unix工具集:在^{
} 中。全基因组生殖系管道:janis-examplepipelines repository。
用法
janis有一个反映工作流概念的api:
j.Workflow
:工作流表示Input
、Step
、Output
之间的Edge
s。j.Input
:工作流的输入,具有标识符、类型和值。j.Step
:步骤还具有标识符和Tool
(CommandTool
或嵌套的Workflow
)。j.Output
:工作流的输出具有标识符并连接到步骤。
j.CommandTool
:一个命令行样式的工具,通过输入和参数来构建它的命令。j.ToolInput
:工具的输入,具有标识符、类型和命令行选项,如position
、prefix
j.ToolArgument
:无法重写的工具的参数。具有值和命令行选项 比如position
和prefix
。该值可以是派生类型,如InputSelector
或StringFormatter
。j.ToolOutput
:输出到工具,具有标识符、类型和全局。
关于
Further information: About
该项目是作为便携式管道项目的一部分与:
- Melbourne Bioinformatics (University of Melbourne)
- Peter MacCallum Cancer Centre
- Walter and Eliza Hall Institute of Medical Research (WEHI)
参考文献:
通过会议或会谈,本项目已被以下标题引用:
- Walter and Eliza Hall Institute Talk(WEHI)2019:^{EM1}$便携式管道项目:使用标准化工作流程语言开发可复制的生物信息学管道
- 生物信息学开源会议(Bosc)2019:Janis:一个开源工具,用于机器生成类型安全的CWL和WDL工作流
- 维多利亚癌症生物信息学研讨会(VCBS)2019:^{EM1}$与Janis开发便携式变体呼叫管道
支架
贡献
Further information: Development
这个项目正在进行中,还在开发中。尽管我们欢迎大家的贡献,但是由于这个项目的不成熟状态,我们建议通过Github issues page提出与管道相关的问题。
关于项目结构的信息以及更多关于但是可以在the documentation中找到。