diff --git a/snakemake/persistence.py b/snakemake/persistence.py index a37b74683..ec2e49740 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,12 @@ 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):