前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >有监督的挑选了特征之后的无监督的分析还可靠吗

有监督的挑选了特征之后的无监督的分析还可靠吗

作者头像
生信技能树
发布于 2024-11-21 01:45:46
发布于 2024-11-21 01:45:46
11600
代码可运行
举报
文章被收录于专栏:生信技能树生信技能树
运行总次数:0
代码可运行

层次聚类(Hierarchical Clustering)和主成分分析(PCA)都是无监督学习方法,它们可以用来探索样品之间的关系,而不需要预先定义的类别或标签 ,其中:

  1. 层次聚类(Hierarchical Clustering)
    • 层次聚类是一种聚类算法,通过构建一个多层次的嵌套聚类树来组织数据。
    • 它不需要预先指定聚类的数量,而是生成一个聚类树(树状图或dendrogram),可以从中选择不同的切割点来得到不同数量的聚类。
    • 层次聚类可以是凝聚的(从单个样本开始,逐步合并聚类)或分裂的(从所有样本作为一个聚类开始,逐步分割)。
  2. 主成分分析(PCA)
    • PCA是一种降维技术,通过线性变换将数据投影到较低维度的空间,同时尽可能保留原始数据的变异性。
    • 它通过找到数据中方差最大的方向(主成分),并将数据投影到这些方向上,从而揭示样品之间的结构关系。
    • PCA通常用于数据可视化和预处理,帮助识别数据中的模式和结构。

这两种方法在生物信息学、基因表达分析、图像处理等领域有广泛的应用。层次聚类更多地用于探索样品的分类和分组,而PCA则常用于数据的可视化和预处理,以便于进一步分析。在实际应用中,这两种方法可以结合使用,先通过PCA降维以减少计算复杂性,然后使用层次聚类来探索样品之间的关系。

既然这两个分析都是无监督的, 所以理论上我们应该是针对整个表达量矩阵进行分析,也有时候我们会对表达量矩阵进行简单的过滤, 但是这个操作仍然是无偏倚的。比如过滤那些在所有的样品都不表达的基因或者都低表达量基因,或者按照表达量的sd或者mad排序后选择top的基因即可,以下是一些常见的过滤原因和策略的解释 :

  1. 移除不表达的基因
    • 这些基因在所有样品中的表达量都很低或为零,表明它们在实验条件下可能不活跃或不相关,因此可能不会对研究结果产生显著影响。
  2. 移除低表达量基因
    • 低表达量基因可能受到技术噪声的影响较大,导致分析结果的假阳性率增加。过滤这些基因可以减少噪声,提高数据的信噪比。
  3. 基于表达量的方差(SD)或绝对偏差(MAD)
    • 基因表达量的方差或绝对偏差可以反映基因表达在不同样品间的变异性。选择变异性大的基因可能更有可能揭示生物学上重要的变化。
  4. 选择表达量排名靠前的基因
    • 选择表达量排名靠前的基因(例如,表达量最高的基因)可以专注于那些在细胞中活跃并且可能对生物学过程有重要贡献的基因。
  5. 提高统计分析的统计能力
    • 过滤掉不相关或低质量的数据可以减少数据集的复杂性,使得统计分析更加集中于那些更有可能产生显著结果的基因。
  6. 减少计算资源的消耗
    • 过滤掉一部分基因可以减少数据集的大小,从而减少计算资源的消耗,加快分析速度。
  7. 专注于生物学意义
    • 通过过滤,研究者可以专注于那些最有可能与研究假设相关的基因,从而提高发现生物学意义的可能性。
  8. 数据预处理
    • 在某些情况下,过滤是数据预处理的一部分,有助于标准化数据并为后续的高级分析(如聚类、差异表达分析等)做准备。

需要注意的是,过滤策略应该根据研究目的、数据特性和生物学假设来定制。过度过滤可能会导致重要信息的丢失,而过滤不足则可能包含过多的噪声。因此,在过滤之前,研究者应该仔细考虑过滤标准和预期的分析目标。

但是不能是有监督的挑选特征,比如这个文献,题目为“Revealing the transcriptional heterogeneity of organ-specific metastasis in human gastric cancer using single-cell RNA Sequencing”。这个胃癌单细胞数据集GSE163558的如下所示样品相关性热图就有瑕疵了,因为作者是挑选了差异表达基因的矩阵进行层次聚类相关性热图:

作者使用上面的图确实是想说明作者自己的胃部正常组织样品是跟2020的那个CCR文章里面的胃部正常组织样品的3个样品的相似性要高于作者自己的非胃部正常组织样品的。

但是作者作者是挑选了差异表达基因,就是胃部正常组织样品去跟胃癌组织样品的表达量差异,这样的话当然是作者自己的胃部正常组织样品是跟2020的那个CCR文章里面的胃部正常组织样品的3个样品的相似性要高于作者自己的非胃部正常组织样品的。

可以同时量化不同样品的不同单细胞亚群的相关性

使用如下所示的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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细胞去跟上皮细胞更加相似的。除非它们都处于某种生物学状态,比如细胞增殖,或者说它们都有双细胞的特性等等。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-09-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 可以同时量化不同样品的不同单细胞亚群的相关性
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档