我想知道如何最好 - 或最简单 - 使用snakemake与conda一起使用。我知道“--use-conda”选项与每个规则的yaml文件。 但是,对于一个简单的snakemake工作流程,我认为它会更容易 (i)激活单个现有的conda环境,(ii)运行snakemake工作流程,以及(iii)再次停用环境。
这是一个好的,简单的策略,还是首选的解决方案?
我是否需要在所有相关的conda环境中包含Snakemake及其依赖项,还是应该全局安装snakemake?
我可以引用现有的conda环境而不是提供conda yaml描述吗?
答案 0 :(得分: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,但实际上我从未使用过需要它的软件。