General

The key words “MUST”, “MUST NOT”, “SHOULD”, etc. are to be interpreted as described in RFC 2119.

Minimum subworkflow size

Subworkflows SHOULD combine tools that make up a logical unit in an analysis step. A subworkflow MUST contain at least two modules.

Version reporting channel

Each subworkflow emits a channel that contains all tool versions from versions.yml files. Collect the versions within the workflow and add them to the output as versions:

take:
  input
 
main:
 
  ch_versions = Channel.empty()
 
  FASTQC(input)
 
  ch_versions = ch_versions.mix(FASTQC.out.versions())
 
emit:
  versions = ch_versions