Nextflow Runner

Run a Viash component on a Nextflow backend engine.

Example:

runners:
  - type: nextflow
    directives:
      label: [lowcpu, midmem]

auto

Type: NextflowAuto

Default: simplifyInput: true simplifyOutput: false transcript: false publish: false

Automated processing flags which can be toggled on or off:

Flag Description Default
simplifyInput If true, an input tuple only containing only a single File (e.g. ["foo", file("in.h5ad")]) is automatically transformed to a map (i.e. ["foo", [ input: file("in.h5ad") ] ]). true
simplifyOutput If true, an output tuple containing a map with a File (e.g. ["foo", [ output: file("out.h5ad") ] ]) is automatically transformed to a map (i.e. ["foo", file("out.h5ad")]). false
transcript If true, the module’s transcripts from work/ are automatically published to params.transcriptDir. If not defined, params.publishDir + "/_transcripts" will be used. Will throw an error if neither are defined. false
publish If true, the module’s outputs are automatically published to params.publishDir. If equal to "state", also a .state.yaml file will be published in the publish dir. Will throw an error if params.publishDir is not defined. false

Example:

auto:
  publish: true

config

Type: NextflowConfig

Default: A series of default labels to specify memory and cpu constraints

Allows tweaking how the Nextflow Config file is generated.

container

Type: String

Default: docker

Specifies the Docker engine id to be used to run Nextflow.

debug

Type: Boolean

Default: False

Whether or not to print debug messages.

directives

Type: NextflowDirectives

Default: Empty

Directives are optional settings that affect the execution of the process. These mostly match up with the Nextflow counterparts.

Example:

directives:
  container: rocker/r-ver:4.1
  label: highcpu
  cpus: 4
  memory: 16 GB

id

Type: String

Default: nextflow

Name of the runner. As with all runners, you can give an runner a different name. By specifying id: foo, you can target this runner (only) by specifying ... in any of the Viash commands.

Examples:

id: foo
id: foo

type

Type: String

Specifies the type of the runner.