CWL Community Engineer Six Month Update

Hello everyone. It has been a while since my last update. Here is what has been happening in the CWL world since I began full time work for the project.

Draft 3 was released by Peter Amstutz. The community has committed to releasing 1.0 of the standards before ISMB. I will be the release driver.

I met with potential fiscal sponsor, the Software Freedom Conservancy, and submitted an application for the CWL project to become part of their 501(c)(3) charity.

I’ve been taking full advantage of my base in Europe (first Romania and now Belgium) to raise and enhanced the perception of CWL in the European life science computing community. I presented at two leading centers (SciLifeLab in Stockholm, and the ExaScience Lab in Belgium) and I participated in four ELIXIR sponsored hackathons: Amsterdam, Netherlands; Freiburg, Germany; Copenhagen, Denmark; and Trondheim, Norway.

A CWL subgroup of academic cluster users are figuring out what changes are needed to support non-containerized tool execution. Non-cloud support for CWL will be critical for wider adoption. I have enjoyed coordinating this group and I was able to host a visiting Australian graduate student (Kevin Murray) who has gotten Docker containers to work on older platforms without needing to upgrade them or use root privileges.

The CWL is spreading into the wider F/OSS tech world thanks to a partnership with the Debian-Med community, the leading community packagers of bioinformatic tools and workflows. In support of this partnership I applied for and received official status within that community (“Debian Maintainer”) and I have an application for full status (“Debian Developer”) in progress.

Roman Valls Guimera and I have started a sub project to automatically produce CWL descriptions for those Python tools who use Python’s standard argument parser. This is now a Google Summer of Code proposal that will hopefully get their support for a student to work on over the summer.

Speaking of GSoC, I agreed to co-mentor (with Stian Soiland-Reyes) another student’s project to add CWL support to the Apache Taverna project.

New Implementations & SDKs: Paul Gross’s CWL Java re-implementation has already found a couple issue with the specifications and fixes have been incorporated.

I have sketched out a plan for using Peter Amstutz’s “schema salad” tool to auto-generate code for representing the CWL object model in as many different languages as we care for. This is a critical first step to having autogenerated SDKs in multiple languages.

Reference implementation improvements: I finished a review of Peter Amstutz’s ‘cwltool’ and ‘schema salad’. I am maturing his work by adding Python 3 compatibility, type checking, code cleanups, and documentation.

Other CWL impacts: Sent letter of support for Dr. Bernhard Renard, Robert Koch Institute (Germany), and his “Collaborative Benchmarking of Bioinformatics Tools and Workflows (CoBe)” project which uses CWL as a core technology.

GA4GH container registry API project: CWL a key component and seen as a leader on the metadata issue; many CWL community members participate in their weekly call

Logo acquired, Twitter account created, domain name purchased.

Continuous testing of CWL implementations. Peter Amstutz and I have setup https://ci.commonwl.org to testing the conformance of CWL implementations on a continuous basis.