亚类注释前的准备:拆分目标谱系并完成谱系内聚类

1. 任务说明

完成细胞大类注释后,通常要取出某一个大类做更细的亚类注释。本页完成两步:先从大类注释结果中拆出目标谱系,再在谱系内完成预处理、批次整合和聚类。

按 cell_type_pro_primary 拆分 h5ad
→ 选定目标谱系文件(本案例为结肠 CD8T)
→ 预处理、Harmony 批次整合和聚类
→ 得到可交给亚类注释的 h5ad

本案例拆分后得到 8 个 h5ad,再从 majorCluster_CD8T.h5ad 中保留结肠样本,最终得到已完成聚类的 CD8T_Colon_processed.h5ad

2. 激活 Vertical Agent Selector

打开“智能体”页面,激活 Vertical Agent Selector

在 omicOS 中选择 Vertical Agent Selector

它会判断任务类型并自动转交给合适的执行智能体,不需要手动挑选。

3. 拆分:从大类注释结果中取出 CD8T

输入沿用上游细胞类型注释教程交付的 annotated.h5ad(141,871 个细胞 × 19,888 个基因),大类注释已写入 cell_type_pro_primary

3.1 发送拆分提示词

参考提示词(可直接复制):请先把尖括号中的内容替换为自己的实际路径。

<大类注释后的 annotated.h5ad 路径>

请按照 cell_type_pro_primary 把数据拆成不同的 h5ad,
并告诉我每个文件有多少细胞。

3.2 拆分结果

共得到 8 个文件,原文件未被修改,细胞数之和仍为 141,871:

输出文件 包含的大类 细胞数
majorCluster_Epithelial.h5ad Epithelial 49,477
majorCluster_Stromal.h5ad Stromal 25,761
majorCluster_B.h5ad B 22,194
majorCluster_CD4T.h5ad CD4T 11,304
majorCluster_CD8T.h5ad CD8T 10,942
majorCluster_Endothelial.h5ad Endothelial 10,423
majorCluster_Myeloid.h5ad Myeloid 8,866
majorCluster_ILC.h5ad ILC 2,904

本案例下一步分析 CD8T,使用 majorCluster_CD8T.h5ad。想分析其他谱系时,选对应文件即可(如 CD4T 用 majorCluster_CD4T.h5ad、B 细胞用 majorCluster_B.h5ad)。先选定一个研究目标,不要把 8 个文件全部交给同一轮分析。

3.3 验收检查

至少确认:

  1. 原始 annotated.h5ad 没有被覆盖;
  2. 8 个文件都能从磁盘重新打开,且每个文件只含一个 cell_type_pro_primary 类别;
  3. 每个文件的基因数仍为 19,888,细胞数之和等于 141,871;
  4. 样本、供体和表达数据仍然保留。

如果结果只写了“拆分成功”,可以继续追问:

补充参考提示词(可直接复制)

请帮我检查拆分后的 h5ad 是否都能正常打开,
并汇总每个文件的细胞数和基因数。

4. 谱系内预处理:得到 12 个 cluster

拿到 majorCluster_CD8T.h5ad 后还不能直接注释。本案例先按研究问题保留结肠样本(10,942 → 2,693 个细胞),再在 CD8T 谱系内重新完成预处理、批次整合和聚类。

4.1 激活 Single-cell Preprocessor Pro 并发送提示词

新建对话,激活 Single-cell Preprocessor Pro,发送:

参考提示词(可直接复制):请先把尖括号中的内容替换为自己的实际路径。

<majorCluster_CD8T.h5ad 的完整路径>

这是人类 CD8T 数据。请只保留结肠样本,
使用 sampleID 处理批次,重新做预处理、降维和聚类,
并输出下一步可以做亚类注释的 h5ad 和图片。

批次字段必须写真实的样本列(这里是 sampleID),不能把 cell、donor、dataset 或 tissue 随意当成批次。

4.2 实际执行结果

项目 本案例结果
输入范围 人结肠 CD8T
输入细胞数 2,693
QC 后细胞数 2,693
输出基因数 12,761
批次字段 sampleID,共 17 个样本
批次整合 Harmony,状态为 ok
PCA 25 个主成分
聚类列 leiden_0p8
cluster 数量 12
marker Wilcoxon 和 COSG,各 600 行
主要交付 CD8T_Colon_processed.h5ad

QC 没有删除任何细胞;基因从 19,888 变为 12,761,是因为只保留了至少在 3 个细胞中检测到的基因。输出 h5ad 中保留 counts、标准化表达、PCA、Harmony 表示、UMAP 和聚类信息。

12 个 cluster 的细胞数:

cluster 细胞数 cluster 细胞数
0 305 6 19
1 326 7 550
2 88 8 68
3 26 9 704
4 341 10 98
5 82 11 86

cluster 6 只有 19 个细胞、cluster 3 只有 26 个。小群可能是真实稀有状态,也可能来自低质量或 doublet,这里只记录,不在注释前删除。

4.3 看图:先批次整合,再聚类和 marker

Harmony 整合前后的 sampleID 分布

左:批次校正前;右:Harmony 后按 sampleID 着色。同一区域由多个样本共同贡献,说明批次结构有所减弱。

结肠 CD8T 的 12 个 leiden_0p8 cluster

leiden_0p8 得到 12 个 cluster。UMAP 上分开不等于已经是 12 个真实亚类,命名要结合 marker 复核。

结肠 CD8T 聚类后的 marker dotplot

点大小表示表达该基因的细胞比例,颜色表示平均表达。用它确认不同 cluster 有可区分的 marker 模式。

4.4 如实记录 fallback 和重跑

本轮不是一次无警告完成:

  • sampleID 做 batch-aware HVG 拟合时数值不稳定,退回到不带 batch key 的 HVG 选择;后续 Harmony 仍正常使用 sampleID
  • 首次交付留下 phase_failed.json,最终使用重跑后的 proc2,其 validation.jsonvalid: true

“脚本跑完”和“交付通过验证”不是一回事。后续教程使用的是通过验证的 CD8T_Colon_processed.h5ad

4.5 交给下一步前检查

  1. 输入范围确实是结肠 CD8T,2,693 个细胞都进入结果;
  2. sampleID 存在(17 个样本),Harmony 状态为 ok
  3. leiden_0p8 含 12 个 cluster,细胞数之和为 2,693;
  4. 小 cluster 已记录,没有仅凭 UMAP 删除;
  5. 使用的是验证通过的最终重跑结果。

5. 人机职责

分析者负责 可以交给 omicOS
确认下一步研究哪个谱系、保留哪些样本 按字段拆分 h5ad 并统计细胞数
确认批次字段(本案例为 sampleID 筛选目标组织并完成 Harmony 整合
判断小 cluster 是真实亚群还是技术问题 输出 cluster、marker 和样本分布
决定哪些 cluster 进入亚类注释 保存带聚类结果的新 h5ad

拆分和聚类只是整理数据结构,不会自动证明细胞标签正确,也不能替代下一步的 marker 复核。

6. 操作回放

  1. 新建拆分对话:新对话不知道上一轮用了哪个文件,需重新提供 annotated.h5ad 路径。
  2. 激活 Vertical Agent Selector,发送 3.1 节的提示词。
  3. 核对结果:对照 3.2 节的表格,确认 8 个文件齐全、CD8T 文件有 10,942 个细胞。
  4. 记录交接信息:拆分字段、8 个输出文件及细胞数、majorCluster_CD8T.h5ad 的完整路径。
  5. 新建预处理对话:激活 Single-cell Preprocessor Pro,发送 4.1 节的提示词。先确认 tissue 中代表结肠的实际取值再筛选,不要仅凭文件名猜组织。
  6. 查看结果并交接:先看 Harmony 前后对比,再看 cluster 和 marker dotplot。确认 validation.json 通过后,记录 CD8T_Colon_processed.h5ad 的完整路径和聚类列 leiden_0p8

完成谱系内聚类后,进入下一篇:细胞亚类注释:从 CD8T 聚类得到可复核的亚类标签

想回看下游路线,可以返回单细胞下游分析导读

results matching ""

    No results matching ""