前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >如何选择单细胞分析流程中的主成分数量:策略学习

如何选择单细胞分析流程中的主成分数量:策略学习

原创
作者头像
凑齐六个字吧
发布于 2025-02-11 03:47:25
发布于 2025-02-11 03:47:25
16700
代码可运行
举报
文章被收录于专栏:单细胞单细胞
运行总次数:0
代码可运行

在单细胞流程中,需要选定合适的主成分数量然后再进行后续的分析,过多和过少的主成分都可能会为后续的分析带来不同程度的影响。

  1. 过多的主成分可能会导致模型过拟合。PCA通过将原始数据投影到新的轴(主成分)上,目的是提取数据中的主要变异。如果保留过多的主成分,模型可能会捕捉到数据中的噪声而非有意义的生物学信号,导致分析结果不具有泛化能力。
  2. 过少的主成分可能会丢失重要的生物学信息。PCA通过减少数据的维度来简化数据集,但如果去除的主成分包含了对细胞群体分类有重要意义的信息,可能导致后续分析中细胞类型或亚群体的识别不准确。

因此我们在分析的时候通常会看一下ElbowPlot,在 ElbowPlot 中,肘部位置通常对应的是方差贡献急剧下降的位置。你可以通过观察图形找到曲线弯曲的地方(即“肘部”位置),并且该位置后的主成分所解释的方差增益较小,意味着添加更多主成分可能不会对数据的解释带来显著的提升。但ElbowPlot并不会直接了当的告诉大家具体的数值,不过也可以从曲线由陡峭变平缓的感觉来判断大概在8-15之间可能存在最佳主成分数量值。

同时关于这个问题也已经被很多老师所讨论过了,比如生信宝典的陈同教授在既往的推文中列出了Biostars (How to Choose PCs from a HeatMap)上Kevin Blighe教授的评论——“每个主成分(PC)会解释数据集中总体变异的一个比例。因此,仅仅说“选择5个”或“选择10个”主成分是没有意义的,因为考虑到可能仅前3个主成分就能解释80%的变异,甚至前20个主成分就能解释大部分变异。因此,我只能假设(并希望)您所使用的程序能够输出或存储每个主成分所解释的变异比例”,简单来说其实只要把大部分变异度都能囊括进去的主成分数量就行啦,数值稍有差异没有关系~ 同时陈同教授也出了他的选择习惯:选择7-12个主成分,那么技能树的建明老师通常就是选择15。笔者也去Seurat官网上回溯了官方流程,事实上开发团队也并没有对此细节给出答案,在Seurat5_integration分析中他们直接选择了30作为主成分数量。所以最后得到的一个结论就是,不需要太纠结哪一个数值,只要在合理范围内就行(根据ElbowPlot判断)。

那么其实笔者还会再考虑一个问题,是选择合理范围的低值?中值?还是高值?笔者其实还是倾向于选择“稍大一点”的主成分值,比如这个图片中是8-15,那么笔者会就选择15作为最佳主成分数量值。

同时如果真的很纠结说一定要有一个办法给出一个数量值,那么可以用一下分析工具,那么接下来咱们就试一下使用ElbowPlot,findPC和PCAtools中的findElbowPoint这三个工具。

分析步骤
1.导入
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rm(list = ls())
library(Seurat)
library(findPC)
library(ggplot2)
load("scRNA.Rdata") # 老演员了

DimPlot(scRNA)
2.ElbowPlot
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ElbowPlot(scRNA,ndims=50)

从视觉上来看大概是7-13左右

3.findPC
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Seurat V5
stdev_sorted <- sort(scRNA@reductions$pca@stdev, decreasing = TRUE) 
stdev_sorted
findPC(sdev = stdev_sorted, # 主成分降序排列
       number = 50, # number数量不需要
       method = "all", # 所有的方法都看一下,默认方法是perpendicular line
       figure = T)

不同方法得到的主成分数量,所以是7-12左右,4就有点“离群”。

4.PCAtools
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# PCAtools
library(PCAtools)
elbow <- findElbowPoint(stdev_sorted)
elbow
# [1] 8

经典PCAtools工具得到的值是8

参考资料:
  1. Seurat: https://satijalab.org/seurat/articles/seurat5_integration
  2. Biostars (How to Choose PCs from a HeatMap):https://www.biostars.org/p/410640/
  3. findPC: https://github.com/haotian-zhuang/findPC
  4. PCAtools: https://bioconductor.org/packages/devel/bioc/vignettes/PCAtools/inst/doc/PCAtools.html#determine-optimum-number-of-pcs-to-retain
  5. 生信宝典: https://mp.weixin.qq.com/s/DJMk-UR0oJ1-v1G3t0AhcA
  6. 单细胞天地—单细胞常见图表合集

:若对内容有疑惑或者有发现明确错误的朋友,请联系后台(欢迎交流)。更多相关内容可关注公众号:生信方舟

- END -

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
单细胞Seurat - 细胞聚类(3)
为了克服 scRNA-seq 数据的任何单个特征中广泛的技术噪音,Seurat 根据 PCA 分数对细胞进行聚类,每个 PC 本质上代表一个“元特征”,它结合了相关特征集的信息。因此,顶部主成分代表了数据集的稳健压缩。但是,我们应该选择包含多少个成分? 10? 20? 100?
数据科学工厂
2024/03/02
3570
单细胞Seurat - 细胞聚类(3)
R中单细胞RNA-seq数据分析教程 (3)
由于各个基因的基础表达水平和分布情况各异,如果不对数据进行转换,那么在分析中每个基因所起的作用就会有所不同。不希望出现这种情况,因为不希望分析结果只受到那些表达量高的基因的影响。因此,会对数据进行标准化处理,利用所选择的特征来进行,这在数据科学领域是一种常见的做法。
数据科学工厂
2024/12/30
1720
R中单细胞RNA-seq数据分析教程 (3)
单细胞系列教程:细胞聚类(十)
前面我们已经整合了高质量的细胞,现在我们想知道细胞群中存在的不同细胞类型 ,因此下面将进行细胞聚类分析。
数据科学工厂
2023/01/25
1.5K0
scRNA-seq Clustering
现在我们已经有了整合的高质量的细胞,我们想知道我们的细胞群体中存在的不同细胞类型。
生信技能树jimmy
2020/07/27
1.3K0
scRNA-seq Clustering
单细胞测序—基础分析流程
参考官方文档:https://satijalab.org/seurat/articles/pbmc3k_tutorial
sheldor没耳朵
2024/07/30
8300
单细胞测序—基础分析流程
单细胞Seurat流程与步骤详解
FindNeighbors 和 FindClusters 主要是用来进行细胞聚类的,它们会基于数据的相似性计算细胞之间的邻近关系,并通过聚类算法(如 Louvain 或 Leiden 方法)将细胞分成不同的群体。这对于数据的探索和分析非常重要,尤其是当你没有预定义细胞类型时。
生信菜鸟团
2024/12/30
1880
单细胞Seurat流程与步骤详解
OSCA单细胞数据分析笔记8—Dimensionality reduction
二维平面是对于我们人类可接受的表征细胞间距离的可视化方式。因此,尽管上一步PCA已经降至50个维度以内,但在可视化呈现方面,仍需采取一定手段。
生信技能树jimmy
2021/07/02
1.4K0
OSCA单细胞数据分析笔记8—Dimensionality reduction
Seurat 包图文详解 | 单细胞转录组(scRNA-seq)分析02
使用的示例数据集来自10X Genome 测序的 Peripheral Blood Mononuclear Cells (PBMC)。
白墨石
2021/01/13
3.3K0
Seurat 包图文详解 | 单细胞转录组(scRNA-seq)分析02
单细胞分析Seurat使用相关的10个问题答疑精选!
作为一个刚刚开始进行单细胞转录组分析的菜鸟,R语言底子没有,有时候除了会copy外,如果你让我写个for循环,我只能cross my fingers。。。。
生信宝典
2020/02/26
2.5K0
DoubleFinder去除双细胞分析学习
在单细胞RNA测序过程中,有时两个或多个细胞可能在制备过程中意外结合成一个单一的"假细胞",称为双峰细胞或双倍体。这些双峰细胞可能会扭曲数据分析和解释,因此,需要使用一些方法对它们进行识别和剔除。其中DoubleFinder是最常用的一个工具。
凑齐六个字吧
2024/09/12
5290
DoubleFinder去除双细胞分析学习
单细胞转录组 | 数据降维
假设一共1000个细胞,每个细胞只有一个基因(基因Ⅰ)的表达,那么这些细胞会分布在以基因Ⅰ为x轴的一维坐标轴上;如果每个细胞有两个基因(基因Ⅰ、基因Ⅱ)表达,那么这些细胞会分布在以基因Ⅰ为x轴(y轴),基因Ⅱ为y轴(x轴)的二维平面上;如果每个细胞有三个基因(基因Ⅰ、基因Ⅱ、基因Ⅲ)表达,以此类推……
生信real
2022/12/20
7780
单细胞转录组 | 数据降维
跟着小鱼头学单细胞测序-scRNA-seq数据的降维和可视化
在scRNA-seq数据通过一些列的预处理,质控以及标准化之后,后续分析步骤需要通过识别细胞间的基因表达差异来进行聚类, 分析不同细胞群的差异性。这就涉及到了单细胞RNA数据处理中的特征选择,降维以及如何使数据可视化。
作图丫
2022/03/28
1.1K0
跟着小鱼头学单细胞测序-scRNA-seq数据的降维和可视化
单细胞PCA降维结果理解
在上一期推文单细胞数据标准化及高变基因鉴定里面有整理单细胞下游分析基本流程及使用到的函数
生信技能树jimmy
2024/05/31
6440
单细胞PCA降维结果理解
单细胞实战之细胞周期矫正,双胞体和RNA污染去除——入门到进阶(初级篇2)
我们在上一讲内容中得到处理好后的数据集之后,接着来学习“矫正”数据的三个工具~ 分别为细胞周期矫正,去除双胞体和RNA污染。
凑齐六个字吧
2025/02/09
3430
单细胞实战之细胞周期矫正,双胞体和RNA污染去除——入门到进阶(初级篇2)
跟着大神学单细胞数据分析
这是 Tang Ming 大神分享的单细胞分析的seurat流程。今天我们来理一下大致的分析思路,当然里面好多细节的部分还需要自己下功夫慢慢研究。
生信技能树jimmy
2020/03/30
3.7K0
如何确定细胞聚类的PC数
官网上PC数目的确定(https://satijalab.org/seurat/v3.1/pbmc3k_tutorial.html)
生信技能树jimmy
2020/03/30
6.9K0
​单细胞专题 | 7.单细胞下游分析——常规分析流程案例一
单细胞专题 | 1.单细胞测序(10×genomics技术)的原理 单细胞专题 | 2.如何开始单细胞RNASeq数据分析 单细胞专题 | 3.单细胞转录组的上游分析-从BCL到FASTQ 单细胞专题 | 4.单细胞转录组的上游分析-从SRA到FASTQ 单细胞专题 | 5.单细胞转录组的上游分析-从FASTQ到count矩阵 单细胞专题 | 6.单细胞下游分析——不同类型的数据读入
DoubleHelix
2022/12/16
5.3K0
​单细胞专题 | 7.单细胞下游分析——常规分析流程案例一
单细胞分析:PCA和归一化理论(七)
在获得高质量单细胞后,scRNA-seq分析工作流程的下一步是执行聚类。聚类的目标是将不同的细胞类型分成独特的细胞簇。为了进行聚类,确定了细胞间表达差异最大的基因。然后,使用这些基因来确定哪些相关基因组是造成细胞间表达差异最大的原因。
数据科学工厂
2023/02/27
3780
单细胞分析:PCA和归一化理论(七)
生物医学研究和临床应用中单细胞RNA-seq数据分析指南
单细胞RNA测序(scRNA-seq)在生物医学研究中的应用,提高了对疾病发病机制的认识,并为新的诊断和治疗策略提供了有价值的见解。随着包括临床样本在内的高通量scRNA-seq数据的扩大,对这些大量数据的分析已经成为进入这一领域的研究人员的一个必须面对的前景。在这里,回顾了典型scRNA-seq数据分析的工作流程,包括原始数据处理和质量控制,适用于几乎所有scRNA-seq数据集的基本数据分析,以及应针对特定科学问题量身定制的高级数据分析。在总结每个分析步骤的当前方法的同时,还提供了软件和脚本的在线数据。对一些具体的分析任务和方法提出了建议和注意事项。
追风少年i
2022/12/08
1.9K0
生物医学研究和临床应用中单细胞RNA-seq数据分析指南
单细胞降维聚类分群注释全流程学习(seruat5/harmony)
https://mp.weixin.qq.com/s/drmfwJgbFsFCtoaMsMGaUA
凑齐六个字吧
2024/09/07
2770
单细胞降维聚类分群注释全流程学习(seruat5/harmony)
相关推荐
单细胞Seurat - 细胞聚类(3)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验