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

如何修改SingleCellExperiment对象的size factors并解决velociraptor报错?

解决velociraptor分析中size factors should be positive报错

报错根源

这个错误是因为你的SingleCellExperiment(SCE)对象中存在size factors为0或负数的细胞,velociraptor的scvelo()函数要求所有细胞的size factors必须为正值。你此前用colSums(logcounts(sce)) >0的过滤逻辑并不准确——logcounts与size factors是独立存储的,无法通过logcounts过滤掉size factors异常的细胞。

解决步骤

  1. 检查当前size factors状态
    先运行以下代码确认问题:

    # 查看前几个size factors的值
    head(sizeFactors(sce))
    # 统计非正值size factors的细胞数量
    table(sizeFactors(sce) <= 0)
    
  2. 过滤异常细胞
    直接过滤掉size factors≤0的细胞:

    sce <- sce[, sizeFactors(sce) > 0]
    

    如果你的SCE对象尚未设置size factors(sizeFactors(sce)返回NULL),则先过滤掉无任何表达量的细胞,再重新计算size factors:

    # 过滤总counts为0的细胞
    sce <- sce[, colSums(counts(sce)) > 0]
    
  3. 重新计算size factors(可选)
    若原size factors本身存在异常,建议用scater包重新计算稳健的size factors:

    library(scater)
    # 基于pooling策略计算(适合UMI数据)
    sce <- computeSumFactors(sce)
    # 或者直接用细胞总计数作为size factors
    sce <- computeLibraryFactors(sce)
    

    完成上述步骤后,重新运行velo.out <- scvelo(sce, subset.row=top.hvgs, assay.X="spliced")即可。


修改SingleCellExperiment对象的size factors

SingleCellExperiment的size factors存储在对象的sizeFactors槽位中,修改方式主要有以下几种:

  1. 直接赋值
    准备一个与细胞数量长度一致的正数值向量,直接覆盖原有值:

    # 示例:用细胞总UMI数作为新的size factors
    new_size_factors <- colSums(counts(sce))
    # 确保所有值为正(避免极端情况)
    new_size_factors <- pmax(new_size_factors, 1e-6)
    sizeFactors(sce) <- new_size_factors
    
  2. 用scater包重新计算

    • computeSumFactors():基于pooling策略的稳健计算方法,适合UMI类型的单细胞数据,可按细胞簇分组提升准确性:
      library(scater)
      sce <- computeSumFactors(sce, clusters = colLabels(sce))
      
    • computeLibraryFactors():以每个细胞的总计数作为size factors,计算逻辑简单直接:
      sce <- computeLibraryFactors(sce)
      
  3. 从其他分析对象导入
    如果你的SCE是从Seurat对象转换而来,可将Seurat中的size factors导入:

    # 假设seurat_obj是你的Seurat对象
    sizeFactors(sce) <- seurat_obj$RNA@misc$size.factors
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 19:19:55