snakemake-workflows / docs

Documentation of the Snakemake-Workflows project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Additional python module requirements

vsoch opened this issue · comments

hey @johanneskoester another quick question! In the case of a local run (without Singularity or Docker) is the user in charge of ensuring all dependencies (snakemake, pandas if used, and others) are installed? if so, I'll add a requirements.txt with instructions to use to the workflow, unless there is a specific place that we should add this to ensure the install?

With Snakemake we prefer the software stack to be defined via the Conda integration (see https://snakemake.readthedocs.io/en/stable/snakefiles/deployment.html#integrated-package-management). Then, you can additionally define a (global) container, such that the user can choose (https://snakemake.readthedocs.io/en/stable/snakefiles/deployment.html#combining-conda-package-management-with-containers). The case that the user has to install software by himself should never occur, since it defeats reproducibility.

There is also the possibility to define containers per rule, but usually conda+global singularity directive should be sufficient.

Gotcha! For ENCODE we have users that use all three (Docker / Singularity / conda) so I'm very pleased this lines up nicely.