Learning new languages
Groovy adventures in workflow engineering. Learning how workflows work under the hood.

In nf-core, pipelines were using a JSON schema to describe the pipeline parameters.
Nextflow itself doesn't have a built-in way to validate the parameters, so we created a plugin to do so.
I was involved in the development of the nf-schema plugin (previously known as nf-validation).
Later on, the validation of an input samplesheet was added to the plugin.
I also joined the initial efforts to create the nf-co2footprint plugin.
This plugin is used to calculate the carbon footprint of a pipeline.
This was a nice project contributing to the awareness of the environmental impact of computing. 🌿
⚙️ Some technical aspects:
- Nextflow plugins are written in Groovy
- JSON Schema is used as the structural base for parameter validation. And it is also used to render the nf-core website, pipeline help messages and logs
- The CO₂ plugin tracks execution metrics and resource usage, which are obtained from the Nextflow execution engine
- A report is generated with HTML, mimicking the Nextflow execution report
- The documentation of both plugins is written in Markdown and rendered with MkDocs