Мой конвейер snakemake утверждает, что мой код вызывает ненулевой код завершения всякий раз, когда я запускаю какое-либо правило, даже если мой код возвращает код ошибки 0, если я вручную запускаю тот же самый точный код, и он прекрасно работает при запуске в Snakemake.
Согласно совету этого вопроса , я попытался добавить || true
к команде оболочки в правиле создания змеи, изменив мое правило, чтобы оно выглядело как
rule rulename:
input:
"input/file"
output:
"output/file"
shell:
"python3.7 scripts/script.py {input} {output}"
до
rule rulename:
input:
"input/file"
output:
"output/file"
shell:
"python3.7 scripts/script.py {input} {output} || true"
Однако, когда я повторно запускаю конвейер, snakemake по-прежнему выдает ошибку и говорит, (exited with non-zero exit code)
, хотя || true
в конце будет гарантировать, что эта команда всегда возвращает код выхода 0.
Что делает змеиный мастер, чтобы вызвать это? Для справки, я использую snakemake 5.5.0 с python 3.7.0, и на сервере, который я использую, есть Ubuntu 16.04.5, если это уместно.