Containers are used to package tools and their dependencies. This ensures that the tools are reproducible and can be run on any system that supports the container runtime. Our containers are built using Docker and are compatible with any container runtime that supports the OCI Image Specification, like Singularity or Podman.
Most of our containers are built on the pb_wdl_base
container, which includes common bioinformatics tools and libraries. We tag our containers with a version number and build count, but the containers are referenced within the WDL files by the sha256 sum tags for reproducibility and better compatibility with Cromwell and miniwdl call caching.
Our Dockerfiles can be inspected on GitHub, and the containers can be pulled from our Quay.io organization.
We directly use deepvariant
, deepvariant-gpu
, pharmcat
, and glnexus
containers from their respective authors, although we have mirrored some for better compatibility with Cromwell call caching.