歡迎關(guān)注”生信修煉手冊”!
monocle是一個專門用于分析單細胞轉(zhuǎn)錄組數(shù)據(jù)的R包,提供了聚類,pseudotime, 差異分析等多種功能,該項目的網(wǎng)址如下
https://cole-trapnell-lab.github.io/monocle-release/
本文主要介紹使用該R包進行pseudotime分析的步驟,可以分為以下5步
1. 讀取數(shù)據(jù)
monocle包有很多種讀取數(shù)據(jù)的方式,這里只展示了讀取Seurat中的對象的方法,代碼如下
# 加載需要的R包
library(Seurat)
library(monocle)
# 設置cell ranger輸出結(jié)果目錄
input_dir <- "/scRNA/outs/filtered_gene_bc_matrices/GRCh38/"
# 讀取數(shù)據(jù)
pbmc.data <- Read10X(data.dir = input_dir)
# 創(chuàng)建Seurat中的對象
pbmc <- CreateSeuratObject(raw.data = pbmc.data, project = "10X")
# 將Seurat中的對象轉(zhuǎn)換為monocle識別的對象
cds <- importCDS(pbmc)在monocle中,用CellDataSet這種class來存儲數(shù)據(jù),示意如下
2. 預處理
代碼如下
cds <- estimateSizeFactors(cds)
cds <- estimateDispersions(cds)第一行代碼用于評估每個細胞的sizefactor, 用于后續(xù)歸一化;第二行代碼計算基因的方差。
通過pData和fData兩個函數(shù),可以查看基因和細胞的相關(guān)信息,示意如下
3. 篩選基因
篩選基因沒有一個固定標準,可以根據(jù)自己的需要靈活選擇,這里只展示其中一種
disp_table <- dispersionTable(cds)
unsup_clustering_genes <- subset(disp_table, mean_expression >= 0.1)
cds <- setOrderingFilter(cds, unsup_clustering_genes$gene_id)4. 降維分析
使用DDRTree的方法進行降維分析,代碼如下
cds <- reduceDimension(
?cds,
?max_components = 2,
?method = 'DDRTree')5. psudotime分析
代碼如下
cds <- orderCells(cds)運行之后,對于每個細胞,會給出一個pseudotime值,示意如下
可視化的代碼如下
plot_cell_trajectory(cds)降維之后,在二維空間展示細胞pseudotime的分布,可以看到是一個樹狀結(jié)構(gòu),除了上述方法外,還可以根據(jù)pseudotime的值給細胞賦顏色,代碼如下
plot_cell_trajectory(cds, color_by = "Pseudotime")其實就是將fData中對應的列設置為顏色,如果想要觀察不同細胞亞型的分布,可以在fData中新增一列細胞對應的cluster ID, 然后用這一類來設置顏色。
對于pseudotime分析,我們需要明白它的基本輸入就是一張基因在細胞中表達量的表格,與細胞的聚類結(jié)果無關(guān),只不過在可視化的時候根據(jù)聚類的結(jié)果填充了顏色而已。
·end·
—如果喜歡,快分享給你的朋友們吧—
掃描關(guān)注微信號,更多精彩內(nèi)容等著你!