Numerous Workflow Management Systems (WfMS) have been developed in the field of computational materials science with different workflow formats, hindering interoperability and reproducibility of workflows in the field. To address this challenge, we introduce here the Python Workflow Definition (PWD) as a workflow exchange format to share workflows between Python-based WfMS, currently AiiDA, jobflow, and pyiron. This development is motivated by the similarity of these three Python-based WfMS, that represent the different workflow steps and data transferred between them as nodes and edges in a graph. With the PWD, we aim at fostering the interoperability and reproducibility between the different WfMS in the context of Findable, Accessible, Interoperable, Reusable (FAIR) workflows. To separate the scientific from the technical complexity, the PWD consists of three components: (1) a conda environment that specifies the software dependencies, (2) a Python module that contains the Python functions represented as nodes in the workflow graph, and (3) a workflow graph stored in the JavaScript Object Notation (JSON). The first version of the PWD supports directed acyclic graph (DAG)-based workflows. Thus, any DAG-based workflow defined in one of the three WfMS can be exported to the PWD and afterwards imported from the PWD to one of the other WfMS. After the import, the input parameters of the workflow can be adjusted and computing resources can be assigned to the workflow, before it is executed with the selected WfMS. This import from and export to the PWD is enabled by the PWD Python library that implements the PWD in AiiDA, jobflow, and pyiron.


翻译:在计算材料科学领域,已开发出众多采用不同工作流格式的工作流管理系统(WfMS),这阻碍了该领域工作流的互操作性与可复现性。为应对这一挑战,本文提出Python工作流定义(PWD)作为一种工作流交换格式,用于在基于Python的WfMS(目前包括AiiDA、jobflow和pyiron)之间共享工作流。此项开发的动机源于这三个基于Python的WfMS具有相似性——它们均将工作流中的不同步骤及其间传输的数据表示为图中的节点与边。通过PWD,我们旨在提升不同WfMS在可发现、可访问、可互操作、可重用(FAIR)工作流背景下的互操作性与可复现性。为分离科学复杂性与技术复杂性,PWD包含三个组成部分:(1)指定软件依赖的conda环境;(2)包含以Python函数形式呈现的工作流图节点的Python模块;(3)以JavaScript对象表示法(JSON)存储的工作流图。PWD的首个版本支持基于有向无环图(DAG)的工作流。因此,在这三个WfMS中定义的任何基于DAG的工作流均可导出为PWD格式,随后亦可从PWD导入至其他任一WfMS。导入后,可在使用选定WfMS执行工作流前调整其输入参数并分配计算资源。通过为AiiDA、jobflow和pyiron实现PWD的Python库,可实现PWD的导入与导出功能。

0
下载
关闭预览

相关内容

Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
163+阅读 · 2019年10月12日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
41+阅读 · 2019年10月9日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
Layer Normalization原理及其TensorFlow实现
深度学习每日摘要
32+阅读 · 2017年6月17日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
3+阅读 · 2014年12月31日
VIP会员
相关资讯
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
Layer Normalization原理及其TensorFlow实现
深度学习每日摘要
32+阅读 · 2017年6月17日
相关基金
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
3+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员