Я рву здесь волосы, надеюсь, кто-нибудь мне поможет.
Запуск snakemake 4.8.0
У меня есть конвейер snakemake, который я запускаю с двумя conda env и --use-conda, и он отлично работает при запуске как автономный конвейер.
Однако когда я запускаю наш кластер, я получаю сообщение об ошибке:
«Команда 'conda' недоступна в $ PATH».
Теперь. Anaconda установлена в нашем кластере, но нам нужно активировать ее на узлах с:
module load anaconda
Кроме того, модуль определяется как функция, поэтому для начала у меня есть источник. Поэтому в верхней части моего файла snakefile у меня есть:
shell.prefix("source $HOME/.bashrc; source /etc/profile; module load anaconda; )
Это не решает проблемы.
Я даже положил module load anaconda
в свой .bashrc
, но это все равно не работает. Только при выполнении кластера я получаю сообщение об отсутствии conda.
Другие изменения в моем .bashrc
подхватываются snakemake, поэтому я понятия не имею, почему у него проблемы с conda.
Я даже создал conda env, загрузил snakemake и conda в этот env, активировал env в скрипте отправки и в Snakefile:
shell.prefix("source $HOME/.bashrc; source /etc/profile; module load anaconda; source activate MAGpy-3.5; ")
И он по-прежнему говорит: «Команда 'conda' недоступна в $ PATH».
Буквально рвал волосы.
Кстати, я использую qsub -S /bin/bash
, а также shell.executable("/bin/bash")
, но сценарии временной оболочки, созданные в .snakemake
, запускаются /bin/sh
- это ожидается?
Помогите, пожалуйста!
qsub
? Кажется, что ошибка возникает из-за процесса, который создает (а не активирует) среду conda, и это, в свою очередь, похоже, запускается самим snakemake, а не заданиями, порожденными snakemake. - person Peter van Heusden   schedule 05.04.2018