A repository for hosting Nextflow DSL2 module files containing tool-specific process definitions and their associated documentation.
The module files hosted in this repository define a set of processes for software tools such as fastqc, bwa, samtools etc. This allows you to share and add common functionality across multiple pipelines in a modular fashion.
We have written a helper command in the nf-core/tools package that uses the GitHub API to obtain the relevant information for the module files present in the modules/ directory of this repository. This includes using git commit hashes to track changes for reproducibility purposes, and to download and install all of the relevant module files.
- Install the latest version of
nf-core/tools(>=2.0) - List the available modules:
$ nf-core modules list remote ,--./,-. ___ __ __ __ ___ /,-._.--~\|\ | |__ __ / ` / \ |__) |__ } {| \| | \__, \__/ | \ |___ \`-._,-`-, `._,._,'nf-core/tools version 2.0INFO Modules available from nf-core/modules (master): pipeline_modules.py:164┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓┃ Module Name ┃┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩│ bandage/image ││ bcftools/consensus ││ bcftools/filter ││ bcftools/isec │..truncated..- Install the module in your pipeline directory:
$ nf-core modules install fastqc ,--./,-. ___ __ __ __ ___ /,-._.--~\|\ | |__ __ / ` / \ |__) |__ } {| \| | \__, \__/ | \ |___ \`-._,-`-, `._,._,'nf-core/tools version 2.0INFO Installing fastqc pipeline_modules.py:213INFO Downloaded 3 files to ./modules/nf-core/modules/fastqc pipeline_modules.py:236- Import the module in your Nextflow script:
#!/usr/bin/env nextflow
nextflow.enable.dsl =2
include { FASTQC } from './modules/nf-core/modules/fastqc/main'- Remove the module from the pipeline repository if required:
$ nf-core modules remove fastqc ,--./,-. ___ __ __ __ ___ /,-._.--~\|\ | |__ __ / ` / \ |__) |__ } {| \| | \__, \__/ | \ |___ \`-._,-`-, `._,._,'nf-core/tools version 2.0INFO Removing fastqc pipeline_modules.py:271INFO Successfully removed fastqc pipeline_modules.py:285- Check that a locally installed nf-core module is up-to-date compared to the one hosted in this repo:
$ nf-core modules lint fastqc ,--./,-. ___ __ __ __ ___ /,-._.--~\|\ | |__ __ / ` / \ |__) |__ } {| \| | \__, \__/ | \ |___ \`-._,-`-, `._,._,'nf-core/tools version 2.0INFO Linting pipeline: . lint.py:104INFO Linting module: fastqc lint.py:106╭─────────────────────────────────────────────────────────────────────────────────╮│ [!] 1 Test Warning │╰─────────────────────────────────────────────────────────────────────────────────╯╭──────────────┬───────────────────────────────┬──────────────────────────────────╮│ Module name │ Test message │ File path │├──────────────┼───────────────────────────────┼──────────────────────────────────┤│ fastqc │ Local copy of module outdated │ modules/nf-core/modules/fastqc/ │╰──────────────┴────────────────────────────── ┴──────────────────────────────────╯╭──────────────────────╮│ LINT RESULTS SUMMARY │├──────────────────────┤│ [✔] 15 Tests Passed ││ [!] 1 Test Warning ││ [✗] 0 Test Failed │╰──────────────────────╯If you wish to contribute a new module, please see the documentation on the nf-core website.
Please be kind to our code reviewers and submit one pull request per module :)
For further information or help, don't hesitate to get in touch on Slack #modules channel (you can join with this invite).
If you use the module files in this repository for your analysis please you can cite the nf-core publication as follows:
The nf-core framework for community-curated bioinformatics pipelines.
Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.
Nat Biotechnol. 2020 Feb 13. doi: 10.1038/s41587-020-0439-x.
We are using self-hosted runners for the CI tests, managed via RunsOn.
