Repository navigation
nf core Library
nf-core maintains over 2,000 tested Nextflow modules for bioinformatics tools (FastQC, Trim Galore, STAR, Salmon, SAMtools, MultiQC, …) and over 100 subworkflows that combine them. N-WAVE turns each one into a node.
- Click + (Add node) → nf-core Library.
- Choose the Modules or Subworkflows tab and search, for example
fastqcorstar/align. - Click Install. The node appears in the node menu under Installed nf-core.
Installing a subworkflow also installs the modules it includes. Installed components stay installed; Remove takes one out again. In the browser demo they install into this browser.
When a workflow uses components that aren't installed (a template, an example, a workflow from
another installation), a banner above the canvas lists them with Install them.
Running the workflow also installs them first: the run panel shows a line per component
(N-WAVE: installing nf-core/fastqc …), and Cancel stops the downloads. A component whose
download was stopped isn't installed; the ones finished before stay installed.
| Label | Meaning |
|---|---|
| Generated | N-WAVE understood every input and output: it installs and works like any node. |
| Needs review | Some input or output couldn't be mapped, so it can't be installed automatically. |
| Can't be built | The module lacks the metadata N-WAVE needs. |
| Installed | Already in the node menu. |
A module that doesn't install can still be used: install a similar one, or write it as a custom node (Convert to custom node on any node's Code tab copies its code to start from).
nf-core modules take samples as [ meta, files ]: start from a Samplesheet node, or
connect files directly (N-WAVE makes a sample of each). References such as a genome or an
index come from a Parameters node. The QC of FASTQ files template (New Workflow)
and Demo 3 show both. Settings are described in the
Node reference.
Each module's outputs are copied to results/<node name>/, like nf-core pipelines lay out
their results.
An nf-core subworkflow node runs the subworkflow as nf-core publishes it, so its steps can't be changed on the canvas. To change them, Step in and choose Copy into new workflow (also in the node's panel). N-WAVE opens a new workflow with:
| In the subworkflow | In the copy |
|---|---|
| Modules and subworkflows it calls | nf-core nodes (missing ones are offered for install); subworkflows inside can be copied in turn |
Its inputs (take:): reads |
A Samplesheet node |
| Its inputs: reference files (genome, index, annotation) | File parameters in a Parameters node; a reference of several files ([ meta, fasta, fai ]) is built from them by a channel operator where a step takes it as one |
| Its inputs: other files (a BAM per sample) | A File Input node |
Its inputs: values (save_unaligned, pseudo_aligner) |
Parameters at their defaults, which the steps and code read as params.<name>
|
Its outputs (emit:) |
Display Output nodes (not versions) |
| How steps pass channels | Connections, also through variables in between |
Channel code (join, map, branch, an if choosing a tool) |
Channel operator nodes, with the code as written |
What a copy can't bring is named above its canvas:
- settings nf-core pipelines give modules in their
modules.config(ext.args,ext.prefix), which aren't part of the subworkflow: set them on each step; - outputs it can't trace to a step, and inputs with several files that go into channel code.
The copy is a workflow like any other: it runs, exports and imports as such.
The nf-core Pipeline node runs a complete pipeline, such as nf-core/rnaseq, instead of
single modules. Pick the pipeline from the list of all nf-core pipelines (search by name or
by what it does) and one of its releases; the list comes from
nf-co.re/pipelines. If nf-co.re can't be reached, type the name
(the part after nf-core/) and a release number from the pipeline's page, or dev. See
Running the nf-core/rnaseq example
and, for the same analysis rebuilt from modules,
RNA-seq with STAR and Salmon.
How far each part of nf-core has been tested with N-WAVE (as of 1.4).
Pipelines (Pipeline node, test profile):
| Pipeline | Result |
|---|---|
| rnaseq 3.27.0 | Runs end to end (Demo 2). |
| atacseq 2.1.2, chipseq 2.1.0, ampliseq 3.0.0, fetchngs 1.13.0, scrnaseq 4.2.0, sarek 3.10.0 | Run end to end (Docker on a desktop machine). |
| mag 5.5.0 | Runs end to end. One task (MAXBIN2) fails on the test data; mag is set to go on without it, and the node shows Results ready, 1 error ignored. |
Modules and subworkflows on the canvas: checked with nextflow lint on every change
(CI), and run with Nextflow's stub mode, which runs each module's stub instead of its tool:
- samtools/faidx, sort, index, stats, flagstat, idxstats; bwa/index into bwa/mem; cat/fastq; seqkit/stats; gunzip; fastqc; MultiQC with collected inputs; STAR and Salmon (Demo 3, also run for real).
- Subworkflows bam_sort_stats_samtools, quantify_pseudo_alignment (Demo 3), fastq_trim_fastp_fastqc into fastq_align_bwa.
Known limits: a subworkflow's later inputs named like a reference (index, fasta, gtf, …) take one item for all samples; a module whose inputs N-WAVE can't map is marked Not supported (see What the labels mean).
N-WAVE ships a catalog of nf-core/modules pinned to one version; installing downloads a module's files at that version. How module inputs become ports and settings, and how to fix a module the automatic mapping gets wrong, is in scripts/README.md.