【问题标题】:using conda environments in simple snakemake workflows在简单的蛇形工作流程中使用 conda 环境
【发布时间】:2017-11-13 15:15:53
【问题描述】:

我想知道如何最好(或最简单)将蛇形与 conda 结合使用。我知道每个规则带有一个 yaml 文件的“--use-conda”选项。 但是,对于一个简单的蛇形工作流程,我认为只需 (i) 激活一个现有的 conda 环境,(ii) 运行 snakemake 工作流程和 (iii) 再次停用环境。

  • 这是一个简单的好策略还是首选解决方案?

  • 我是否需要在所有相关的 conda 环境中包含 Snakemake 及其依赖项,还是应该全局安装 snakemake?

  • 我可以参考现有的 conda 环境而不是提供 conda yaml 描述吗?

【问题讨论】:

  • 您还可以从每个规则中引用相同的环境。最后,这总是有回报的,即使是简单的东西。特别是与 --archive 结合使用。
  • 我和原始发帖人有同样的问题:我可以参考现有的 conda 环境而不是提供 conda yaml 描述吗? 例如,conda: "conda activate myenv"
  • 特别是,使用 conda_env yaml 规范不适用于需要注册的 GATK,我不想使用 GATK 4.0 包装器,而是使用 GATK 3.8。

标签: conda snakemake


【解决方案1】:

根据我在 Linux 环境 (Redhat // CentOS) 中的经验,设置启动 conda 环境的本地别名非常方便,在您登录时立即调用它,然后在该 conda 环境中工作并运行所有内容.

Works great with the Linux screen functionality.

为了运行大批量生产,我将使用一个屏幕(Linux),它会快速将现有环境(conda 环境因此已经加载)复制到一个新屏幕中。这样您就可以关闭窗口并仍然在其他地方工作。我发现从 5 个或更多不同的终端会话运行相同的 conda 环境(例如“source activate myCondaEvn-2017”)没有问题。

我总是使用 conda 来管理运行 Snakemake 的任何东西。但实际上我从来不需要在生产中使用 --conda 调用。可以嵌套 conda 环境,但是,为每个规则创建一个 conda 环境的成本(当我有 100 条规则时)成本太高。它确实允许我同时运行 Python 2 和 Python 3,但实际上我从未使用过需要它的软件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-26
    • 2020-05-16
    • 2019-07-22
    • 2017-08-02
    • 2021-04-17
    • 2021-12-15
    • 2017-03-03
    • 1970-01-01
    相关资源
    最近更新 更多