/pipeline-Nextflow-config

Set of commonly used Nextflow configs

Primary LanguageGroovyGNU General Public License v2.0GPL-2.0

Nextflow Configs

Overview

A set of Nextflow configs commonly used across pipelines.

How to use

  1. Add this repository as a submodule in the pipeline of interest
  2. Include the required config files and call necessary functions

Available Configs

Module Description
retry.config Enable Nextflow's process retry mechanism (How to enable retry)
schema.config Automatic parameter validation (How to perform validation)
csv_parser.config CSV parsing (How to parse a CSV)
bam_parser.config BAM parsing (How to parse a BAM)
common_methods.config Collection of commonly used config functions (How to use common functions)
pipeline_selector.config Functions for resolving pipeline dependencies (How to resolve pipeline dependencies)
align_methods.config Collection of commonly used config functions for align-DNA and -RNA (How to use common align pipeline functions)

Regression Testing

Regression tests for the functions supplied by this repository are located in the tests directory. The tests are automatically run on every pull request, and can be run locally with the ./tests/run_tests.sh script.

Adding New Tests

The tests are written for compatibility with JUnit4 and Groovy testing. New tests can be added using ExampleTests.groovy as a template.

References

  1. nf-core - https://nf-co.re/
  2. nf-code modules - https://github.com/nf-core/sarek/blob/ad2b34f39fead34d7a09051e67506229e827e892/conf/modules.config

License

Author: Yash Patel (YashPatel@mednet.ucla.edu)

pipeline-Nextflow-config is licensed under the GNU General Public License version 2. See the file LICENSE for the terms of the GNU GPL license.

pipeline-Nextflow-config comprises a set of commonly used Nextflow configs.

Copyright (C) 2022 University of California Los Angeles ("Boutros Lab") All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.