单细胞分析实战教程

用 Augur 找到受扰动影响最大的细胞类型

从安装、示例运行到 AUC 结果解读,定位在疾病、治疗或衰老条件下最值得继续研究的细胞类型。

作者:发布于 2024-11-19更新于 2026-09-11约 8 分钟阅读R / 单细胞

Augur 能解决什么问题

完成单细胞聚类和注释后,一个常见问题是:接下来应该重点研究哪一种细胞?仅比较细胞比例,有时不足以反映不同实验条件对细胞状态造成的影响。

Augur 用于识别对生物扰动最敏感的细胞类型。这里的“扰动”可以是衰老与年轻、治疗与对照、疾病与健康,也可以是其他具有明确分组的实验条件。

衰老研究比较年轻与衰老样本,筛选响应最明显的细胞类型。
疾病研究比较健康与疾病状态,确定优先深入分析的细胞群。
治疗研究比较治疗与对照样本,评估哪些细胞对干预最敏感。
计算资源提醒:细胞数量较多时,Augur 的重复抽样和模型训练会占用较多内存与 CPU。建议先用小样本验证流程,再根据数据规模选择工作站或服务器。

文献中的应用

下面两项研究都使用了细胞类型优先级分析,用来判断哪些细胞对衰老最敏感。原文截图保持原始尺寸展示,避免低分辨率图片被强行拉伸。

灵长类肝脏衰老研究中使用 Augur 分析的论文截图
案例 01 · 肝脏衰老

肝细胞 Hep 响应最明显

研究指出,在单核转录组数据中,Hep 是对衰老反应最显著的细胞类型。

灵长类心脏衰老研究中使用 Augur 分析的论文截图
案例 02 · 心脏衰老

心肌细胞 CM 受影响最大

研究将 CM 识别为心脏衰老过程中受影响最明显的细胞类型。

安装 Augur

Augur 依赖一组数据处理、建模和并行计算包。首次安装前,请确认 R 环境可以正常连接 CRAN 和 GitHub。以下命令已与 Augur 官方说明核对。

主要依赖

  • dplyr ≥ 0.8.0
  • purrr ≥ 0.3.2
  • tibble ≥ 2.1.3
  • magrittr ≥ 1.5
  • Matrix ≥ 1.2-14
  • sparseMatrixStats ≥ 0.1.0
  • parsnip ≥ 0.0.2
  • recipes ≥ 0.1.4
  • rsample ≥ 0.0.4
  • yardstick ≥ 0.0.3
  • pbmcapply ≥ 1.5.0
  • lmtest ≥ 0.9-37
  • rlang ≥ 0.4.0
  • glmnet ≥ 2.0
  • randomForest ≥ 4.6-14
R · 安装命令
install.packages("devtools")

devtools::install_github("Bioconductor/MatrixGenerics")
devtools::install_github("const-ae/sparseMatrixStats")
devtools::install_github("neurorestore/Augur")

library(Augur)
复制可直接运行:原文中的中文弯引号已改为英文半角引号,减少粘贴到 R 控制台后的语法错误。

运行示例

这里使用 Augur 自带的 sc_sim 示例数据。元数据包含两列:label 表示 treatment 或 control,cell_type 表示细胞类型。

R · 查看示例数据
data("sc_sim")
head(sc_sim@meta.data)
运行结果
      label cell_type
1   control CellTypeA
2 treatment CellTypeA
3 treatment CellTypeA
4   control CellTypeA
5   control CellTypeA
6 treatment CellTypeA

计算每种细胞类型的 AUC

运行 calculate_auc() 后,查看结果对象中的 AUC 表。

R · 计算优先级
augur_result <- calculate_auc(sc_sim)
augur_result$AUC
一次示例运行结果
# A tibble: 3 × 2
  cell_type   auc
  <chr>     <dbl>
1 CellTypeC 0.879
2 CellTypeB 0.747
3 CellTypeA 0.554
1

结果解读:CellTypeC 的 AUC 最高,其次是 CellTypeB 和 CellTypeA。因此在这个示例中,CellTypeC 是更值得优先关注的细胞类型。

数值可能略有波动:Augur 包含重复抽样和模型训练;软件版本、随机种子和运行环境不同,AUC 的小数值可能与示例略有差异,但优先级判断通常应保持稳定。

可视化 AUC 结果

细胞类型数量较少时,横向条形图通常比环形图更容易比较差异;细胞类型较多时,再根据展示场景选择极坐标图或其他形式。

R · 推荐的条形图
library(ggplot2)

auc_data <- augur_result$AUC

ggplot(auc_data, aes(x = reorder(cell_type, auc), y = auc)) +
  geom_col(fill = "#2558D7", width = 0.68) +
  coord_flip() +
  labs(x = NULL, y = "Augur AUC") +
  theme_minimal(base_size = 12)

参数与数据要求

把 Seurat 对象交给 Augur 前,重点检查分组列、细胞类型列和计算线程数。字段名称不一致时,应明确传入对应参数。

项目作用建议
label实验条件,如 treatment / control至少包含两个可比较的分组
cell_type细胞类型注释先检查每类细胞数量是否足够
n_threads并行计算线程数根据 CPU 与内存设置,不是越大越好
cell_type_col指定细胞类型列名列名不为 cell_type 时显式传入
label_col指定实验分组列名列名不为 label 时显式传入
R · 自定义字段与线程数
augur_result <- calculate_auc(
  seurat_object,
  cell_type_col = "cell_annotation",
  label_col = "condition",
  n_threads = 8
)
注意:将线程数从 4 调到 8 不一定会让整体运行时间严格缩短一半。实际速度还取决于 CPU 核心、内存、数据规模和并行开销。

原理简述

Augur 的核心思路是:如果某类细胞对实验刺激产生了明显响应,那么只根据该细胞的分子特征,模型就更容易判断它来自实验组还是对照组。

按细胞类型拆分分别处理每一种细胞类型,避免不同细胞群之间的差异干扰判断。
训练分类模型尝试从分子特征预测细胞来自哪一种实验条件。
交叉验证排序用 AUC 衡量可分性,并据此生成细胞类型优先级。

因此,AUC 适合用来确定“优先研究谁”,但不能单独替代差异表达、通路富集、细胞比例和生物学验证。

把知识用于当前任务

把方法直接跑起来

使用单细胞在线分析入口,减少环境配置和重复操作。

打开单细胞工具仍有疑问,联系客服 ↗