DoubletFinder报错小结
1.介绍
DoubletFinder是一个R包,用于预测单细胞RNA测序数据中的双重细胞(doublets)。
DoubletFinder实现了与Seurat版本2.0及以上版本的接口。
2.报错1
Error seu@assays$RNA$counts : $ operator not defined for this S4 class. for doubletFinder( )
解决方法1:修改源代码,但是我测试了没有效果(无效)https://github.com/chingyaousf/fix--doubletFinder-Error-in-seu-assays-RNA-counts-operator-not-defined-for-this-S4-class
打开文件 `doubletFinder.R`(或任何其他相关文件),在文本编辑器中将 `seu@assays$RNA$counts` 替换为 `seu@assays$RNA@counts`。例如,将:
data <- seu@assays$RNA$counts[, real.cells]
更改为:
data <- seu@assays$RNA@counts[, real.cells]
解决方法2:重新安装之前的版本DoubletFinder (有效)
remotes::install_github('https://github.com/ekernf01/DoubletFinder', force = T)
重新安装之后可以使用。重新运行代码即可。
# 对数据进行归一化处理
data <- NormalizeData(data, verbose = FALSE)# 寻找变异特征
data <- FindVariableFeatures(data, selection.method = "vst", nfeatures = 2000, verbose = FALSE)# 对数据进行缩放
data <- ScaleData(data)# 运行主成分分析(PCA)
data <- RunPCA(data)# 运行UMAP降维
data <- RunUMAP(data, dims = 1:50)# 参数扫描,寻找最佳的细胞类型
sweep.res.list <- paramSweep_v3(data, PCs = 1:10, sct = FALSE)
sweep.stats <- summarizeSweep(sweep.res.list, GT = FALSE)
bcmvn <- find.pK(sweep.stats)# 计算显著性水平,用于确定双细胞的数量
nExp_poi <- round(0.05*ncol(data))# 从统计结果中获取pK值
p<-as.numeric(as.vector(bcmvn[bcmvn$MeanBC==max(bcmvn$MeanBC),]$pK))# 使用双细胞识别算法
data <- doubletFinder_v3(data, PCs = 1:10, pN = 0.25, pK = p, nExp = nExp_poi, reuse.pANN = FALSE, sct = FALSE)# 将双细胞信息添加到元数据列
colnames(data@meta.data)[ncol(data@meta.data)] = "doublet_info"# 筛选出单细胞数据
data_doublet <- subset(data, doublet_info == 'Singlet')
3.报错2
直接安装的版本是最新的版本,下面的命令与Seurat v5兼容,并从相关函数名中删除了‘_v3’标志。
remotes::install_github('chris-mcginnis-ucsf/DoubletFinder')
以下的版本是旧的版本
remotes::install_github('https://github.com/ekernf01/DoubletFinder', force = T)