Srurat簡單介紹

標準的seurat流程可以這樣進行,包括創(chuàng)建對象,標準化,尋找高突變特征,歸一化,聚類等

①創(chuàng)建 Seurat 對象

首先要明白 Seurat 對象的構(gòu)成。Seurat 對象進一步細分為: Assay Object 對象和DimReduc Object 對象。Assay Object 對象存放的多組學(xué)的表達數(shù)據(jù), DimReduc Object 對象存放的是對 Assay Object 對象進行降維分析后的結(jié)果。

②專門下載和管理 Seurat示例數(shù)據(jù)對象的軟件包:SeuratData

SeuratData 先把 datasets 變成 Seurat 對象,再把 Seurat 對象以軟件包的形式分發(fā)和管理。

③以pbmc為例,展開Seurat流程。

對pbmc這個seurat對象不同層級數(shù)據(jù)調(diào)取的方法,@和$。

pbmc@assays

pbmc@assays$RNA

在Seurat對象后面加個@可以查看Seurat對象的內(nèi)容。彈出小窗口,可以查看里面的內(nèi)容。


Assays:assays里有一個元素“RNA”,訪問assays對象的內(nèi)部結(jié)構(gòu),例如pbmc[['RNA']]。

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

? ? ? ? ? ? ? ? ?Counts:原始的表達量count矩陣;

? ? ? ? ? ? ? ? ?Data:原始數(shù)據(jù)經(jīng)過normalized的數(shù)據(jù);

? ? ? ? ? ? ? ? ?Scale.data:數(shù)據(jù)經(jīng)過scaling后,存放位置;

? ? ? ? ? ? ? ? ?Key:每個assay對象都有一個key,例如‘rna_’;

? ? ? ? ? ? ? ? ?Var.features:普通向量,高表達變異的基因。

Meta.data:是細胞的注釋信息的數(shù)據(jù)框,行是細胞,列是細胞的屬性。

對meta.data的下級數(shù)據(jù)進行調(diào)用時,也是和data.frame取列類似使用$。

pbmc@meta.data$orig.ident

pbmc@meta.data$nCount_RNA

pbmc@meta.data$nFeature_RNA

orig.ident:一般存儲細胞的樣本來源,但這不是100%的,每個人都有自己的習(xí)慣,Seurat對象里面的信息是可以根據(jù)細胞barcodes匹配而自己修改的,因此我們要根據(jù)獲取的數(shù)據(jù)自行判斷或根據(jù)自己的習(xí)慣自行更改。

而nCount_RNA和nFeature_RNA是Seurat創(chuàng)建時CreateSeuratObject()生成并存儲在metadata中的。

nCount_RNA:每個細胞的UMI數(shù)量

nFeature_RNA:基因數(shù)

Active.assay:當(dāng)前激活的assay對象。

④一些不同

Idents(pbmc)#提取細胞的標識/來源,取出的為因子向量

#等效于pbmc$orig.ident

#不同于pbmc@meta.data$orig.ident#這種提取方法不包含細胞barcodes

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


dat=GetAssayData(pbmc,slot='counts',assay='RNA')#提取當(dāng)前保存的單細胞表達矩陣

dat[1:5,1:5]


⑤配套函數(shù)來對保存的矩陣進行修改

主要應(yīng)用場景:在進行其他分析之前的標準化

#這里我們對所有表達量+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函數(shù)可以快速輕松地獲得有關(guān)Seurat對象的摘要信息。

可以使用dim,ncol和nrow函數(shù)找到對象的形狀/尺寸。細胞和特征名稱可以分別使用colnames和rownames函數(shù)或dimnames函數(shù)找到。通過使用names,可以找到Seurat對象中包含的Assay,DimReduc和Graph對象的名稱向量。

R語言中的?rownames()?函數(shù)用于為矩陣的行設(shè)置名稱。

R語言中的?colnames()?函數(shù)用于為矩陣的列設(shè)置名稱。

語法:

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容