02.认识Seurat对象

关于Seurat对象的构建请参考:
01.单细胞入门-Seurat对象创建


Seurat对象结构及信息存储

我们使用seurat官方pbm3k数据集作为示例,强烈建议直接阅读官方文档说明,有构建-整合拆分-质控全套流程和代码。

我们首先读取上一教程里构建好的pbm3k数据集的seurat对象

library(Seurat)
load(file = "pbmc.rdata") #读取保存的.Rdata

Seurat我们可以把他比作一个大容器,几乎存储了一切项目相关信息,包括每个细胞的barcodes所有定量的基因每个细胞的UMI矩阵。我们后面的大量分析包括对数据的降维、聚类分群、注释、等都是可以写入到Seurat对象来保存。
我们不用过度的去解读Seurat的数据结构,结果导向的去学会调取你所需要的数据即可。接下来通过对pbm3k数据集的一些示例来熟悉这些操作


使用 pbmc@ 来访问pbmc这个大容器中的数据

pbmc@

可以看到自动补全中出现了一些Seurat对象中的二级数据,其中最为关键的就是前两个assaysmeta.data


我们对assays进行调取

pbmc@assays

可以看到assays下是主要保存了所有细胞的UMI矩阵
而结果中也提示输出结果来自于assays下的RNA,并且直接对RNA进行调取的方式改变为使用$,因此我们就大概知道了对pbmc这个seurat对象不同层级数据调取的方法,@$
我们进行一下尝试验证

pbmc@assays$RNA

可见结果是与上方一致的。


接下来我们对meta.data也进行相同的尝试

[email protected]

可以看到meta.data的结果是一个保存了各种信息的数据框,我们可以用class()进行确认。

因此我们对meta.data的下级数据进行调用时,也是和data.frame取列类似使用$

[email protected]$orig.ident
[email protected]$nCount_RNA
[email protected]$nFeature_RNA

这里我们对这三列数据是什么进行说明:

orig.ident:一般存储细胞的样本来源,但这不是100%的,每个人都有自己的习惯,Seurat对象里面的信息是可以根据细胞barcodes匹配而自己修改的,因此我们要根据获取的数据自行判断或根据自己的习惯自行更改。
nCount_RNAnFeature_RNA是Seurat创建时CreateSeuratObject()生成并存储在metadata中的。
nCount_RNA:每个细胞的UMI数量
nFeature_RNA:基因数
实际上我们下游的处理结果大部分也会存储在meta.data中,随着后续的学习也会不断认识到新的变量。
到这里我们就基本认识了Seurat对象的基本结构和大概信息


接下来我们学习一下对Seurat对象中数据的提取

不同于上一部分,有些数据是通过seurat包的函数来读取。详见代码

Idents(pbmc) #提取细胞的标识/来源,取出的为因子向量
#等效于
pbmc$orig.ident
#不同于
[email protected]$orig.ident#这种提取方法不包含细胞barcodes
#不同于
pbmc[["orig.ident"]]  #取出的为data.frame



dat=GetAssayData(pbmc,slot='counts',assay='RNA')#提取当前保存的单细胞表达矩阵
dat[1:5,1:5]

可见读取的数据为单细胞的表达矩阵,但pbmc数据集使用了稀松矩阵储存所以.代替了0
也拥有配套函数来对保存的矩阵进行修改
主要应用场景:在进行其他分析之前的标准化

#这里我们对所有表达量+1作为演示
count.data <- as.matrix(x = dat + 1) #对取出来的矩阵+1
count.data[1:5,1:5]
pbmc <- SetAssayData(pbmc, slot = "counts", new.data = count.data,assay = "RNA") #写回pbmc
dat=GetAssayData(pbmc,slot='counts',assay='RNA') #再次读取
dat[1:5,1:5]

到这里我们对Seurat对象就有了基本的认识和基础的数据操作理解。我们接下来的分析中会涉及到很多这种操作的重复和嵌套,这里介绍的只是冰山一角,还是需要靠自己的尝试和带着问题去检索

参考来源:
https://blog.csdn.net/qazplm12_3/article/details/105588174

问题交流:
Email: [email protected]

你可能感兴趣的:(02.认识Seurat对象)