[Bio-packaging] GNU Guix update

Pjotr Prins pjotr.public66 at thebird.nl
Tue Jul 7 05:29:20 UTC 2015


On Mon, Jul 06, 2015 at 08:46:17PM -0400, David Thompson wrote:
> The "Common Workflow Language" looks like a rather popular "threat" to
> GNU Guix, what with its use of Docker.  Do you have any thoughts about
> it?

For bioinformatics the CWL is a step forward. It is basically a
YAML/JSON description/abstraction of common analysis patterns. The
main CWL achievement is that a group of people have agreed on workflow
patterns.

One thing the CWL misses out on at this stage is that it is not a true
programming language. GNU Guix is LISP and it shows - it is very easy
to abstract concepts. Where every element of CWL needs to be
standardized and explained, GNU Guix does a superior job of
abstraction and simplification. The tooling, however, does matter. If
Arvados speaks CWL and not Guix for deploying jobs, that will clinch
it for Arvados users. 

GNU Guix will make its entry in Docker containers - which will a first
step towards removing Docker from the equation. From my view point
Docker solves a problem GNU Guix also solves. It may take a while
though - people like Docker because they understand the concept of
light-weight VMs easily. But anyone really using Docker quickly runs
into 'issues' of reproducibility, incremental upgrades and easy of us.
All solved by Guix.

What I'll be doing for my pipelines is mix Docker and Guix initially
and add Guix support to Docker-Arvados (a simple /gnu mount). 

Next, for CWL, the easiest option is to generate CWL JSON from LISP
and later add LISP support to the CWL engine. That way Guix finds
integration. For real work, there is no good reason to stick with
JSON.

CWL is an opportunity, not a threat ;)

Pj.


More information about the bio-packaging mailing list