使用monocle包進行pseudotime分析

歡迎關(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ù)歸一化;第二行代碼計算基因的方差。

通過pDatafData兩個函數(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)容等著你!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容