guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Guix Workflow Language ?


From: Roel Janssen
Subject: Re: Guix Workflow Language ?
Date: Wed, 24 Jan 2018 21:07:35 +0100
User-agent: mu4e 0.9.18; emacs 25.1.1

Dear Zimoun,

zimoun writes:

> Dear,
>
> Thank you to provide a workflow manager!
> It is fun. :-)

Thanks for looking at the GWL.

>
> I am currently investigating to describe basic and simple workflows.
> And there is a couple of solutions, from python-oriented Snakemake
> with Conda capabilities to Common Workflow Language or Workflow
> Description Language.
>
> https://snakemake.readthedocs.io/en/latest/
> http://www.commonwl.org
> https://software.broadinstitute.org/wdl/
>
> And there is already some pipelines elsewhere, e.g.,
> https://view.commonwl.org/workflows?search=rnaseq
> https://github.com/UMCUGenetics/GGR-cwl

Here's an example of a GWL workflow:
https://github.com/UMCUGenetics/gwl-atacseq

> Moreover, some hyper-specialised and classical genomics pipelines are
> also available elsewhere, e.g.,
> http://bioinformatics.mdc-berlin.de/pigx/
>
>
> Well, my question is: does it appear to you reasonable to write a
> front-end for CWL ?
>
>
> Because it seems hard to have some room in this landscape, even if I
> think that the Guix-way is the most scientific (reproducible, open,
> etc.).
> I mean, there is room for a guix-backend engine (another CWL
> implementation), I guess.

The way I see it, there are two ways to go about this:

1. Make workflows written in GWL (in Scheme) run on a CWL execution
engine.  So basically, produce a YAML file adhering to the CWL spec.

This way we can, at the very least, convert GWL workflows to CWL
workflows -- producing wide compatibility for workflow execution.

This is doable, as long as we put some limitations on the GWL workflow.
It has to have clearly defined 'inputs' and 'outputs', and we probably
have to generate a Docker container with the software dependencies.

2. Let CWL workflows run on top of GWL.  I think this is a lot harder,
because the software deployment is unclear.

>
> So, during a raining week-end, I gave a look to the specs of CWL and
> why not start by define a subset, but then I have failed to write a
> parser of it in Guile.
>
>
> Hum? another question: does it exist an easy-to-use Guile library for
> parsing YAML-like files ?
>
>
> I have found Racket ones, but it was not clear to me how to do with
> Guile (without reinventing the wheel).
>
>
> What do you think about feeding GWL engine by CWL pipeline ?

I am not sure what you mean by this.  Do you mean, run a CWL workflow
using the GWL?  Then my question would be:  Where does the software come
from?  Guix, or some other package manager?  What would the added
benefit of GWL be?

> Thank you for any advice.
>
> All the best,
> simon

Thanks for your interest!

Kind regards,
Roel Janssen



reply via email to

[Prev in Thread] Current Thread [Next in Thread]