nextflow module
Manage Nextflow modules.
Usage
$ nextflow module <subcommand> [options]
Description
The module command manages registry-based modules. Use it to install modules from a registry, run them directly, search for available modules, and publish your own modules to a registry.
Options
-h, -help
Print the command usage.
Subcommands
create [namespace/name]
Create a new module with a basic main.nf, meta.yml, and README.md.
install [options] [namespace/name]
Install a module from the registry into your project.
Nextflow stores downloaded modules in the modules/ directory and writes a .module-info file in each module directory to record the installed version.
The following options are available: Module version to install, for example Reinstall the module even if a locally modified copy exists. Without this flag, Nextflow does not overwrite locally modified modules.-version1.0.0. Defaults to the latest version.-force
list [options]
List the modules installed in your project. Shows each module's name, version, and integrity status, which reports whether the module was modified locally.
The following options are available: Output mode for list results. Options: -o, -output (table)table (default), json.
publish [options] [namespace/name | path]
Publish a module to the registry so that others can install it.
The argument can be either a namespace/name reference to an already-installed module, or a local directory path containing the module files.
Authenticate with the NXF_REGISTRY_TOKEN environment variable or the registry.apiKey config option.
The module directory must contain main.nf, meta.yml, and README.md.
The following options are available: Validate the module structure and metadata without uploading it to the registry. Registry to publish the module to (default: -dry-run-registryhttps://registry.nextflow.io).
remove [options] [namespace/name]
Remove a module from your project. By default, removes both the local files and the configuration entries.
The following options are available: Remove the module even if it has local modifications, or has no Remove the -force.module-info file because it was not installed from a registry.-keep-files.module-info file but keep the local files in the modules/ directory.
run [options] [namespace/name | path] [--<input_name> <input-value>]
Run a module directly.
The argument can be a remote module (namespace/name) or a local module path beginning with ./, ../, or /.
Nextflow downloads the module if it is not already installed.
Accepts all standard Nextflow run options, such as -profile, -resume, and -c.
Nextflow infers the command-line params, written as --<input_name>, from the module's declared inputs.
The following additional options are available: Module version to run, for example -version1.0.0. Defaults to the latest version.
search [options] [query]
Search for modules in the registry by keyword or name. Returns the matching modules with their names, versions, descriptions, and download statistics.
The following options are available: Maximum number of results to return (default: varies by registry). Output mode for search results. Options: -limit-o, -output (simple)simple (default), json.
spec [options] <namespace/name or path>
Generate the meta.yml for a local module from the source code (main.nf).
The generated file includes TODO placeholders for fields you do not specify.
If a spec file already exists, Nextflow incorporates it into the new file.
The following options are available: Module namespace, used to construct the module name. Required when the argument is a path, and ignored when it is a module name. Module version string, for example Short description of what the module does. Defaults to SPDX license identifier, for example Module author. Can be specified multiple times, once per author. Defaults to Print the generated spec to standard output without writing any file.-namespace <namespace>-version <version>1.0.0. Defaults to TODO: Add version.-description <text>TODO: Add description.-license <identifier>MIT or Apache-2.0. Defaults to TODO: Add license (e.g., MIT).-author <name>[TODO: Add author].-dry-run
view [options] [namespace/name]
Display detailed information about a module from the registry. Shows the module name, version, description, and other metadata, along with example usage.
The following options are available: Module version to query, for example Output mode for info results. Options: -version1.0.0. Defaults to the latest version.-o, -output (text)text (default), json.
validate [options] <scope/name or path>
Validate a module before publishing to the registry.
Verifies that the required files main.nf, meta.yml, and README.md are present, and that the module spec contains the required name, version, description, and license fields.
Examples
Install the latest module version:
$ nextflow module install nf-core/fastqc
Display the installed modules as a table:
$ nextflow module list
Validate the module structure without publishing:
$ nextflow module publish myorg/my-module -dry-run
Publish a module to the Nextflow registry:
$ export NXF_REGISTRY_TOKEN=your-token
$ nextflow module publish myorg/my-module
Display information for the latest module version:
$ nextflow module view nf-core/fastqc
Display information for a specific version:
$ nextflow module view nf-core/fastqc -version 1.0.0
Create a module:
$ nextflow module create
Remove a module completely:
$ nextflow module remove nf-core/fastqc
Run a remote module:
$ nextflow module run nf-core/fastqc \
--input 'data/*.fastq.gz'
Run a remote module with a specific version and run options:
$ nextflow module run nf-core/fastqc \
-version 1.0.0 \
--input 'data/*.fastq.gz' \
-with-conda \
-resume
Run a local module:
$ nextflow module run ./modules/nf-core/fastqc/main.nf \
--input 'data/*.fastq.gz'
Search for alignment-related modules:
$ nextflow module search alignment
Generate a spec for a local module by name:
$ nextflow module spec nf-core/fastqc
Generate a spec for a local module by path, which requires a namespace:
$ nextflow module spec -namespace nf-core ./modules/my-module
Provide additional fields to avoid TODO placeholders:
$ nextflow module spec \
-namespace nf-core \
-version 1.0.0 \
-description "Quality control of raw sequencing reads" \
-license MIT \
-author "@drpatelh" \
-author "@joseespinosa" \
./modules/nf-core/fastqc
Validate a module by name:
$ nextflow module validate myorg/my-module
Validate a module by path:
$ nextflow module validate ./modules/myorg/my-module