## Viash Component

A Viash component is a modular software component used in building data pipelines. It consists of a script written in one of the supported scripting languages (Bash, Python, R, Scala, JS, or C#) and a metadata file that outlines its dependencies. Viash components can be converted into standalone executables.

## Viash Project

A Viash project is a collection of Viash components, typically designed to work together to perform a specific task. Viash projects enable batch processing, making it easier to handle multiple components and data sets simultaneously.

• Structure: The project already contains three components which are used to create a Nextflow pipeline with the following topology:
• Batch processing: Within this project it’s possible to do all of the same things mentioned in the “Component” guide such as build a target executable with viash build and test a component with viash…
• Project config: A _viash.yaml file in the root of the project repository is called a Viash project config. It allows defining…
• IDE setup: Since a Viash components consists of a script in one of the supported languages and a YAML file, you can use any editor of your choosing to create these files.

## Viash+Nextflow VDSL3

VDSL3 is a Nextflow module generated by Viash from a script, allowing users to design and run scalable, reproducible data pipelines without requiring expertise in Nextflow.

• Introduction: What is VDSL3?
• Create a module: Creating a VDSL3 module is as simple as adding { type: nextflow } to the platforms section in the Viash config. Luckily, our previous example already contained such an entry:
• Create a pipeline: This guide explains how to create an example pipeline that’s closer to a typical use-case of a Nextflow bioinformatics pipeline.