单细胞Seurat - 细胞聚类(3)

简介: 单细胞Seurat - 细胞聚类(3)

本系列持续更新Seurat单细胞分析教程,欢迎关注!

维度确定

为了克服 scRNA-seq 数据的任何单个特征中广泛的技术噪音,Seurat 根据 PCA 分数对细胞进行聚类,每个 PC 本质上代表一个“元特征”,它结合了相关特征集的信息。因此,顶部主成分代表了数据集的稳健压缩。但是,我们应该选择包含多少个成分? 10? 20? 100?

在 Macosko等人中,我们实施了受 JackStraw 程序启发的重采样测试。虽然 Seurat 中仍然可用,但这是一个缓慢且计算成本高昂的过程,并且我们不再用于单细胞分析。

另一种启发式方法生成“Elbow plot”:根据每个主成分解释的方差百分比对主成分进行排名(ElbowPlot() 函数)。在此示例中,我们可以观察到 PC9-10 周围有一个“Elbow”,这表明大部分真实信号是在前 10 个 PC 中捕获的。

ElbowPlot(pbmc)

识别数据集的真实维度——对于用户来说可能具有挑战性/不确定性。因此,我们向用户建议采用多种方法。第一个是更多的监督,探索 PC 以确定异质性的相关来源,并且可以与 GSEA 等结合使用。第二个(ElbowPlot) 第三个是常用的启发式,可以立即计算。

在此示例中,我们可能选择 PC 7-12 之间的任何值作为截止值。

我们在这里选择了 10 个,但鼓励用户考虑以下事项:

  • 树突状细胞和 NK 与 PC 12 和 13 密切相关的基因定义了罕见的免疫子集(即 MZB1 是浆细胞样 DC 的标记)。然而,这些组非常罕见,在没有先验知识的情况下,很难将它们与这种大小的数据集的背景噪声区分开来。
  • 鼓励用户使用不同数量的 PC(10、15,甚至 50!)重复下游分析。
  • 用户在选择该参数时偏高。例如,使用 5 PCs 执行下游分析会对结果产生重大不利影响,这将提醒用户重新分析与思考。

细胞聚类

Seurat 应用基于图的聚类方法,以(Macosko 等人)中的初始策略为基础。重要的是,驱动聚类分析(基于先前识别的 PC)的距离度量保持不变。然而,我们将细胞距离矩阵划分为簇的方法已得到显着改进。

Seurat 的方法深受最近手稿的启发,该手稿将基于图的聚类方法应用于 scRNA-seq 数据和 CyTOF 数据 。简而言之,这些方法将cell嵌入到图结构中 - 例如 K 最近邻 (KNN) 图,在具有相似特征表达模式的cell之间绘制边缘,然后尝试将该图划分为高度互连的quasi-cliques’ 或 ‘communities’。

与 PhenoGraph 一样,我们首先基于 PCA 空间中的欧氏距离构建 KNN 图,并根据局部邻域中的共享重叠(杰卡德相似度)细化任意两个单元之间的边缘权重。此步骤使用 FindNeighbors() 函数执行,并将先前定义的数据集维度(前 10 个 PC)作为输入。

为了对cell进行聚类,我们接下来应用模块化技术,例如 Louvain 算法(默认)或 SLM,迭代地将细胞分组在一起,目标是优化标准模块化函数。 FindClusters() 函数实现此过程,并包含一个分辨率参数,用于设置下游聚类的“粒度”,增加的值会导致更多的聚类。我们发现,将此参数设置在 0.4-1.2 之间通常会为大约 3K 细胞的单细胞数据集带来良好的结果。对于较大的数据集,最佳分辨率通常会增加。可以使用 Idents() 函数找到簇。

pbmc <- FindNeighbors(pbmc, dims = 1:10)
pbmc <- FindClusters(pbmc, resolution = 0.5)

## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
## 
## Number of nodes: 2638
## Number of edges: 95965
## 
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.8723
## Number of communities: 9
## Elapsed time: 0 seconds

# Look at cluster IDs of the first 5 cells
head(Idents(pbmc), 5)

## AAACATACAACCAC-1 AAACATTGAGCTAC-1 AAACATTGATCAGC-1 AAACCGTGCTTCCG-1 
##                2                3                2                1 
## AAACCGTGTATGCG-1 
##                6 
## Levels: 0 1 2 3 4 5 6 7 8

未完待续,持续更新,欢迎关注!

相关文章
红警源代码居然开源了....
红警源代码居然开源了....
379 0
|
数据可视化
R语言绘图教程丨Nature论文都在用的多组比较箱线图,自动计算显著性并标注,附带误差线
R语言绘图教程丨Nature论文都在用的多组比较箱线图,自动计算显著性并标注,附带误差线
|
12月前
|
监控 异构计算
Jetson 学习笔记(八):htop查看CPU占用情况和jtop监控CPU和GPU
在NVIDIA Jetson平台上使用htop和jtop工具来监控CPU、GPU和内存的使用情况,并提供了安装和使用这些工具的具体命令。
863 0
|
12月前
|
SQL 分布式计算 Hadoop
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
266 3
|
12月前
|
SQL 存储 数据库
慢SQL对数据库写入性能的影响及优化策略
在数据库管理系统中,慢SQL(即执行缓慢的SQL语句)不仅会影响查询性能,还可能对数据库的写入性能产生不利影响
|
存储 机器学习/深度学习 数据可视化
基于Python的数据分组技术:将数据按照1, 2, 3规则分为三个列表
基于Python的数据分组技术:将数据按照1, 2, 3规则分为三个列表
194 1
|
数据可视化 数据挖掘 Go
GOplot|宝藏R包,拯救你的GO富集结果,杜绝平庸的条形图
`GOplot`是R中的一个宝藏包,用于GO富集分析的创新可视化。它提供多种图表类型,如GOBar、GOBubble、GOCircle、GOChord、GOHeat和GOCluster,以及GOVenn。通过调整参数,用户可自定义颜色、大小和排序。例如,GOBar和GOBubble展示富集条形和气泡,GOCircle以环形图表示,GOChord描绘基因和过程间关系,而GOHeat和GOCluster提供热图和聚类视图。此外,还有GOVenn用于绘制Venn图。包简化了数据准备和绘图过程,适合快速高效地展示复杂分析结果。别忘了引用创始人Walter等人的工作。
1166 1
|
测试技术
【细胞识别】YOLOv8实现CBC细胞检测
【细胞识别】YOLOv8实现CBC细胞检测
212 0
|
Android开发
Android 更改包名,屡试不爽
      小菜因为工作需要,经常需要一套代码修改很多次包名,虽然不是什么技术活,但是小菜的用的次数多了就有了一点点小技巧分享给大家:       1. 如果源码是在本机电脑中,首先找到源码多位置,例如:由包名 com.
1663 0
|
数据可视化 Serverless
scRNA分析|使用AddModuleScore 和 AUcell进行基因集打分,可视化
scRNA分析|使用AddModuleScore 和 AUcell进行基因集打分,可视化
1855 0