使用 GEO 矩阵.txt 数据在 R 中的单细胞分析中创建 Seurat 对象

问题描述 投票:0回答:1

我是使用 R 中的 Seurat 进行生物信息学分析和单细胞 RNA 分析的新手。我想分析来自 GEO 登录 GSE224727 的样本 GSM7030509、GSM7030510、GSM7030511 和 GSM7030512,但数据采用 mtx.txt 格式,我不这样做知道如何创建 Seurat 对象。

# Load Data

data11 <- data.table::fread("GSM7030511.matrix.txt.gz", header = F)
data[1:5,1:5]

 data11[1:5,1:5]
                      V1        V2                 V3                 V4                 V5
1:                   GID      Gene CGCGATGGAGGC_Tumor CGACGCTTATTG_Tumor CTGGGTCTCTAC_Tumor
2:             CRERECOMB CRERECOMB                  0                  0                  0
3:  ENSMUSG00000000001.4     Gnai3                  0                  0                  0
4: ENSMUSG00000000003.15      Pbsn                  0                  0                  0
5: ENSMUSG00000000028.14     Cdc45                  0                  0                  0

前两列是功能,列名是条形码。这些数字复合了矩阵。

# Create Matrix
matrix1 <- data11[2:48530 , 3:7278]

# Create Features Objects
Features11 <- data11[, 1:2]

条形码我已经保存了数据框,所以我刚刚加载了它

# Create Barcode Objects
bc1 <- read.table('barcodes1.txt', header = F)
Barcd1 <- as.data.frame(t(bc1))
# Create Seurat Obj
rep1 <- ReadMtx(
  mtx = matrix1, 
  features = Features11,
  cells = Barcd1
  )

当我尝试创建 Seurat 对象时,出现此错误:

Error in path.expand(path) : argumento 'path' inválido
seurat
1个回答
0
投票

当您确实有标题时,不应将

header = FALSE
fread()
一起使用。这将导致列类型为字符而不是数字。

data11 <- data.table::fread("GSM7030511.matrix.txt.gz")
matrix1 <- as.matrix(data11[,3:ncol(data11)])

设置行名称(这里我假设你想使用 Gene 列):

rownames(matrix1) <- data11$Gene

ReadMtx()
用于读取文件,因此它需要文件路径作为参数。由于您已经读入数据,因此创建 Seurat 对象如下:

rep1 <- CreateSeuratObject(matrix1)
© www.soinside.com 2019 - 2024. All rights reserved.