From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roel Janssen Subject: Re: Guix Workflow Language ? Date: Wed, 24 Jan 2018 21:07:35 +0100 Message-ID: <874lnbqauw.fsf@gnu.org> References: Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34558) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eeRKn-00025L-UA for guix-devel@gnu.org; Wed, 24 Jan 2018 15:07:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eeRKi-00007i-SR for guix-devel@gnu.org; Wed, 24 Jan 2018 15:07:48 -0500 In-reply-to: List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: zimoun Cc: guix-devel@gnu.org 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