Read10×()读取单细胞三文件报错

Error: readMM(): row values 'i' are not in 1:nr
GEO下载单细胞测序三文件,Read10×读取文件出现报错。Error: readMM(): row values 'i' are not in 1:nr

img

img

你好,你的这个错误是用函数readMM()读取单细胞表达矩阵的稀疏矩阵文件(matrix.mtx.gz)时候引发的异常Error: readMM(): row values 'i' are not in 1:nr,这个异常意思是指你读取的这个Matrix Market交換格式的矩阵中的文件头记录中记录的矩阵行数与三元组条目的行数目不一致
我浏览了下你的这个稀疏矩阵,这个矩阵的文件头记录这个矩阵应该有32285

img


我通过命令"less matrix.mtx | awk 'NR >3 {print $1}' | sort -u -n | tail" 检查这个矩阵的行索引号i发现矩阵最大的行号是32286号,也就说矩阵实际有32286行,但是却在格式文件头文件里只记录了32285行导致readMM()无法读取这个文件,换句话说就是matrix.mtx.gz格式损坏。

img

此外,我发现你这个表达矩阵有很多空缺的行索引,意味着存在很多空行,也就是没有检测到表达的基因也记录在了计数矩阵里,按理说,由cellranger生成的计数矩阵是不会有全零行的。因此,建议你把这个问题反馈给数据提供方,了解清楚这些问题。