-
Notifications
You must be signed in to change notification settings - Fork 717
Labels
Description
Bug report
- Despite editing an eval script, a cached version of the process will be used under certain circumstances
Expected behavior and actual behavior
-
Expected: editing an eval script (e.g. from
multiqc --version
tomultiqc --version | sed "s/version//"
) will be picked up as an edit and therefore a cached version won't be used. -
Actual behaviour: it works correctly if
resume = true
is stated within the main workflow script. However if-resume
is provided on command line, orresume = true
is given in nextflow.config, then the cached version is used after a change to theeval
script
Steps to reproduce the problem
- Generate nextflow.config and main.nf from below example
- Run the pipeline
- Edit the eval statement to 'multiqc --version | sed "s/version//"'
- Rerun -> nothing changes about the output
resume = true
apptainer.enabled = true
apptainer.autoMounts = true
nextflow.enable.dsl=2
nextflow.preview.topic = true
process FOO {
tag "${id}"
container "quay.io/biocontainers/multiqc:1.14--pyhdfd78af_0"
input:
val(id)
output:
tuple val(task.process), eval('multiqc --version'), topic: versions
script:
"""
"""
}
workflow {
input_ch = Channel.from("Sample1")
FOO(input_ch)
channel.topic('versions').view()
}
Program output
Before edit:
[FOO, multiqc, version 1.14]
After edit:
[FOO, multiqc, version 1.14]
Should be:
[FOO, multiqc, 1.14] # Note that this behaviour is achieved by moving resume = true
from nextflow.config
to main.nf
Environment
- Nextflow version: version 24.10.0 build 5928
- Java version: openjdk 11.0.24 2024-07-16
- Operating system: Ubuntu 22.04.5 LTS
- Bash version: GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)