亚类注释前的准备:拆分目标谱系并完成谱系内聚类
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。
它会判断任务类型并自动转交给合适的执行智能体,不需要手动挑选。
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 验收检查
至少确认:
- 原始
annotated.h5ad没有被覆盖; - 8 个文件都能从磁盘重新打开,且每个文件只含一个
cell_type_pro_primary类别; - 每个文件的基因数仍为 19,888,细胞数之和等于 141,871;
- 样本、供体和表达数据仍然保留。
如果结果只写了“拆分成功”,可以继续追问:
补充参考提示词(可直接复制)
请帮我检查拆分后的 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 着色。同一区域由多个样本共同贡献,说明批次结构有所减弱。
leiden_0p8 得到 12 个 cluster。UMAP 上分开不等于已经是 12 个真实亚类,命名要结合 marker 复核。
点大小表示表达该基因的细胞比例,颜色表示平均表达。用它确认不同 cluster 有可区分的 marker 模式。
4.4 如实记录 fallback 和重跑
本轮不是一次无警告完成:
- 按
sampleID做 batch-aware HVG 拟合时数值不稳定,退回到不带 batch key 的 HVG 选择;后续 Harmony 仍正常使用sampleID; - 首次交付留下
phase_failed.json,最终使用重跑后的proc2,其validation.json为valid: true。
“脚本跑完”和“交付通过验证”不是一回事。后续教程使用的是通过验证的 CD8T_Colon_processed.h5ad。
4.5 交给下一步前检查
- 输入范围确实是结肠 CD8T,2,693 个细胞都进入结果;
sampleID存在(17 个样本),Harmony 状态为ok;leiden_0p8含 12 个 cluster,细胞数之和为 2,693;- 小 cluster 已记录,没有仅凭 UMAP 删除;
- 使用的是验证通过的最终重跑结果。
5. 人机职责
| 分析者负责 | 可以交给 omicOS |
|---|---|
| 确认下一步研究哪个谱系、保留哪些样本 | 按字段拆分 h5ad 并统计细胞数 |
确认批次字段(本案例为 sampleID) |
筛选目标组织并完成 Harmony 整合 |
| 判断小 cluster 是真实亚群还是技术问题 | 输出 cluster、marker 和样本分布 |
| 决定哪些 cluster 进入亚类注释 | 保存带聚类结果的新 h5ad |
拆分和聚类只是整理数据结构,不会自动证明细胞标签正确,也不能替代下一步的 marker 复核。
6. 操作回放
- 新建拆分对话:新对话不知道上一轮用了哪个文件,需重新提供
annotated.h5ad路径。 - 激活
Vertical Agent Selector,发送 3.1 节的提示词。 - 核对结果:对照 3.2 节的表格,确认 8 个文件齐全、CD8T 文件有 10,942 个细胞。
- 记录交接信息:拆分字段、8 个输出文件及细胞数、
majorCluster_CD8T.h5ad的完整路径。 - 新建预处理对话:激活
Single-cell Preprocessor Pro,发送 4.1 节的提示词。先确认tissue中代表结肠的实际取值再筛选,不要仅凭文件名猜组织。 - 查看结果并交接:先看 Harmony 前后对比,再看 cluster 和 marker dotplot。确认
validation.json通过后,记录CD8T_Colon_processed.h5ad的完整路径和聚类列leiden_0p8。
完成谱系内聚类后,进入下一篇:细胞亚类注释:从 CD8T 聚类得到可复核的亚类标签。
想回看下游路线,可以返回单细胞下游分析导读。



