层次聚类(Hierarchical Clustering)和主成分分析(PCA)都是无监督学习方法,它们可以用来探索样品之间的关系,而不需要预先定义的类别或标签 ,其中:
这两种方法在生物信息学、基因表达分析、图像处理等领域有广泛的应用。层次聚类更多地用于探索样品的分类和分组,而PCA则常用于数据的可视化和预处理,以便于进一步分析。在实际应用中,这两种方法可以结合使用,先通过PCA降维以减少计算复杂性,然后使用层次聚类来探索样品之间的关系。
既然这两个分析都是无监督的, 所以理论上我们应该是针对整个表达量矩阵进行分析,也有时候我们会对表达量矩阵进行简单的过滤, 但是这个操作仍然是无偏倚的。比如过滤那些在所有的样品都不表达的基因或者都低表达量基因,或者按照表达量的sd或者mad排序后选择top的基因即可,以下是一些常见的过滤原因和策略的解释 :
需要注意的是,过滤策略应该根据研究目的、数据特性和生物学假设来定制。过度过滤可能会导致重要信息的丢失,而过滤不足则可能包含过多的噪声。因此,在过滤之前,研究者应该仔细考虑过滤标准和预期的分析目标。
但是不能是有监督的挑选特征,比如这个文献,题目为“Revealing the transcriptional heterogeneity of organ-specific metastasis in human gastric cancer using single-cell RNA Sequencing”。这个胃癌单细胞数据集GSE163558的如下所示样品相关性热图就有瑕疵了,因为作者是挑选了差异表达基因的矩阵进行层次聚类相关性热图:
作者使用上面的图确实是想说明作者自己的胃部正常组织样品是跟2020的那个CCR文章里面的胃部正常组织样品的3个样品的相似性要高于作者自己的非胃部正常组织样品的。
但是作者作者是挑选了差异表达基因,就是胃部正常组织样品去跟胃癌组织样品的表达量差异,这样的话当然是作者自己的胃部正常组织样品是跟2020的那个CCR文章里面的胃部正常组织样品的3个样品的相似性要高于作者自己的非胃部正常组织样品的。
使用如下所示的代码:
rm(list=ls())
options(stringsAsFactors = F)
library(Seurat)
library(ggplot2)
library(clustree)
library(cowplot)
library(dplyr)
library(stringr)
library(ggsci)
library(patchwork)
library(ggsci)
library(ggpubr)
library(RColorBrewer)
sce.all = readRDS('./2-harmony/sce.all_int.rds')
sp='human'
load('./phe.Rdata')
identical(rownames(phe) , colnames(sce.all))
sce.all@meta.data = phe
sel.clust = "celltype"
sce.all <- SetIdent(sce.all, value = sel.clust)
table(sce.all@active.ident)
DimPlot(sce.all)
# v4 是 AverageExpression
av <-AggregateExpression(sce.all ,
group.by = c("orig.ident","celltype"),
assays = "RNA")
av=as.data.frame(av[[1]])
head(av) # 可以看到是整数矩阵
#write.csv(av,file = 'AverageExpression-0.8.csv')
cg=names(tail(sort(apply(log(av+1), 1, sd)),1000))
df =cor(as.matrix(log(av[cg,]+1)))
ac=as.data.frame(str_split(colnames(df),'_',simplify = T))
rownames(ac)=colnames(df)
pheatmap::pheatmap(df ,
show_colnames = F,show_rownames = F,
annotation_col = ac,
filename = 'cor_celltype-vs-orig.ident.pdf' )
dev.off()
save(av,file = 'av_for_pseudobulks.Rdata')
得到如下所示的层次聚类的样品相关性热图:
可以很明显的可以看到不同样品的同一个单细胞亚群还是会优先聚集到一起的。这个也是符合生物学常识的,肿瘤微环境里面的3大亚群,就是上皮细胞和免疫细胞,以及间质细胞。绝大部分文章都是抓住免疫细胞亚群进行细分,包括淋巴系(T,B,NK细胞)和髓系(单核,树突,巨噬,粒细胞)的两大类作为第二次细分亚群。但是也有不少文章是抓住stromal 里面的 fibro 和endo进行细分,并且编造生物学故事的。
不同的样品虽然是有生物学来源差异,不足以让一个t细胞去跟上皮细胞更加相似的。除非它们都处于某种生物学状态,比如细胞增殖,或者说它们都有双细胞的特性等等。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有