snakemake 每个子工作流的不同环境

snakemake different environments per subworkflow

我在 snakemake 中制作了两个独立的分析管道,每个管道都有自己的 conda 环境。现在我正在用这两个管道作为子工作流制作一个伞形蛇形。是否可以在自己的环境中使用另外两个管道?我无法在文档中找到它。而且我不喜欢使用 --use-conda 选项为子工作流的每个规则使用单独的环境。

我希望有人能帮我解决这个问题,或者我是否需要创建一个包含两个管道的所有工具的大型环境,这对我来说似乎效率不高。

SAMPLES=['a','b','c']

subworkflow one:
    workdir:"snake_one/"
    configfile:"snake_one/config.yaml"

subworkflow two:
    workdir:"snake_two/"
    configfile:"snake_two/config.yaml"


rule All:
  input:
    one(expand("../reports/{sample}-report.html",sample=SAMPLES)),
    two(final.txt),

ps。我也在 snakemake 论坛上问过这个问题,但我发现这是更好的地方。

你应该参考这个页面:http://snakemake.readthedocs.io/en/stable/snakefiles/deployment.html?highlight=envs

您可以使用 conda: entry 和 --use-conda 选项为整个管道使用一个环境,或者为每个规则使用一个环境。