Связано: Правило SnakeMake со скриптом Python, conda и кластером
Я пытался настроить свои конвейеры SnakeMake для работы на кластерах SGE (qsub). Нет проблем с использованием простых команд или инструментов, которые устанавливаются непосредственно на вычислительные узлы. Однако возникает проблема, когда я пытаюсь настроить SnakeMake для загрузки инструментов через Conda на узлах SGE.
Мой тестовый файл Snakefile:
rule bwa_sge_c_test:
conda:
"bwa.yaml"
shell:
"bwa > snaketest.txt"
Файл "bwa.yaml":
channels:
- bioconda
dependencies:
- bwa=0.7.17
Я запускаю SnakeMake командой:
snakemake -d "/home/<username>" --use-conda --cluster "qsub -cwd -q testing-nod08" --jobs 1
В результате я получаю такую ошибку в вычислительном узле SGE:
/usr/bin/python3: No module named snakemake.__main__; 'snakemake' is a package and cannot be directly executed
touch: cannot touch '/home/krampl/.snakemake/tmp.7le8izvw/0.jobfailed': No such file or directory
Я попытался добавить snakemake = 5.2.2 к bwa.yaml (как предложил коллега), но ошибка осталась.
У меня следующие вопросы: что вызывает эту ошибку и как ее исправить, чтобы я мог запускать среды Conda из SnakeMake в кластерах SGE?