Version
Snakemake version: 8.16.0
Snakefile
<code>rule test:
input:
"input.txt"
output:
"output.txt"
shell:
"""
cat {input} > {output}
"""
</code>
<code>rule test:
input:
"input.txt"
output:
"output.txt"
shell:
"""
cat {input} > {output}
"""
</code>
rule test:
input:
"input.txt"
output:
"output.txt"
shell:
"""
cat {input} > {output}
"""
Size of input.txt
is less than 100,000 bytes
(e.g. 99,999 bytes
)
Process
- First run
snakemake -c1
, everything is ok, theoutput.txt
will be created. - Run
touch input.txt
- Run
snakemake -c1
again, snakemake will promptNothing to be done (all requested files are present and up to date).
(This is not the result I expected.) - Add any character to
input.txt
, let its size equals to(or more than)100,000 bytes
- Run
snakemake -c1
,rule test
will run again, because the input file has been changed. - Run
touch input.txt
. (Same as step 2) - Run
snakemake -c1
again,rule test
will run again, because modification date of the input file has been changed.
Question
Why won’t snakemake re-run workflow if I touch the input file with size less than 100,000 bytes? Are there some ways to let snakemake re-run, as long as I touch any input file?
I have try above steps in 2 devices and get the same results.