在上一篇笔记里,练习了使用cellranger aggr整合不同GEM well的样品(cellranger使用的初步探索(3)cellranger aggr),得到的"outs"文件夹里,有一个名为 “filtered_gene_bc_matrices_mex”的子文件夹,里面有三个文件:
其中,genes.tsv是基因名称(需要注意的是,我使用的cellranger是2.2版本,目前v3版本的gene.tsv已经改为 features.csv);barcodes.tsv是每一个barcode的序列,也就是每一个细胞的ID;matrix.mtx就是count矩阵。
> library(Matrix)
#读取三个文件
> barcode.path <- paste0("barcodes.tsv")
> features.path <- paste0("genes.tsv")
> matrix.path <- paste0("matrix.mtx")
> mat <- readMM(file = matrix.path)
> feature.names = read.delim(features.path,
header = FALSE,
stringsAsFactors = FALSE)
> barcode.names = read.delim(barcode.path,
header = FALSE,
stringsAsFactors = FALSE)
feature.name(基因名称矩阵)长这样:
barcode.names(细胞barcode矩阵)长这样:
> colnames(mat) = barcode.names$V1#把细胞ID赋值给count矩阵的列名,这样每一列就是一个细胞
> rownames(mat) = feature.names$V2#把基因名称的第二列赋值给count矩阵的行名,这样行就是基因
看一下count矩阵:
> mat[1:4, 1:4]
4 x 4 sparse Matrix of class "dgTMatrix"
AAACCTGAGGATGTAT-1 AAACCTGCAGCGATCC-1 AAACCTGGTACGAAAT-1 AAACGGGAGCTGGAAC-1
RP11-34P13.3 . . . .
FAM138A . . . .
OR4F5 . . . .
RP11-34P13.7 . . . .
> dim(mat) #在count矩阵里有3万多个基因,7922个细胞
[1] 33694 7922
之后就可以使用Seurat或者其他R包进行下游分析了~可以参考我之前的笔记:
1.单细胞测序分析之Seurat(3.0)包学习笔记
2.单细胞测序分析之Monocle2包学习笔记
3.单细胞测序分析之scater包学习笔记