当前位置: 首页 > news >正文

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

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

维度确定

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

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

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

ElbowPlot(pbmc)
alt

识别数据集的真实维度——对于用户来说可能具有挑战性/不确定性。因此,我们向用户建议采用多种方法。第一个是更多的监督,探索 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

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

本文由 mdnice 多平台发布

相关文章:

  • RK3568 android11 调试陀螺仪模块 MPU-6500
  • GPT 的基础 - T(Transformer)
  • spring boot 整合 minio存储 【使用篇】
  • kali linux通过aircrack-ng命令破解wifi密码
  • 【Linux】云服务器的Redis被黑
  • 【文献管理】zotero插件4——获取知网pdf、中文文献识别与目录生成
  • 【React 报错】—Remove untracked files, stash or commit any changes, and try again.
  • PostgreSQL常用SQL语句
  • android ROM编译之--repo使用指南
  • 为什么会对猫毛过敏?如何缓解?浮毛克星—宠物空气净化器推荐
  • SpringBoot配置跨域
  • Java面试题之mysql
  • 【排序算法】冒泡排序
  • VMWare ESXi安装留档
  • Linux修改文件名常见的三种方式
  • [译]CSS 居中(Center)方法大合集
  • 4. 路由到控制器 - Laravel从零开始教程
  • Android组件 - 收藏集 - 掘金
  • Codepen 每日精选(2018-3-25)
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • CSS盒模型深入
  • E-HPC支持多队列管理和自动伸缩
  • Golang-长连接-状态推送
  • JS笔记四:作用域、变量(函数)提升
  • js如何打印object对象
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • node入门
  • PHP CLI应用的调试原理
  • spring security oauth2 password授权模式
  • sublime配置文件
  • 关于extract.autodesk.io的一些说明
  • 基于组件的设计工作流与界面抽象
  • 开发基于以太坊智能合约的DApp
  • 我看到的前端
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • ​iOS实时查看App运行日志
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #Z0458. 树的中心2
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (poj1.3.2)1791(构造法模拟)
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (七)理解angular中的module和injector,即依赖注入
  • (实战篇)如何缓存数据
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转载)虚函数剖析
  • . Flume面试题
  • .apk文件,IIS不支持下载解决
  • .NET 5种线程安全集合
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions