下面我们来介绍一个单细胞数据读取的时候出现的错误:
Error in readMM(file = matrix.loc) : file is not a MatrixMarket file
In addition: Warning message:
In scan(file, nmax = 1, what = what, quiet = TRUE, ...) :
embedded nul(s) found in input
我们首先打开GEO database:
比如下载某个肝癌的单细胞测序数据:
我们就随便选一个像样儿的吧,点进去看一看:
这个数据集的数据格式是10X的MTX格式。
我们一下将红框中的数据下载下来,然后放在一个GSE125449命名的文件夹中:
然后对这三个数据进行重新命名,把genes改成features:
下面运行代码读取文件:
setwd("D:\\单细胞测序2\\肝癌\\GSE125449")
dir()
library(devtools)
library(limma)
library(Seurat)
library(dplyr)
library(magrittr)
dir = "D:\\单细胞测序2\\肝癌\\GSE125449"
sessionInfo()
counts <- Read10X(data.dir = dir)
意料之中,读取文件时报错了:
> counts <- Read10X(data.dir = dir)
Error in readMM(file = matrix.loc) : file is not a MatrixMarket file
In addition: Warning message:
In scan(file, nmax = 1, what = what, quiet = TRUE, ...) :
embedded nul(s) found in input
如何解决呢?
其实是因为我们的工作路径里面有中文名。如果我们把这个文件直接放在D盘下面,再重新读取:
setwd("D:\\GSE125449")
dir()
library(devtools)
library(limma)
library(Seurat)
library(dplyr)
library(magrittr)
dir = "D:\\GSE125449"
sessionInfo()
counts <- Read10X(data.dir = dir)
结果没有报错:
dim(counts)
counts[1:5,1:5]
> counts[1:5,1:5]
5 x 5 sparse Matrix of class "dgCMatrix"
AAACCTGAGCTATGCT-2 AAACCTGTCATCGCTC-2 AAACCTGTCTTAACCT-2 AAACGGGCAGCTATTG-2 AAACGGGCATTCACTT-2
RP11-34P13.7 . . . . .
FO538757.2 . . . . .
AP006222.2 . . . . .
RP4-669L17.10 . . . . .
RP5-857K21.4 . . . . .
读取成功。