-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
workflow.basedir()
semi-incompatible with new Snakemake provenance behaviour
#180
Comments
|
In today's meeting we tried |
Was thinking about this a bit more, I think the shadow directory idea would be a nightmare to implement and cause more problems than it would solve. There's really just two folders that generally might need to be referenced within a snakemake workflow that might case provenance problems: For provenance handling, all resources should be marked as |
Superseded by #304 |
The problem
In the latest versions of Snakemake (7.3 I believe), the shell code, inputs, parameters, and environment are tracked by Snakemake, and if they ever change, a rerun of the affected rule will be triggered.
In Snakemake workflows, the convention has been to prefix paths relative to the snakemake root dir (e.g.
resources
) withworkflow.basedir
or similar to accommodate workflow mode, wherein the cwd is moved to the users output dir and those relative files would become inaccessible. This creates a problem when the snakemake root dir is moved: the "top part" of the paths would change, triggering a rerun. This situation could occur, for instance, when a user runs a snakebids bidsapp in installed in a temporary directory like compute local scratch. In each compute session, the bidsapp would be in a different directory.There are two current workarounds:
snakemake --clear-metadata
) every time the app is reinstalled. This requirement is unintuitive and burdensome in situations of frequent reinstall (like running on the cluster).mtime
. In other words, we don't support this feature. This seems unideal, as the feature has very useful applications.A better solution or workaround is, I think, needed. My idea of shadow dirs #179 would solve the issue, but I leave this thread for any other suggestions.
The text was updated successfully, but these errors were encountered: