-
Notifications
You must be signed in to change notification settings - Fork 184
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
Add snakemake.params
to track config updates
#823
Conversation
snakemake.params
to track config updates
Cool @virio-andreyana ! Thanks for taking care of this issue! :D |
You're welcome @davide-f. The addition of the params is almost complete. What's still a bit missing is for the script Other than that, are there any suggestion and naming convention I should follow? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really amazing job! :D
This review also let me realize that on a coding perspective some rulues may be improved to trop some params, but that's not for this PR.
Maybe good to open an issue on that.
Added few comments on it :)
Merging this PR is likely to lead to some merge conflicts, so its merging is going to be discussed during the next meetings too. But it is a feature we want! :D
Awesome job @virio-andreyana ! |
@virio-andreyana FYI, as #824 and #822 are merged, this PR follows along with the new release v0.2.3 including you as contributor :) |
Great @virio-andreyana ! The PR is ready to merge :) |
Closes #767
Changes proposed in this Pull Request
Use the
params:
section in rule definition to keep track of changed settings inconfig.yaml
.https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#non-file-parameters-for-rules
The goal is that rules for which parameters have changed rerun automatically.
This can currently be done with:
https://snakemake.readthedocs.io/en/stable/project_info/faq.html#how-do-i-trigger-re-runs-for-rules-with-updated-code-or-parameters
snakemake -n -R `snakemake --list-params-changes`
or
snakemake -R $(snakemake --list-params-changes)
This will be even more convenient, once this
snakemake
PR is released:snakemake/snakemake#1107
or
(which would also include code changes)
It seems to work very nicely to pass lists/dicts as params, which would help us keep config "blocks".
This PR is not complete yet, but a proof-of-concept for a selection of config settings. We can discuss from here and complete later.
Checklist
envs/environment.yaml
anddoc/requirements.txt
.config.default.yaml
andconfig.tutorial.yaml
.test/
(note tests are changing the config.tutorial.yaml)doc/configtables/*.csv
and line references are adjusted indoc/configuration.rst
anddoc/tutorial.rst
.doc/release_notes.rst
is amended in the format of previous release notes, including reference to the requested PR.