微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

“选择要执行的作业...”字面上永远运行

如何解决“选择要执行的作业...”字面上永远运行

我有一个相当复杂的工作流程,包含 750 个样本和大约 18.000 个作业,起初snakenmake 运行得很好,但在大约 4.000 个作业之后它突然冻结,并在重新启动时挂起“选择要执行的作业...”24 小时,之后我终止了它。不过,最初的 DAG 构建大约需要 2-3 分钟。

当我使用 --verbose 选项运行 snakemake(v5.32.0 和 v5.32.1)时,我得到了大量与此类似的行:

Cbc0010I After 600 nodes,304 on tree,-52534.791 best solution,best possible -52538.194 (7.08 seconds

我试图删除 .snakemake 文件夹,希望那里发生了一些事情,但不幸的是,事实并非如此。对我来说,CBC MILP 求解器似乎并没有收敛,它不断地将最佳最佳解决方案更紧密地结合在一起!?

现在我不知道如何继续和解决问题了。我可能的解决方案是以某种方式改变收敛标准或求解器本身。在手册中,我找到了选项 --scheduler-ilp-solver,但它显然只有一个选项,即认的 COIN_CMD

在终止(较短的)运行后,我得到了这个详细的输出

Result - User ctrl-cuser ctrl-c

Objective value:                52534.79114334
Upper bound:                    52538.202
Gap:                            -0.00
Enumerated nodes:               186926
Total iterations:               1807277
Time (cpu seconds):             1181.97
Time (Wallclock seconds):       1188.11

接下来我将尝试限制工作流程中的样本数量,看看这是否有任何影响(对于其他有 500 个样本的数据集,它运行没有任何问题(使用 5.24 版的蛇形模型),但是 DAG 构建需要一些小时。因此,我不是很想尝试旧版本。)

因此,非常感谢您对如何解决问题的任何想法。另外,我什至不知道,如果这是一个错误!?

EDIT 实际上,我认为这是当前版本中的一个错误,我将 Snakemake 降级回 5.24 版,它在 10 分钟内创建了 DAG 并开始运行管道。因此,显然最新版本存在一些错误。我会回答我自己的问题,因为降级到旧版本解决了这个问题......

解决方法

实际上,我认为这是当前snakemake版本中的一个错误,我将Snakemake降级回5.24版本,它在10分钟内创建了DAG并开始运行管道。因此,显然最新版本存在一些错误。我会回答我自己的问题,因为降级到旧版本解决了这个问题......

,

我也在较小的工作流程(总共约 1500 个作业)和 6.0.2 版本的 snakemake 中遇到了这个问题。当工作流卡住时,大约有一半的作业已经运行,并且拒绝运行更多作业。看起来这是 ILP 求解器特有的问题,因为当我使用 --scheduler greedy 重新运行时,它运行良好。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。