如何解决蛇形中的while循环;检查站
我在 snakemake 中使用的工具之一可以在 N 种情况之一的相同数据上返回一个奇怪的信号(非零状态)并且不记录输出。据此,每次收到这样的信号并获得空输出时,我都想重新启动此规则。我认为它是一种“while-cycle”。我知道这种在没有显式 DAG 的情况下工作的逻辑与 snakemake 的想法相矛盾,但是随着检查点的出现,我相信可以找到解决方案。
谢谢!
解决方法
您不能“重新启动规则”,但您可以多次运行相同的命令。
这是如何mask the error:
shell:
"""
set +e
somecommand ...
exitcode=$?
if [ $exitcode -eq 1 ]
then
exit 1
else
exit 0
fi
"""
同样的方法应该适用于 bash 中的 while
循环:
shell:
"""
set +e
somecommand ...
exitcode=$?
while [ $exitcode -ne 0 ]
do
somecommand ...
exitcode=$?
done
"""
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。