我的makemake管道断言,只要我运行任何规则,我的代码都会引发非零的退出代码,即使如果我手动运行相同的确切代码,我的代码也会返回错误代码0,并且在Snakemake中运行时,它可以正常正常运行。
[根据this question的建议,我尝试在snakemake规则中将|| true
附加到shell命令,将规则从看起来像更改为
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在做什么导致这种情况?作为参考,我将python 3.7.0与snakemake 5.5.0结合使用,并且如果相关,我使用的服务器具有Ubuntu 16.04.5。
我在Snakemake中运行docker而不将我的用户名传播到容器时遇到了这个问题。该脚本可以运行,但是如果Snakemake无法以您的用户身份触摸输出,它将返回此隐式错误。