Skip to content

Exporting Projects

github-actions[bot] edited this page Nov 12, 2026 · 8 revisions

N-WAVE can hand a workflow over as plain Nextflow, to run without N-WAVE: on a server, a cluster or a colleague's computer. Export in the bottom bar opens a dialog with the choices; they work in the browser demo too.

Choice You get
Download script The generated script (<workflow>.nf) on its own. Copy script puts it on the clipboard.
Download project A zip with everything the run needs.
Download DAW model The workflow as a DAW model, for other tools.
Diagram A picture of the workflow: SVG or PNG for papers and slides, or Mermaid and Dot text that Mermaid and Graphviz draw. Of the Editor (the canvas as drawn, notes left out, one arrow per pair of steps); after Analyse, also of the Specification graph and the Process dependency graph, laid out as in their views, subworkflows framed (Graph views).

The project

<workflow>/
├─ main.nf                # the workflow
├─ nextflow.config        # parameters, node settings, run profiles, and the execution report, timeline and trace
├─ modules/local/         # its own processes, one folder each
├─ subworkflows/local/    # its own named workflows, if any
├─ modules/nf-core/       # the nf-core modules it uses, at N-WAVE's pinned version
├─ subworkflows/nf-core/  # the nf-core subworkflows it uses, if any
├─ inputs/                # the uploaded files and samplesheets
└─ README.md              # how to run it, and which inputs it expects

With Nextflow and Docker installed:

unzip <workflow>.zip && cd <workflow>
nextflow run main.nf -profile docker
  • Results go to results/; add --outdir <folder> to change that, and -resume to continue a run.
  • Input files N-WAVE couldn't include (too large to keep, or not uploaded) are listed in the README as not included: put them in inputs/ before running.
  • Parameters from a Parameters node can be changed on the command line, for example --fasta genome.fa.
  • The workflow's run profiles can be used in place of docker, for example -profile slurm.

The code

The script reads like Nextflow written by hand:

  • Steps are named after their labels (FASTQC_RAW_READS) and called by name; outputs are read as FASTQC_RAW_READS.out.zip. Channels are named after their nodes (ch_samplesheet).
  • Code that adapts one step's output to the next step's input is written only where the two differ.
  • Notes become /* Note: … */ comments, and the last line, // N-WAVE layout: …, keeps the canvas positions, so importing the code gives the same canvas back.
  • Groups of steps are named workflows (subworkflows) the workflow calls.
  • In a project, processes and named workflows are in modules/local/ and subworkflows/local/ and included from main.nf. Steps that use N-WAVE's helper functions (Filter, Map) stay in main.nf, where those functions are.

A workflow with an nf-core Pipeline node

The project holds the launch instead of a script: run.sh, params.json, the inputs, a README and, with run profiles, profiles.config. Nextflow downloads the pipeline on the first run:

bash run.sh

The script download is a single launch script that writes params.json and starts the pipeline.

See also

Clone this wiki locally