如何解决蛇形随机将输出识别为不完整
我开发的蛇形制作工作流程遇到了一些问题。对于特定规则,snakemake 有时会将输出标识为不完整:
IncompleteFilesException:
The files below seem to be incomplete. If you are sure that certain files are not incomplete,mark them as complete with
snakemake --cleanup-metadata <filenames>
To re-generate the files rerun your command with the --rerun-incomplete flag.
Incomplete files:
此规则运行多次(使用不同的通配符值),只有一些失败并出现此错误。有趣的是,如果我从头开始重新运行工作流,相同的作业将完成而不会出错,而其他作业可能会产生错误。另外,我手动检查了输出,没有发现任何问题。我可以毫无问题地恢复工作流程。
我知道 --ignore-incomplete
解决方法,但仍然好奇为什么会发生这种情况?蛇形如何决定输出不完整?我还应该提到作业在 PBS HPC 系统上运行 - 不确定它是否相关。
解决方法
在这种情况下不完整可能意味着工作没有完成它应该的样子,所以 Snakemake 不能保证输出是它应该的样子。如果您的规则产生输出但随后失败,Snakemake 仍会将输出标记为不完整。
当 IncompleteFilesException
出现时,我查看了源代码。 Snakemake 似乎在调用 persistence.finished()
时将文件标记为完整,请参阅 code here。
而 finished()
被 postprocess()
调用,它再次被许多地方调用。如果不彻底了解 Snakemake,似乎很难知道问题出在哪里。不知何故,Snakemake 一定认为这项工作没有正确完成。
我会查看 Snakemake 运行的日志。可能有些作业失败了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。