У меня есть простой Snakefile, и у меня есть правило, которое использует среду Conda, определенную в файле конфигурации YAML.
Однако при запуске этого 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
Я попытался активировать среду Conda (созданную SnakeMake) вручную, используя source activate 805d8d2a
и conda activate 805d8d2a
, но безуспешно (сообщение об ошибке означает, что нет среды с указанным именем, однако, conda info --envs
перечисляет ее как существующий). Для дальнейшего тестирования функциональности Conda я вручную создал среду Conda и смог активировать ее с помощью последней команды (команда source activate testenv
не работает).
У меня вопрос: как мне автоматически активировать среду Conda из моего скрипта SnakeMake?
Конда версия: 4.5.11
SnakeMake версия: 5.2.4
Snakefile:
rule my_rule:
conda:
"emirge.yaml"
shell:
"emirge"
Emirge.yaml:
channels:
- bioconda
dependencies:
- emirge=0.61.1
Edit:
Я запускаю Snakemake с командой:
snakemake --use-conda