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里了。

Leave a Reply

Your email address will not be published. Required fields are marked *