This PR deals with and closes #69. It refactors snakemake pipeline to run all tasks in singularity env instead of singularity+conda setup (and singularity for few tasks). This will improve reproducibility.
What was done?
For conda environments with single tool dependency, biocontainers from quay.io was used.
Rules that used snakemake-wrappers were refactored to remove snakemake-wrapper and instead explicitly define the commands used. This was done as snakemake-wrappers required creation of conda env.
Rule aggregate_sample_rename_configs, which used run directive, was refactored to use shell directive, as run directive would not allow use of container and instead would be run directly by snakemake in the environment it is present in.
Please fill in the checklist below and comment as needed.
[x] Was code modified? Briefly describe. Please see description above.
[x] Was documentation modified? Briefly describe. Yes, to reflect the refactoring in this PR.
[x] Is this a bug-fix? Briefly describe. No
[x] Is this a feature addition? Briefly describe. It is an enhancement to improve reproducibility.
[x] Did you modify QuaC-Watch config file? If so, did you modify multiqc template
configs/multiqc_config_template.jinja2 and script src/quac_watch/create_mutliqc_configs.py as necessary? Not modified.
[x] Did you perform system-level testing manually as described in master readme doc? Did it pass completely? If not why? Yes.
[x] Updated Changelog.md file with change logs in recommended format?
Pull request
This PR deals with and closes #69. It refactors snakemake pipeline to run all tasks in singularity env instead of singularity+conda setup (and singularity for few tasks). This will improve reproducibility.
What was done?
aggregate_sample_rename_configs
, which usedrun
directive, was refactored to useshell
directive, asrun
directive would not allow use of container and instead would be run directly by snakemake in the environment it is present in.Please fill in the checklist below and comment as needed.
configs/multiqc_config_template.jinja2
and scriptsrc/quac_watch/create_mutliqc_configs.py
as necessary? Not modified.Changelog.md
file with change logs in recommended format?Anything else reviewer should know?
No.