Srurat简单介绍

标准的seurat流程可以这样进行,包括创建对象,标准化,寻找高突变特征,归一化,聚类等

①创建 Seurat 对象

首先要明白 Seurat 对象的构成。Seurat 对象进一步细分为: Assay Object 对象和DimReduc Object 对象。Assay Object 对象存放的多组学的表达数据, DimReduc Object 对象存放的是对 Assay Object 对象进行降维分析后的结果。

②专门下载和管理 Seurat示例数据对象的软件包:SeuratData

SeuratData 先把 datasets 变成 Seurat 对象,再把 Seurat 对象以软件包的形式分发和管理。

③以pbmc为例,展开Seurat流程。

对pbmc这个seurat对象不同层级数据调取的方法,@和$。

pbmc@assays

pbmc@assays$RNA

在Seurat对象后面加个@可以查看Seurat对象的内容。弹出小窗口,可以查看里面的内容。


Assays:assays里有一个元素“RNA”,访问assays对象的内部结构,例如pbmc[['RNA']]。

                 RNA:是assay,其可以包含多个matrix:

                 Counts:原始的表达量count矩阵;

                 Data:原始数据经过normalized的数据;

                 Scale.data:数据经过scaling后,存放位置;

                 Key:每个assay对象都有一个key,例如‘rna_’;

                 Var.features:普通向量,高表达变异的基因。

Meta.data:是细胞的注释信息的数据框,行是细胞,列是细胞的属性。

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

pbmc@meta.data$orig.ident

pbmc@meta.data$nCount_RNA

pbmc@meta.data$nFeature_RNA

orig.ident:一般存储细胞的样本来源,但这不是100%的,每个人都有自己的习惯,Seurat对象里面的信息是可以根据细胞barcodes匹配而自己修改的,因此我们要根据获取的数据自行判断或根据自己的习惯自行更改。

而nCount_RNA和nFeature_RNA是Seurat创建时CreateSeuratObject()生成并存储在metadata中的。

nCount_RNA:每个细胞的UMI数量

nFeature_RNA:基因数

Active.assay:当前激活的assay对象。

④一些不同

Idents(pbmc)#提取细胞的标识/来源,取出的为因子向量

#等效于pbmc$orig.ident

#不同于pbmc@meta.data$orig.ident#这种提取方法不包含细胞barcodes

#不同于pbmc[["orig.ident"]]#取出的为data.frame


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

dat[1:5,1:5]


⑤配套函数来对保存的矩阵进行修改

主要应用场景:在进行其他分析之前的标准化

#这里我们对所有表达量+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]



⑥对象信息使用标准R函数可以快速轻松地获得有关Seurat对象的摘要信息。

可以使用dim,ncol和nrow函数找到对象的形状/尺寸。细胞和特征名称可以分别使用colnames和rownames函数或dimnames函数找到。通过使用names,可以找到Seurat对象中包含的Assay,DimReduc和Graph对象的名称向量。

R语言中的 rownames() 函数用于为矩阵的行设置名称。

R语言中的 colnames() 函数用于为矩阵的列设置名称。

语法:

rownames(x) <- value

输入

# Creating a 3X3 Matrix

A = matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9), 3, 3, byrow = TRUE)

 # Calling rownames() Function

rownames(A) <- letters[1:3]  

print(A)

输出

    [, 1] [, 2] [, 3]

a    1    2    3

b    4    5    6

c    7    8    9

语法:

colnames(x) <- value

输入

# Creating a 3X3 Matrix

A = matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9), 3, 3, byrow = TRUE)

 # Calling colnames() Function

colnames(A) <- letters[1:3]  

print(A)

输出

       a    b    c

[1, ] 1    2    3

[2, ] 4    5    6

[3, ] 7    8    9

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容