Snakemake утверждает, что правило выхода с ненулевым кодом выхода, даже с "|| true"? - PullRequest
1 голос
/ 20 июня 2019

Мой конвейер 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, если это уместно.

...