View on GitHub

ContainerInception

Gerber: Generalized Easy Reproducible Bioinformatics Environment wRapper

logo

Use case 2: Running the demo workflow using Common Workflow Language (CWL) and Docker containers

Motivation: Flexibility

Even with containerized individual tools one still needs to write a shell script to stitch them altogether. Instead, CWL requires explicitly defined inputs and outputs which in turn ensures standardization and reproducibility. Furthermore, CWL workflows can be compartmentalized in a (pulled/created) Docker image.

With the .cwl/.yml files in the same directory as the sample input fastq files and the reference sequence, run the following:

sudo `which cwl-runner` trim.cwl trim.yml
sudo `which cwl-runner` fastqc.cwl fastqc.yml
sudo `which cwl-runner` hs-build.cwl hs-build.yml
sudo `which cwl-runner` hs-align.cwl hs-align.yml

note: If you do not require sudo to run Docker commands, substitute sudo `which cwl-runner` with cwl-runner.

Dependencies

Since this workflow uses CWL to run pre-made Docker containers, it has only two dependencies:

Customization

The .yml files are used to define the parameters used to run each step of the pipeline. The .cwl files map these parameters to the tools used.

The .yml files can be modified to run the pipeline with different files, etc.