Resource requirements
The key words “MUST”, “MUST NOT”, “SHOULD”, etc. are to be interpreted as described in RFC 2119.
1 Use of labels in modules
An appropriate resource label MUST be provided for the module as listed in the nf-core pipeline template.
For example, process_single, process_low, process_medium or process_high.
2 Source of multiple threads or cores value
If the tool supports multi-threading, provide the appropriate parameter using the Nextflow task variable.
For example, --threads $task.cpus.
If the tool does not support multi-threading, consider process_single unless large amounts of RAM are required.
3 Specifying multiple threads for piped commands
If a module contains multiple tools that support multi-threading (e.g., piping output into a samtools command), assign CPUs per tool:
- [
task.cpus] is supplied unchanged when a process uses multiple cores. - If one tool is multi-threaded and another uses a single thread, specify directly in the command itself. For example, with
${task.cpus}.