Adjusting an existing pipeline to use the new Wave containers

Hi there, I was very impressed by the Wave demo at the recent summit and I would like to give it a go in some internal pipelines we’re currently developing. My questions is: I’m using Quay at the moment; do I understand correctly that by enabling wave in the config file, it automatically pulls the correct tool/version? Or shall I specify a conda package:version for each process, replacing my quay-io/biocontainers? Thank you!

Wave is pretty flexible, you can configure it to do whatever you want. The key is setting the wave.strategy to what you want: Wave containers — Nextflow 23.10.0 documentation. The default order is 'container,dockerfile,conda,spack', which means Wave will build from the container directive in the process, if that is not available it will use the Dockerfile, then conda, then Spack. But you can rearrange this order by changing the setting.

With that in mind, if you want to continue using the quay.io biocontainers, you can just enable Wave, it will grab the existing container definition and use that. If you want to rebuild with Conda, you can either remove the container and Dockerfile or switch the wave.strategy order around, e.g. wave.strategy = ['conda']. You can mix and match within your pipeline based on your container requirements.

4 Likes