THIS REPOSITORY IS UNDER ACTIVE DEVELOPMENT. SYNTAX, ORGANISATION AND LAYOUT MAY CHANGE WITHOUT NOTICE!
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.7.2 - https://nf-co.re INFO Modules available from https://github.com/nf-core/modules.git (master): ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Module Name ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ abacas │ │ abricate/run │ │ abricate/summary │ │ adapterremoval │ ..truncated..
-
Install the module in your pipeline directory:
$ nf-core modules install fastqc ,--./,-. ___ __ __ __ ___ /,-._.--~\ |\ | |__ __ / ` / \ |__) |__ } { | \| | \__, \__/ | \ |___ \`-._,-`-, `._,._,' nf-core/tools version 2.7.2 - https://nf-co.re INFO Installing fastqc INFO Use the following statement to include this module: include { FASTQC } from '../modules/nf-core/fastqc/main'
-
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.7.2 - https://nf-co.re INFO Removing fastqc INFO Removed files for 'fastqc' and it's dependencies 'fastqc'.
-
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.7.2 - https://nf-co.re INFO Linting pipeline: '.' INFO Linting module: 'fastqc' ╭─ [!] 1 Module Test Warning ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ ╷ ╷ │ │ Module name │ File path │ Test message │ │╶───────────────── 78E5 ────────────────────────┼────────────────────────────────┼──────────────────────────────────────────────────────────────────────╴│ │ fastqc │ modules/nf-core/fastqc/main.nf │ Conda update: bioconda::fastqc 0.11.9 -> 0.12.1 │ │ ╵ ╵ │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────╮ │ LINT RESULTS SUMMARY │ ├──────────────────────┤ │ [✔] 22 Tests Passed │ │ [!] 1 Test Warning │ │ [✗] 0 Tests Failed │ ╰──────────────────────╯
-
Update the installed module locally with the latest version:
$ nf-core modules update fastqc ,--./,-. ___ __ __ __ ___ /,-._.--~\ |\ | |__ __ / ` / \ |__) |__ } { | \| | \__, \__/ | \ |___ \`-._,-`-, `._,._,' nf-core/tools version 2.7.2 - https://nf-co.re ? Do you want to view diffs of the proposed changes? (Use arrow keys) » No previews, just update everything Preview diff in terminal, choose whether to update files Just write diffs to a patch file
When prompted use the arrow keys to select the option to just update everything without preview or preveiw the changes before updating.
? Do you want to view diffs of the proposed changes? No previews, just update everything
INFO 'modules/nf-core/fastqc' is already up to date
INFO Updates complete ✨
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.