| name | nf-core-modules-subworkflows |
| description | Guide for interacting with nf-core modules and subworkflows. Use this when you need to discover, view, install, or update nf-core modules/subworkflows in your pipeline. |
Working with nf-core Modules and Subworkflows
This guide covers how to discover, view, install, and update nf-core modules and subworkflows in your pipeline.
Prerequisites
nf-core is installed via pyproject.toml.
Table of Contents
- Discovering Modules and Subworkflows
- Getting Information
- Viewing Source Code
- Installing
- Updating
- Version Management
CRITICAL: use source .venv/bin/activate to activate the virtual environment before running nf-core commands, to ensure you are using the correct version of nf-core and its dependencies.
Discovering Modules and Subworkflows
List All Available Modules
To see all modules available in the nf-core repository:
nf-core modules list remote
nf-core modules list remote fastq
Always try to search for a keyword as the raw list of modules can be overwhelming. The search will match both module names and descriptions.
List All Available Subworkflows
To see all subworkflows available in the nf-core repository:
nf-core subworkflows list remote
nf-core subworkflows list remote bam
List Installed Modules/Subworkflows
To see what's already installed in your pipeline:
nf-core modules list local
nf-core subworkflows list local
nf-core modules list local --dir /path/to/pipeline
Getting Information
Module Information
Get detailed information about a specific module:
nf-core modules info <module_name>
nf-core modules info fastqc
nf-core modules info samtools/sort
This displays:
- Module description
- Input/output channels
- Parameters
- Dependencies
- Tool versions
Subworkflow Information
Get detailed information about a specific subworkflow:
nf-core subworkflows info <subworkflow_name>
nf-core subworkflows info bam_rseqc
Viewing Source Code
Browse on GitHub
There are several ways to view the actual source code:
1. Direct GitHub Links
Modules:
Subworkflows:
2. nf-core Website
Visit https://nf-co.re/modules to:
- Browse all modules with search functionality
- View documentation and examples
- See usage statistics
- Access GitHub links
3. After Installation
Once installed, modules and subworkflows are available locally:
./modules/nf-core/<module_name>/
./subworkflows/nf-core/<subworkflow_name>/
View them with your editor or terminal:
cat modules/nf-core/fastqc/main.nf
cat subworkflows/nf-core/bam_rseqc/main.nf
Installing
Install a Module
nf-core modules install
nf-core modules install <module_name>
nf-core modules install fastqc
nf-core modules install samtools/sort
nf-core modules install fastqc --dir /path/to/pipeline
Installation Options:
--force: Overwrite previously installed version
--prompt: Interactively select the module version
--sha <commit_sha>: Install from a specific commit
nf-core modules install fastqc --sha abc123def456
nf-core modules install fastqc --force
Install a Subworkflow
nf-core subworkflows install
nf-core subworkflows install <subworkflow_name>
nf-core subworkflows install bam_rseqc
nf-core subworkflows install bam_rseqc --dir /path/to/pipeline
Installation Options:
--dir: Specify pipeline directory (default: current directory)
--force: Overwrite previously installed version
--prompt: Interactively select version
--sha <commit_sha>: Install from specific commit
Updating
Update Modules
nf-core modules update
nf-core modules update <module_name>
nf-core modules update fastqc
nf-core modules update samtools/sort
nf-core modules update --all --no-preview
Update Options:
--all: Update all modules in the pipeline
--force: Reinstall even if up to date
--prompt: Select version interactively
--sha <commit_sha>: Update to specific commit
--preview / --no-preview: Show/hide diff before updating
--save-diff <filename>: Save diffs to file for review
nf-core modules update fastqc --preview
nf-core modules update --all --no-preview
nf-core modules update fastqc --save-diff fastqc.diff
git apply fastqc.diff
Update Subworkflows
nf-core subworkflows update
nf-core subworkflows update <subworkflow_name>
nf-core subworkflows update bam_rseqc
nf-core subworkflows update --all --no-preview
Update Options:
--dir: Specify pipeline directory
--all: Update all subworkflows
--force: Reinstall even if up to date
--prompt: Select version interactively
--sha <commit_sha>: Update to specific commit
--preview / --no-preview: Show/hide diff before updating
--save-diff <filename>: Save diffs to file
--update-deps: Automatically update all dependencies
nf-core subworkflows update bam_rseqc --update-deps
nf-core subworkflows update bam_rseqc --preview
Quick Reference
| Task | Modules Command | Subworkflows Command |
|---|
| List remote | nf-core modules list remote | nf-core subworkflows list remote |
| List local | nf-core modules list local | nf-core subworkflows list local |
| Get info | nf-core modules info <name> | nf-core subworkflows info <name> |
| Install | nf-core modules install <name> | nf-core subworkflows install <name> |
| Update | nf-core modules update <name> | nf-core subworkflows update <name> |
| Update all | nf-core modules update --all | nf-core subworkflows update --all |
Additional Resources
Common Workflows
Workflow 1: Adding a New Module
nf-core modules list remote | grep samtools
nf-core modules info samtools/sort
nf-core modules install samtools/sort
Tips and Best Practices
- Always check module info before installing to understand inputs/outputs
- Use
--preview flag when updating to review changes
- Pin versions in
.nf-core.yml for production pipelines
- Update regularly for bug fixes and improvements (in development)
- Check the changelog on GitHub when updating modules
- Test after updates using your pipeline test suite
- Use semantic versioning where possible for reproducibility
Last updated: February 2026
For the most current information, visit https://nf-co.re/docs/nf-core-tools