b4452a4881
* first commit * entrezdirect/esummary fixed version definition * resolved suggestion * updated main.nf * changed output definition * output: XML file * output definition: XML file * updated XML format in tests * updated test file * version: esummary instead of entrezdirect * output file pattern: *.esummary.xml * updated test file * updated versions * restored versions stdout * updated test file * changed xml_esummary pattern * changed entrezdirect to esummary version * updated test file * Update modules/entrezdirect/esummary/meta.yml changed output file pattern: "*.xml" Co-authored-by: James A. Fellows Yates <jfy133@gmail.com> * Update modules/entrezdirect/esummary/meta.yml updated keywords Co-authored-by: James A. Fellows Yates <jfy133@gmail.com> * Update modules/entrezdirect/esummary/main.nf Output file pattern: *.xml Co-authored-by: James A. Fellows Yates <jfy133@gmail.com> * Update modules/entrezdirect/esummary/main.nf Output file pattern: *.xml Co-authored-by: James A. Fellows Yates <jfy133@gmail.com> * Update modules/entrezdirect/esummary/main.nf database as separate input channel Co-authored-by: James A. Fellows Yates <jfy133@gmail.com> * removed blank spaces in input definition * database as separate channel * conditional script for stdin * updated input definition * entrez-direct version:16.2_1 * all input channels are separate * ignore stderr, catch xml stdout * removed blank lines * added ids file input * updated test * conditional script for input * removed bad definition of input file * updated test file * Update modules/entrezdirect/esummary/main.nf changed input definition: ui, uids_file Co-authored-by: James A. Fellows Yates <jfy133@gmail.com> * Update modules/entrezdirect/esummary/meta.yml added uids_file description Co-authored-by: James A. Fellows Yates <jfy133@gmail.com> * Update modules/entrezdirect/esummary/main.nf Co-authored-by: James A. Fellows Yates <jfy133@gmail.com> * input: uid or uids_file * updated input * added uids_file to input * input file as optional input * input file as optional input in each test * new conditional script * unpdated test file * single input definition * added error messages * updated test * removed cat from command output * Update modules/entrezdirect/esummary/main.nf added comment on use of grep in output Co-authored-by: James A. Fellows Yates <jfy133@gmail.com> * added comment * removed blank spaces * input file: empty list * input file: empty list * removed comment at wrong position * optional file defined as empty list * updated successful test * Apply suggestions from code review Accepted suggestions. Co-authored-by: Matthieu Muffato <mm49@sanger.ac.uk> * Update modules/entrezdirect/esummary/main.nf Fixed comment. Co-authored-by: Matthieu Muffato <mm49@sanger.ac.uk> * Update modules/entrezdirect/esummary/main.nf Updated grep in output file. Co-authored-by: Matthieu Muffato <mm49@sanger.ac.uk> * added tail -n+3 before output * updated successful test Co-authored-by: James A. Fellows Yates <jfy133@gmail.com> Co-authored-by: Matthieu Muffato <mm49@sanger.ac.uk> |
||
---|---|---|
.github | ||
docs/images | ||
modules | ||
subworkflows/nf-core | ||
tests | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitpod.yml | ||
.nf-core.yml | ||
.prettierignore | ||
.prettierrc.yml | ||
CITATION.cff | ||
LICENSE | ||
main.nf | ||
pytest.ini | ||
README.md |
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.
Table of contents
Using existing modules
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.0 INFO 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.0 INFO Installing fastqc pipeline_modules.py:213 INFO 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.0 INFO Removing fastqc pipeline_modules.py:271 INFO 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.0 INFO Linting pipeline: . lint.py:104 INFO 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 │ ╰──────────────────────╯
Adding new modules
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 :)
Help
For further information or help, don't hesitate to get in touch on Slack #modules
channel (you can join with this invite).
Citation
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.