Nextflow VDSL3

Nextflow is a highly popular and widely-used workflow manager in computational biology, featuring outstanding portability, reproducibility and scalability. However, while Nextflow’s advantages are impressive, developing a Nextflow pipeline can be challenging, requiring significant domain knowledge and verbose code that is labour-intensive. Fortunately, Viash provides a solution to the barriers of Nextflow pipeline development.

Viash can help developers wrap their code into a state-of-the-art Nextflow script called a VDSL3 module. As we will demonstrate in the remainder of this guide, VDSL3 is effectively a separate DSL layer on top of Nextflow enabled by Viash, hence it is called Viash + Nextflow DSL 3, or VDSL3 for short. VDSL3’s benefits extend beyond Nextflow pipeline development, including reusability, test-driven development, separation of concerns, and continuous testing.

You can use Viash to speed up or replace your pipeline development processes in the following steps:

Improvements of VDSL3 modules over standard Nextflow modules

  • No need to write any Nextflow Groovy code, just your script and the Viash config.
  • VDSL3 module are also standalone pipelines.
  • Help documentation is automatically generated.
  • Standardized interface for passing parameter lists.
  • Automatically uses the Docker platform’s container.