DoubletFinder报错Error in xtfrm.data.frame(x) : cannot xtfrm data frames

#双联体细胞检测,使用spc-double环境
library(DoubletFinder)
library(Seurat)

#读入
liver.merge_CCA=readRDS(file = "/work/home/kywgroup01/user/spc/work/livermergev4.RData")

#预处理------------------------
liver.merge_CCA <- NormalizeData(liver.merge_CCA)
liver.merge_CCA <- FindVariableFeatures(liver.merge_CCA)
liver.merge_CCA <- ScaleData(liver.merge_CCA)
liver.merge_CCA <- RunPCA(liver.merge_CCA)
liver.merge_CCA <- RunUMAP(liver.merge_CCA, dims = 1:10)

#设置参数优化pk值----------------------
sweep.res <- paramSweep(liver.merge_CCA, PCs = 1:10, sct = FALSE)
sweep.stats <- summarizeSweep(sweep.res, GT = FALSE)
bcmvn <- find.pK(sweep.stats)  # 选择最高BCmetric对应的pK值
optimal_pK <- as.numeric(as.character(bcmvn$pK[which.max(bcmvn$BCmetric)]))

#估计双联体比例(nExp)-----------------
nExp <- round(0.008 * ncol(liver.merge_CCA))  # 按需调整比例

#运行DoubletFinder-----------------
class(liver.merge_CCA)
print(liver.merge_CCA[["pca"]])
print(optimal_pK)
print(nExp)

liver.merge_CCA <- doubletFinder(
  liver.merge_CCA,
  PCs = 1:10,                # 与PCA使用的dims一致
  pN = 0.25,                  # 默认参数
  pK = optimal_pK,            # 优化后的pK值
  nExp = nExp,                # 估计的双联体数
  reuse.pANN = FALSE,         # 是否复用中间结果(这句会导致报错)
  sct = FALSE                 # 若使用SCT标准化则设为TRUE
)

#结果与可视化-------------------------------
head(liver.merge_CCA@meta.data)            # 列名类似"DF.classifications_0.25_0.3_30",表示参数组合
DimPlot(liver.merge_CCA, group.by = "DF.classifications_0.25_0.3_30")                 #可视化双联体
seurat_clean <- subset(liver.merge_CCA, DF.classifications_0.25_0.3_30 == "Singlet")    #过滤双联体

使用这段代码时doubletFinder会报错,上网查没有看到中文教程,找到如下英文教程:Error in xtfrm.data.frame(x) : cannot xtfrm data frames · Issue #228 · chris-mcginnis-ucsf/DoubletFinder尝试按照其指导删除: reuse.pANN = FALSE参数,成功解决问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值