Hi Ricardo,

On 3/22/23 14:19, Ricardo Wurmus wrote:

- Translating Snakemake to Guix Workflow Language (GWL)

Ricardo, maybe you would have some suggestions. :-)

Oh, this looks interesting.  Could you please elaborate on the idea?

My idea is to take as input a Snakemake workflow file and eventually output an equivalent GWL workflow file.

Currently, Snakemake workflows can be exported to CWL (Common Workflow Language):

https://snakemake.readthedocs.io/en/stable/executing/interoperability.html

One approach could be to add CWL import/export capabilities to GWL. Then Snakemake/GWL conversion would be a 2 step process, using CWL as an intermediate step:

1. Snakemake -> CWL
2. CWL -> GWL

However, CWL is not as expressive as Snakemake. There may be some details that are lost from Snakemake workflows.

So a 1-step Snakemake/GWL transpiler could be interesting, as both Snakemake/GWL use a domain-specific language inside a general purpose language (Python/Guile respectively). There may be a possibility to achieve more "accurate" translations between workflows.

Is this topic something that could fit into a summer project?

Reply via email to