比較不同的對單細胞轉錄組數據聚類的方法
背景介紹
聚類之前必須要對表達矩陣進行normalization,而且要去除一些批次效應等外部因素。通過對表達矩陣的聚類,可以把細胞群體分成不同的狀態,解釋為什麼會有不同的群體。不過從計算的角度來說,聚類還是蠻複雜的,各個細胞並沒有預先標記好,而且也沒辦法事先知道可以聚多少類。尤其是在單細胞轉錄組數據裡面有很高的噪音,基因非常多,意味著的維度很高。
對這樣的高維數據,需要首先進行降維,可以選擇PCA或者t-SNE方法。聚類的話,一般都是無監督聚類方法,比如:hierarchical clustering, k-means clustering and graph-based clustering。演算法略微有一點複雜,略過吧。
這裡主要比較6個常見的單細胞轉錄組數據的聚類包:
所以需要安裝並且載入一些包,安裝代碼如下;
載入代碼如下:
載入測試數據
這裡選取的是數據,載入了這個scater包的SCESet對象,包含著一個23730 features, 301 samples 的表達矩陣。
供11已知的種細胞類型,這樣聚類的時候就可以跟這個已知信息做對比,看看聚類效果如何。
可以直接用plotPCA來簡單PCA並且可視化。
可以看到簡單的PCA也是可以區分部分細胞類型的,只不過在某些細胞相似性很高的群體區分力度不夠,所以需要開發新的演算法來解決這個聚類的問題。
SC聚類
很明顯可以看到SC3聚類的效果要好於普通的PCA
pcaReduce
tSNE + kmeans
scater包包裝了 Rtsne 和 ggplot2 來做tSNE並且可視化。
SNN-Cliq
這個有一點難用,算了吧。
SINCERA
至少是在這個數據集上面表現不咋地
SEURAT
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
TAG:生信技能樹 |