哈佛大学单细胞课程|笔记汇总 (七)
哈佛大學單細胞課程|筆記匯總 (六)
哈佛大學單細胞課程|筆記匯總 (五)
(七)Single-cell RNA-seq clustering analysis—— graph-based cluster
識別重要的PCs (主成分)
確定PC及細胞聚類的PC數量對于細胞分類至關重要。
一種方法是Seurat自帶的熱圖可視化,利用heatmap(獲取pheatmap聚類后和標準化后的結果)以PCA分數排序的基因和細胞可視化選定PC的最變異基因。觀察不同PC的重要性,查看基因差異是否明顯,確定驅動PC的基因對于區分不同細胞類型是否有意義。
其中cells參數指定帶有繪圖所用最正或最負PCA分數的細胞數,目的是找到熱圖開始區分不明顯的PC數。
# Explore heatmap of PCs DimHeatmap(seurat_integrated, dims = 1:9, cells = 500, balanced = TRUE)也可以查看對各個PC貢獻最多的基因:
# Printing out the most variable genes driving PCs print(x = seurat_integrated[["pca"]], dims = 1:10, nfeatures = 5)滾石圖(elbow plot,類似于胳膊肘)是另外一種確定PC個數的方法。
滾石圖顯示了每個PC貢獻的標準差,我們的目標是尋找標準差開始趨于平穩的拐點。本質上,elbow出現的點之后的PC貢獻整體就減少了。但是,此方法可能非常主觀。
我們用前40個PCs繪制一份elbow plot:
# Plot the elbow plot ElbowPlot(object = seurat_integrated, ndims = 40)PC8-10時出現拐點,在PC30時基本與x軸平行。
盡管以上兩種方法與來自Seurat的一起用于標準化和鑒定可變基因的舊方法使用更多,但它們也不再像以前那樣重要了。因為相對來說SCTransform方法比舊方法更準確。
為什么PC選擇對于較舊的方法更重要?
較舊的方法可能會將數據中存在的技術差異整合到一些高級PC中,因此PC的選擇更為重要。而SCTransform可以更好地估計方差、移除技術差異,后續鑒定的PC中就不會包含這些技術變化的來源。
從理論上講,使用SCTransform聚類時,選擇的PC越多,解釋的差異就越大,但是聚類所需的時間也會更長。因此在此分析中,我們使用top40 PCs進行聚類。
細胞聚類
Seurat使用基于圖的方法進行聚類,該方法默認情況下使用K最近鄰(K-nearest neighbor,KNN)圖將細胞嵌入圖結構中,并在具有相似基因表達模式的細胞之間繪制邊緣。
我們將使用FindClusters()函數執行基于圖的聚類。分辨率 (resolution)是設置下游聚類的重要參數,需要針對每個單獨的實驗進行優化。對于3,000-5,000個細胞的數據集,分辨率設置在0.4-1.4之間通常會產生良好的聚類。增加的分辨率值會導致更多的聚類,這對于較大的數據集通常是必需的。
FindClusters()函數允許我們輸入一系列分辨率,并將計算聚類的“顆粒度”。
# Determine the K-nearest neighbor graph seurat_integrated <- FindNeighbors(object = seurat_integrated, dims = 1:40)# Determine the clusters for various resolutions seurat_integrated <- FindClusters(object = seurat_integrated,resolution = c(0.4, 0.6, 0.8, 1.0, 1.4))如果我們查看Seurat對象中的metadata(seurat_integrated@metadata),其中包含有不同分辨率計算出的分群結果。
# Explore resolutions seurat_integrated@meta.data %>% View()我們通常情況下會一個中間范圍的分辨率,比如0.6-0.8,這里使用Idents()函數來識別簇并將resolution設置為0.8。
# Assign identity of clusters Idents(object = seurat_integrated) <- "integrated_snn_res.0.8"為了可視化不同的細胞亞群,最受歡迎的兩種方法分別為t-distributed stochastic neighbor embedding (t-SNE)(https://kb.10xgenomics.com/hc/en-us/articles/217265066-What-is-t-Distributed-Stochastic-Neighbor-Embedding-t-SNE-) 和 Uniform Manifold Approximation and Projection (UMAP)(https://umap-learn.readthedocs.io/en/latest/index.html) 。兩種方法的目的都是通過計算使得在高維空間中具有相似局部鄰域的細胞在低維空間中也聚類到一起(Hemberg-lab單細胞轉錄組數據分析(十二)- Scater單細胞表達譜tSNE可視化)。這些方法都是基于PCA的結果,需要求輸入用于分析的PC數,建議使用與上面FindClusters分析時相同的PC數。
## Calculation of UMAP ## DO NOT RUN (calculated in the last lesson)# seurat_integrated <- RunUMAP(seurat_integrated, # reduction = "pca", # dims = 1:40)# Plot the UMAP DimPlot(seurat_integrated,reduction = "umap",label = TRUE,label.size = 6)多嘗試分辨率的設置也是有用的,這里當我們把resolution更換為0.4時,
# Assign identity of clusters Idents(object = seurat_integrated) <- "integrated_snn_res.0.4"# Plot the UMAP DimPlot(seurat_integrated,reduction = "umap",label = TRUE,label.size = 6)UMAP的結果是穩定的,但分群是有變化的。(之前是不是會有一個疑問在UMAP圖中比較臨近的細胞是怎么分開的呢?這是因為分群時用到的信息更多,會區分更明顯;可視化投影時信息做了降維,只展示最主要的變化)
往期精品(點擊圖片直達文字對應教程)
后臺回復“生信寶典福利第一波”或點擊閱讀原文獲取教程合集
?
總結
以上是生活随笔為你收集整理的哈佛大学单细胞课程|笔记汇总 (七)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【重磅综述】长序列数据分析相关资源哪里找
- 下一篇: 三大高通量测序平台芯片通量对比图(请把手