Skip to content

Commit 8737a73

Browse files
committed
initial draft for joss paper
1 parent c843ed4 commit 8737a73

File tree

2 files changed

+82
-0
lines changed

2 files changed

+82
-0
lines changed

paper/paper.bib

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
@article{cwl: 2021,
2+
url = {https://arxiv.org/pdf/2105.07028.pdf},
3+
Archiveprefix = {arXiv},
4+
Author = {{Michael} R. C., {Peter} Amstutz,{Sanne} Abeln, {Alexandru} Iosup, {John} Chiltole, and the {CWL} community}
5+
Eprint = {arXiv:2105.07028v2},
6+
Journal = {ArXiv e-prints},
7+
Keywords = {Standazing Computational language, common workflow language},
8+
Month = Aug,
9+
Title = {{Method included: Standardizing Computational Reuse and Portability with the common workflow lanauge}},
10+
Year = 2021
11+
}
12+
13+
@misc{wdl,
14+
author = {WDL Community},
15+
title = {Workflow Description Language (WDL)},
16+
year = {2017},
17+
publisher = {GitHub},
18+
journal = {GitHub repository},
19+
url = {https://github.com/openwdl/wdl}
20+
}
21+
22+
@misc{miniwdl,
23+
author = {miniwdl Community},
24+
title = {miniwdl},
25+
year = {2018},
26+
publisher = {GitHub},
27+
journal = {GitHub repository},
28+
url = {https://github.com/chanzuckerberg/miniwdl/}
29+
}

paper/paper.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
title: 'wdl2cwl: A Python tool for converting WDL workflow files to CWL workflows'
3+
tags:
4+
- Python
5+
- workflow
6+
- workflow description language
7+
- common workflow language
8+
- Language
9+
date: August 2022
10+
bibliography: paper.bib
11+
---
12+
13+
# Summary
14+
15+
Computational workflows are used in data analysis, enabling innovation and
16+
decision-making in various fields of science. There are several competing workflow description languages,
17+
WDL (Workflow description Language) and CWL (Common Workflow Languaage) are two examples
18+
of popularly used systems. WDL is a way to specify data processiing workflows with
19+
a human-readable and writeable syntax. WDL makes it straightforward to define
20+
complex analysis tasks, chain them together in workflows, and parallelize their execution [@wdl].
21+
CWL is a way to describe command line tools and connect
22+
the together to create workflows. Because CWL is a specification and not a
23+
specific piece of software, tools and workflows described using CWL are portable acroos
24+
a variety of platforms that support the CWL standard [@cwl:2021].
25+
26+
It can be hard learning and adapting to the various knowledge requirements and
27+
specifications of a workflow language. This complication makes it hard for analysts and scientists
28+
share their work and collaborate efficiently with others who are use to working with different language.
29+
30+
``wdl2cwl`` is a Python package for converting workflow files written in WDL to workflows in CWL. Python
31+
allows flexibility and the ability to import other Python packages.
32+
The ``wdl2cwl`` package uses the ``miniwdl`` package [@miniwdl], an open-source, Python package,
33+
developer toolkit and local runner for running wdl files. The ``wdl2cwl`` package was
34+
designed to provide a class-based and developer-friendly interface for extracting
35+
the various sections of a wdl file, dynamically create the various objects
36+
needed to create a valid cwl file ( this is done using the ``cwl.utils`` package [@cwl.utils],
37+
an open-source, Python package for parsing cwl files) and performing error checking
38+
for valid imports, input declarations, expressions etc.
39+
40+
``wdl2cwl`` was designed to be used by both cwl and wdl professionals and researchers, as well
41+
students in courses on bioinformatics and data analytics. It has already been
42+
used to convert a number of wdl workflows. This tool makes it easier
43+
to translate your favourite WDL workflows into CWL. This could be because of platform
44+
dependency issues (like trying to reproduce a WDL workflow on a platform that only allows CWL),
45+
or it could be to eliminate the need for an anylyst who undersnd and writes CWL to learn WDL language
46+
in other to quickly use a WDL workflow or it could be to create a more widely available workflow
47+
that can be used by users of either languages and so much more.
48+
49+
# Acknowledgements
50+
51+
We acknowledge the work by tthe developers of miniwdl, cwl, wdl
52+
53+
# References

0 commit comments

Comments
 (0)