【发布时间】:2018-09-11 14:00:41
【问题描述】:
我有一个简单的 Snakefile,我有一个使用 YAML 配置文件中定义的 Conda 环境的规则。
但是,当运行这个 Snakefile 时,Snakemake 并没有激活 Conda 环境并返回这个错误:
Error in rule read_file:
jobid: 0
conda-env: /data/projects/testproject/.snakemake/conda/805d8d2a
RuleException:
CalledProcessError in line 5 of /data/projects/testproject/scripts/snake/process.snake:
Command 'source activate /data/projects/testproject/.snakemake/conda/805d8d2a; set -euo pipefail; emirge ' returned non-zero exit status 2
File "/data/projects/testproject/scripts/snake/process.snake", line 5, in __rule_read_file
File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
Shutting down, this might take some time.
Exiting because a job execution failed. Look above for error message
我尝试使用 source activate 805d8d2a 和 conda activate 805d8d2a 手动激活 Conda 环境(由 SnakeMake 创建的环境)但没有成功(错误消息暗示没有具有所述名称的环境,但是,conda info --envs 列出了它现有)。为了进一步测试 Conda 功能,我手动创建了一个 Conda 环境,并且能够使用后一个命令激活它(命令 source activate testenv 不起作用)。
我的问题是:如何从我的 SnakeMake 脚本中自动激活 Conda 环境?
Conda 版本:4.5.11
SnakeMake 版本:5.2.4
蛇文件:
rule my_rule:
conda:
"emirge.yaml"
shell:
"emirge"
Emirge.yaml:
channels:
- bioconda
dependencies:
- emirge=0.61.1
编辑:
我正在使用命令运行 Snakemake:
snakemake --use-conda
【问题讨论】: