Skip to content

Allow simultaneous use of envmodules and conda environment #156

Open
@gatoniel

Description

@gatoniel

Is your feature request related to a problem? Please describe.
On our cluster, certain libraries are pre-installed and can be loaded via module load while python environments are managed via conda. In my specific use case, I rely on loading CUDA and cuDNN via module load and managing installation of tensorflow and other python modules via conda environments. This has worked in previous snakemake versions by providing custom submit.py scripts in the profiles. Now I wonder if I can simultaneously use the envmodules and conda directives in rules.

The docs sound as if these two directives are mutualy exclusive. Is there a way for me, to use snakemake v8 and this executor plugin for the above mentioned requirement?

Describe the solution you'd like
Execute a job and simultaneously provide cluster modules and a conda environment.

Describe alternatives you've considered
I would go back to earlier snakemake versions where I used custom submit.py scripts.

Additional context
Furthermore, I want to ask whether the executor runs module purge before loading the modules as is recommended on many clusters. I couldn't find the info in the docs.

Best,
Niklas

EDIT:
I know of this quote:

Using environment modules can be combined with conda and apptainer (--sdm env-modules conda apptainer), which will then be only used as a fallback for rules not defining environment modules. For running jobs, the squeue command:
from https://snakemake.github.io/snakemake-plugin-catalog/plugins/executor/slurm.html

But I wonder if this really allows for simultaneous usage of envmodules and conda in the same rule, or whether one is ussed only as fallback of the other?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions