10x 单细胞分析入门:安装软件,跑完一个 PBMC 示例
先完成一个小任务:把公开表达矩阵读进 R,解释每次过滤,画出聚类图,再为细胞类型写下注释依据。最终交付一个可重新打开的分析对象、一张细胞注释图和逐细胞元数据表。
当前提供第一阶段 9 篇教程,加上本目录共 10 篇。ATAC、VDJ、多样本比较和 Multiome 尚在后续编写计划中,本页不提供未完成章节的链接。
从哪里开始
| 手里的东西 | 建议路线 |
|---|---|
| 还没有数据,也没装 R | 01 → 02 → 03,准备好后进入 06–09 |
| 已有表达矩阵,想先跑出结果 | 02 安装 → 03 核对输入 → 06–09 实操 |
| 只有 FASTQ,需要自己做上游 | 01–03 → 04 安装 Cell Ranger 与自检 → 05 读报告 → 06–09 |
| 还不能登录 Linux 服务器 | 先读 Linux 服务器入门,完成登录和文件传输 |
准备数据与环境
上游处理与报告
Seurat 实操
- 06 · 读取 10x 表达矩阵:建立带样本信息的 Seurat 对象
- 07 · 单细胞 RNA 质控:留下过滤依据,再选择阈值
- 08 · Seurat 聚类实操:从归一化到 PCA 和 UMAP
- 09 · 单细胞类型注释:把 marker、图和判断写进同一份记录
下载练习包
下载 sc-course-v1.zip · 下载校验清单 · 查看实测记录
练习包包含下载脚本、6 个按阶段运行的 R 脚本、公共函数、样本表及注释参考。公开数据从 10x 官方地址另行下载,包内没有 FASTQ 或表达矩阵。RDS 中间文件也由你自己生成。
在服务器解压到 ~/sc-course 后,先逐篇执行。熟悉流程后可按以下顺序复跑:
cd ~/sc-course
bash scripts/download-pbmc3k.sh "$PWD"
Rscript scripts/00-check-env.R "$PWD"
Rscript scripts/01-import.R "$PWD"
Rscript scripts/02-qc.R "$PWD"
Rscript scripts/03-cluster.R "$PWD"
Rscript scripts/04-markers.R "$PWD"此时先查看 marker 图,编辑 results/04-annotation.tsv,填写每个聚类的类型与依据,再执行:
Rscript scripts/05-annotate.R "$PWD"最后一步有意保留人工检查。如果注释表仍是 pending review,脚本会停止,不会自动把聚类编号套成细胞类型。
数据与验证范围
案例使用 10x 的 3k PBMCs from a Healthy Donor,是一个健康供体的外周血单个核细胞数据集,原始上游版本为 Cell Ranger 1.1.0,矩阵基于 hg19。这里保留该矩阵和参考背景,练习 Seurat 5 下游处理。
PBMC 是外周血单个核细胞,不是单核测序(snRNA-seq)的缩写。本例也没有疾病与对照分组,不能拿其中的细胞当作供体重复,完成疾病差异检验。
下游脚本、图和数据校验记录随练习包提供。Cell Ranger 章节的安装、自检和 count 参数来自固定版本的官方文档;本轮没有重新运行完整 FASTQ 上游。两部分数据入口不同,不能把下游结果说成这次运行 Cell Ranger 的产物。
做到什么程度算完成
把以下文件交给另一位同事,他应当能知道你用了什么数据、如何过滤、为什么这样注释:
| 文件 | 应能回答的问题 |
|---|---|
logs/data.sha256 | 下载文件有没有变? |
logs/*-session.txt | R、Seurat 与依赖是什么版本? |
results/02-qc-decisions.csv | 每个条形码为什么保留或剔除? |
results/02-qc-sensitivity.csv | 放宽阈值会多留下多少细胞? |
results/04-annotation.tsv | 每个聚类的类型依据是什么?哪些仍无法确定? |
results/05-annotated.rds | 能否重新打开对象继续分析? |