4

Some very late jobs of a workflow crashed due to a conda environment not being active.

Now, when I try to rerun using snakemake deploy_all --ignore-incomplete all jobs are rerun straight from the beginning, with the following reason:

Reason: Params have changed since last execution

How can I make snakemake not rerun all rules, and accept whatever input there is already?

This behaviour change seems to be new since version 7.8.0.

Cornelius Roemer
  • 3,772
  • 1
  • 24
  • 55
  • 1
    If you are on snakemake >= 7.8.0, maybe you are hitting the recent [change in behavior](https://github.com/snakemake/snakemake/issues/1677). See if using `--rerun-triggers mtime` helps. – dariober Jun 07 '22 at 07:31

1 Answers1

6

The rerun behaviour seems to have changed in v7.8.0, see this announcement: https://github.com/snakemake/snakemake/issues/1694

To get the old behaviour back, one needs to append

--rerun-triggers mtime

--touch may work sometimes, but sometimes not.

When I ran --touch the rerun reason changed to

reason: Code has changed since last execution
Cornelius Roemer
  • 3,772
  • 1
  • 24
  • 55
  • 1
    This situation does seem to be a fairly common scenario, so there might be a better way to solve this (I don't know of any, though). – SultanOrazbayev Jun 05 '22 at 15:03