From 251e36706bf57ad5a3c786c8a00a54bf5763f092 Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Fri, 20 Mar 2026 13:37:53 -0400 Subject: [PATCH] Snakefile: fix fetch_epic for compatibility with storage plugins With storage plugins `outputs.filepath` may be an prefixed path like `.snakemake/storage/...`, so we must use the wildcard. This also marks the rule for local execution. --- Snakefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Snakefile b/Snakefile index 19b2403e..3a849dba 100644 --- a/Snakefile +++ b/Snakefile @@ -85,6 +85,8 @@ def get_remote_path(path): raise runtime_exception('Unexpected value for config["remote_provider"]: {config["remote_provider"]}') +localrules: fetch_epic + rule fetch_epic: output: filepath="EPIC/{PATH}" @@ -94,9 +96,9 @@ rule fetch_epic: cache: True retries: 3 shell: """ -xrdcp --debug 2 root://dtn-eic.jlab.org//volatile/eic/{output.filepath} {output.filepath} +xrdcp --debug 2 root://dtn-eic.jlab.org//volatile/eic/EPIC/{wildcards.PATH} {output.filepath} """ if use_xrootd else """ -mc cp S3/eictest/{output.filepath} {output.filepath} +mc cp S3/eictest/EPIC/{wildcards.PATH} {output.filepath} """ if use_s3 else f""" echo 'Unexpected value for config["remote_provider"]: {config["remote_provider"]}' exit 1