我对 scRNA 数据的分析完全陌生,并且在 R 中遇到了 CreateSeuratObject 命令的问题。
本质上,我在一个名为 X 的 csv 文件中有基因表达矩阵,第一行是细胞,第一列是 ENSG 基因代码,矩阵中表示的计数数。
基因名称采用 ENSG 格式,因此我将此数据框与geneID 数据框合并,然后使用以下代码删除ENSG 列。
X <- merge(X, geneidname, by.x="V1", by.y="gene_id")
X<-X[,c(19144, 1:19143)]
X$V1 <- NULL
最终结果是一个矩阵,其中第一列是基因矩阵,第一行是细胞,计数数据在矩阵的相应位置。
但是,当我尝试使用创建 seurat 对象时
`X_seurat <- CreateSeuratObject(counts = X, project = "X_seurat", min.cells = 5)
最终结果是一个 Seurat 类对象 1 个测定中 X 个样本的 0 个特征 主动测定:RNA(0 个特征,0 个可变特征)
但是,当使用代码 X <-X[,-1] 删除第一列,然后尝试再次重复创建 SeuratObject 时,它可以工作,给我一个 Seurat XXX 类的对象,在 1 个测定中跨越 19142 个样本 主动测定:RNA(XXX特征,0可变特征)
我对此感到非常困惑。为什么我无法创建包含基因名称列的 seuratObject。我已经检查过,基因名称列类是“字符”,其余列类是“整数”。对我来说,应该删除基因名称以便能够创建 Seurat 对象似乎有点违反直觉,而且我显然在某个地方出错了——有人可以帮忙吗?提前致谢!!