Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions conf/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,15 @@ process {
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]

// Per-sample fan-out stages benefit from SLURM job-array submission so a
// multi-sample run counts as one job for fair-share priority. The `array`
// directive is only honoured by executors that support it (SLURM, LSF, …);
// gate on params.slurm so the local / standard executor sees array = 0
// (a no-op) and never tries to submit an array.
withName: 'DRAM:ANNOTATE:CALL:.*|DRAM:ANNOTATE:DB_SEARCH:.*|DRAM:ANNOTATE:QC:COLLECT.*' {
array = params.slurm ? params.array_size : 0
}

withName: 'MULTIQC' {
ext.args = { params.multiqc_title ? "--title \"$params.multiqc_title\"" : '' }
publishDir = [
Expand Down
5 changes: 5 additions & 0 deletions nextflow.config
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,11 @@ params {

/* Process Options */
queue_size = 10
// SLURM (or other supporting executor) job-array submission for the
// heavy per-sample fan-out stages: CALL/DB_SEARCH/QC:COLLECT_*.
// 0 disables (default) so a fresh user with the local executor isn't
// surprised. Set when running with --slurm.
array_size = 0
// This is the resource requirements for a single process
// Not the limit to the total resources available to the pipeline
// Up to queue_size processes can run in parallel, of various sizes
Expand Down
5 changes: 5 additions & 0 deletions nextflow_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -690,6 +690,11 @@
"type": "integer",
"default": 10,
"description": "Maximum number of jobs to submit to the queue at once."
},
"array_size": {
"type": "integer",
"default": 0,
"description": "Number of tasks to submit per SLURM job array. 0 disables (default) so the local executor is unaffected. Set when running with --slurm."
}
}
},
Expand Down