From 4e9018ab926d451cd7896a95c119577fc89b637d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20K=C3=B6ster?= Date: Thu, 15 Sep 2022 16:02:30 +0200 Subject: [PATCH 1/2] fix: fix falsely triggered reruns if input files are obtained via workflow.source_path() --- snakemake/persistence.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/snakemake/persistence.py b/snakemake/persistence.py index a37b74683..7cc87d566 100755 --- a/snakemake/persistence.py +++ b/snakemake/persistence.py @@ -20,6 +20,7 @@ from snakemake.logging import logger from snakemake.jobs import jobfiles from snakemake.utils import listfiles +from snakemake.io import is_flagged, get_flag_value class Persistence: @@ -419,7 +420,8 @@ def _conda_env(self, job): @lru_cache() def _input(self, job): - return sorted(job.input) + get_path = lambda f: get_flag_value(f, "sourcecache_entry").get_path_or_uri() if is_flagged(f, "sourcecache_entry") else f + return sorted(get_path(f) for f in job.input) @lru_cache() def _log(self, job): From adc487581c0e9a99051047f27b65550eef379aae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20K=C3=B6ster?= Date: Thu, 15 Sep 2022 16:08:55 +0200 Subject: [PATCH 2/2] fmt --- snakemake/persistence.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/snakemake/persistence.py b/snakemake/persistence.py index 7cc87d566..ec2e49740 100755 --- a/snakemake/persistence.py +++ b/snakemake/persistence.py @@ -420,7 +420,11 @@ def _conda_env(self, job): @lru_cache() def _input(self, job): - get_path = lambda f: get_flag_value(f, "sourcecache_entry").get_path_or_uri() if is_flagged(f, "sourcecache_entry") else f + get_path = ( + lambda f: get_flag_value(f, "sourcecache_entry").get_path_or_uri() + if is_flagged(f, "sourcecache_entry") + else f + ) return sorted(get_path(f) for f in job.input) @lru_cache()