单细胞|M3-4. 细胞聚类与轨迹推断

R 复制代码
library(ggplot2)
library(RColorBrewer)
library(scales)
# 聚类细胞
cds <- cluster_cells(cds)

# 基于UMAP进行分区
cds@colData$part <- partitions(cds, reduction_method = "UMAP")

# 绘制分区图,展示不同的细胞群体
plot_cells(cds, color_cells_by = "partition", label_cell_groups = FALSE)

数据结构角度讲解

要解读这段代码的数据结构和内容,需要先明确每个数据对象和函数的功能。以下是各部分的数据结构解读:


1. cds 对象

cds 是一个 CellDataSet 对象,来自 Monocle3。它是单细胞分析的核心数据结构,包含以下主要内容:

  • 表达数据:

    • 存储在 cds@assays$data,通常为基因表达矩阵(如 counts 数据)。
  • 细胞元数据:

    • 存储在 cds@colData,是一个 DataFrame,包含每个细胞的相关信息,比如细胞类型、分区信息等。
  • 基因元数据:

    • 存储在 cds@rowData,是一个 DataFrame,包含基因的注释信息(如基因名、基因 ID)。
  • 降维结果:

    • 通常存储在 cds@reducedDims 中,包含 UMAP 或 PCA 的降维坐标。
  • 轨迹图数据:

    • 存储在 cds@principal_graph,包含轨迹推断生成的细胞间连接信息。

2. cluster_cells(cds)

这一步执行了 细胞聚类 ,结果被存储到 cds@colData 中的新列:

  • 新增列名为 cluster 或类似名称。
  • 每个细胞被分配到一个聚类标签(如 1, 2, 3 等整数)。

3. partitions(cds, reduction_method = "UMAP")

这一步执行了基于 UMAP 的 细胞分区

  • 输入:

    • cds: 包含细胞降维信息的 CellDataSet。
    • reduction_method = "UMAP": 指定基于哪种降维方法(通常为 UMAP)。
  • 输出:

    • 返回一个向量,包含每个细胞的分区标签(通常是整数,如 1, 2, 3)。
  • 存储:

    • 分区结果被存储到 cds@colData$part,每个细胞对应一个分区标签。

4. plot_cells 可视化

功能:

plot_cells 函数用于绘制细胞分布图,支持多种颜色映射方式,比如按分区、聚类或拟时序。

color_cells_by = "partition":
  • 输入 :
    • color_cells_by = "partition": 将细胞按分区标签着色。
  • 绘图内容 :
    • 细胞按降维(UMAP)坐标分布。
    • 不同分区用不同颜色表示。
label_cell_groups = FALSE:
  • 不为细胞群体标注标签,仅展示颜色分区。
数据结构:

绘图用到的数据来源于 cds 的以下部分:

  • 降维坐标 : 存储在 cds@reducedDims$UMAP
  • 分区标签 : 存储在 cds@colData$part

总结数据流

  1. 输入数据: 包括表达矩阵(counts)、细胞元数据和基因元数据。
  2. 中间过程 :
    • 聚类结果存储在 cds@colData$cluster
    • 分区结果存储在 cds@colData$part
  3. 可视化 :
    • UMAP 降维结果来自 cds@reducedDims$UMAP
    • 分区标签用于按颜色分组。

通过这些步骤,可以有效地展示不同细胞群体的分布及其分区关系。

相关推荐
KeyPan10 分钟前
【视觉SLAM:八、后端Ⅰ】
人工智能·数码相机·算法·机器学习·计算机视觉
B站计算机毕业设计超人4 小时前
计算机毕业设计Hadoop+Spark美团美食推荐系统 美团餐厅推荐系统 美团推荐系统 美食价格预测 美团爬虫 美食数据分析 美食可视化大屏
大数据·hadoop·python·机器学习·课程设计·数据可视化·推荐算法
IT古董4 小时前
【机器学习】机器学习的基本分类-自监督学习-对比学习(Contrastive Learning)
人工智能·学习·机器学习·分类
林泽毅4 小时前
SwanLab x LLaMA Factory:国产开源AI训练工具组合拳(含教程)
人工智能·python·机器学习·开源·大模型·llama·swanlab
Channing Lewis6 小时前
聚类的主要算法和介绍
算法·机器学习·聚类
IT古董6 小时前
【漫话机器学习系列】027.混淆矩阵(confusion matrix)
人工智能·机器学习
顾北辰207 小时前
监督学习及其方法
java·机器学习
维维180-3121-14558 小时前
电力系统优化分析/系统机组组合/水电优化运行/鲁棒优化/多能源互补优化/分布鲁棒优化
人工智能·算法·机器学习
sp_fyf_20249 小时前
DeepSeek-V2:强大、经济且高效的专家混合语言模型
人工智能·深度学习·神经网络·机器学习·自然语言处理·数据挖掘
云天徽上9 小时前
【数据可视化-10】国防科技大学录取分数线可视化分析
人工智能·机器学习·信息可视化·数据挖掘·数据分析