scRNA实践(1)——文件导入

这次实践的目标是还原Cell上的文章A Cellular Taxonomy of the Bone Marrow Stroma in Homeostasis and Leukemia里的结果。

所以第一步就先去附录里找基因测序的数据。

根据这个链接找到了需要下载的文件

下载的方法有手动下载和用R的GEOquery下载。因为文件比较大,最好用vpn绕过防火墙下载,不然速度会很慢。
R的“GEOquery”方法的代码是
>if(!requireNamespace("BiocManager", quietly = TRUE)) + install.packages("BiocManager") >BiocManager::install() >BiocManager::install("GEOquery") >library(GEOquery)
因为我家的网络原因,无论是手动下载和R语言的下载都失败了,最后还是让朋友手动下好传过来的,所以网络还是一个非常重要的因素orz。
然后下好之后,先把tar文件解压,再用shell的ls命令查看一下得到的文件。

下载下来的文件是Feature-Barcode Matrices,这个是上游分析cellranger的输出文件。每一个样本有三个文件对应,第一个最大的文件是MEX文件( Market Exchange Format ),用来储存基因矩阵,剩下两个txv文件是genes和barcode,分别对应行和列。
然后用matrix包里的函数打开。
> library(Matrix) > matrix_dir = "G:/GEO/" > matrix.path <- paste0(matrix_dir, "GSM3674224_std1.matrix.mtx.gz") > barcode.path <- paste0(matrix_dir, "GSM3674224_std1.barcodes.tsv.gz") > genes.path <-paste0(matrix_dir, "GSM3674224_std1.genes.tsv.gz") > mat1 <- readMM(file = matrix.path) > barcode.names = read.delim(barcode.path,header = FALSE, stringsAsFactors = FALSE) > genes.names = read.delim(genes.path, header = FALSE, stringsAsFactors = FALSE) > colnames(mat1) = barcode.names$V1 > rownames(mat = genes.names$V1)
再来看下前六行前四列的结果
> mat1[1:6, 1:4]

行是基因,列是细胞的编码,如果有表达,就显示表达数量,如果没有表达,就用圆点表示。
好了,到这一步,第一个样本的数据就已经导入到mat1里了。