'invalid class “DMNGroup” object'错误是什么意思,如何解决?

时间:2021-01-28 12:15:12

标签: r error-handling multiprocessing dirichlet

我正在尝试从 library(DirichletMultinomial) 复制工作流程。我有包含计数 count 和因子向量 pheno 的大矩阵。在执行狄利克雷多项式模型的下一步后,我根据 count(分组)将 countp 的子集制作成 pheno,如小插图中的示例所示 countp <- count[pheno %in% c("group1", "group2"), ]每组:

bestgrp <- dmngroup(countp, pheno, k=1:15, simplify = FALSE, verbose=TRUE, .lapply = parallel::mclapply)

该过程运行了 8-12 个小时,但报告崩溃了:

invalid class “DMNGroup” object: undefined class for slot "elementMetadata" ("DataTable_OR_NULL")

我确信这个过程在崩溃后花了几个小时,因为我有以下代码

if(exists('bestgrp')) {
  save(bestgrp, file = "NRR_DMM_bestgrp.Rda")
} else {
  write(geterrmessage(), file = "!!!ERROR.txt") }

并获得保存错误消息的时间。由于 verbose=TRUE 在并行多核计算中不起作用,因此当它崩溃时我没有更具体的点。使用 count 处理的整个数据集 dmn 变得平滑。 我不是生物信息学家,并且是 R 计算的新手,因此当 Google 为错误消息返回 NULL 结果时,我完全迷失了。 任何人都可以帮忙吗? 最好的问候,马辛

1 个答案:

答案 0 :(得分:0)

对于我正在使用的 R 4.0.3 版,我已将 Bioconductor 更新到 3.12 版。现在它起作用了。对于类似的问题,请查看 support.bioconductor.org/p/92281