You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行RunHarmony出现矩阵维度不兼容错误,请求技术协助

问题

运行RunHarmony时出现矩阵乘法维度不兼容错误,此前执行相同代码从未报错,错误信息如下:

Error: matrix multiplication: incompatible matrix dimensions: 100x96490 and 96489x22

附加警告信息:

1: In theta * (1 - exp(-(N_b/(nclust * tau))^2)) :
longer object length is not a multiple of shorter object length
2: In rbind(rep(1, N), phi) :
number of columns of result is not a multiple of vector length (arg 1)

执行的R代码:

pbmc_small <- FilterGenes(object = pbmc_small, min.value = 0.5, min.cells = 100)
pbmc_small <- NormalizeData(pbmc_small)
pbmc_small <- FindVariableFeatures(pbmc_small, selection.method = "vst", nfeatures = 2000)
pbmc_small <- ScaleData(pbmc_small, features = rownames(pbmc_small))
pbmc_small <- RunPCA(pbmc_small, features = VariableFeatures(object = pbmc_small))
pbmc_small@meta.data$library_id <- as.factor(pbmc_small@meta.data$library_id)
pbmc_small <- RunHarmony(pbmc_small, group.by.vars="library_id", verbose = TRUE)

排查与解决思路

  • 校验基因集维度一致性:在FilterGenes后执行nrow(pbmc_small)查看剩余基因数,确认后续Normalize、Scale、PCA步骤未修改基因集维度。比如ScaleData用了全基因集而非可变特征,可能导致后续矩阵计算时维度错位。
  • 检查PCA结果完整性:执行dim(pbmc_small@reductions$pca@cell.embeddings)和dim(pbmc_small@reductions$pca@feature.loadings),确保两者的特征维度匹配。PCA输出异常会直接导致RunHarmony的矩阵乘法出错。
  • 验证分组变量有效性:执行table(pbmc_small@meta.data$library_id)查看分组情况,确认无缺失值或异常水平。分组变量的异常会让RunHarmony内部生成错误维度的计算矩阵。
  • 排查版本兼容性:回退到之前正常运行的Seurat、harmony包版本测试,新版本包的参数逻辑变更可能引发维度不兼容问题。
  • 检查原始数据完整性:重新加载原始数据,确认细胞数、基因数与之前一致,排除数据损坏或导入时的维度丢失问题。

内容的提问来源于stack exchange,提问作者claireanjou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 05:52:13