第 5 章从 reads 到数据
Cell Ranger:从 reads 到计数矩阵
Cell Ranger 是 10x Genomics 的官方流程,把测序仪产出的 FASTQ 变成“基因 × 细胞”的计数矩阵,同时生成一页 web_summary.html。这一章是湿实验和数据分析之间的桥:summary 上的每个数字,都能追溯到前四章里的某个实验步骤。
四步:条形码、比对、UMI 计数、细胞识别
cellranger count 依次做四件事:
- 处理条形码和 UMI:从 Read 1 中取出条形码,与白名单比对,允许校正 1 个错配;与高丰度 UMI 只差 1 个碱基的 UMI 被视为测序错误并合并。
- 比对:用 STAR 把 Read 2 比对到参考基因组,再根据注释判断落在外显子、内含子还是基因间区。唯一地落在一个基因上的 reads 才算“可信比对”。Cell Ranger 7 起默认把内含子 reads 也计入。
- UMI 计数:对每个条形码、每个基因数不同的 UMI,得到原始矩阵
raw_feature_bc_matrix。 - 细胞识别:判断哪些条形码是细胞,输出过滤后的矩阵
filtered_feature_bc_matrix。
细胞识别:条形码排序曲线
把所有条形码按 UMI 数从高到低排列,用双对数坐标作图,就得到条形码排序图,又叫 knee plot。左边的高平台是含细胞的液滴,陡降之后的长尾是只装着环境 RNA 的空液滴。
较新版本的 Cell Ranger 先取明显高 UMI 的条形码,再用类似 EmptyDrops 的方法检验较低 UMI 的条形码:如果它的表达谱和环境 RNA 明显不同,也算作细胞。这样 RNA 含量低的小细胞不至于全被丢掉。拖动组件里的阈值,看看边界附近的条形码有多难判断。
web summary 上的指标
| 指标 | 含义 | 追溯到哪一步 |
|---|---|---|
| Estimated Number of Cells | 判定为细胞的条形码数 | 上样数 × 回收效率;细胞识别(第 2 章) |
| Mean Reads per Cell | 总 reads ÷ 估计细胞数,分子包括细胞外的 reads | 测序深度分配(第 4 章) |
| Median Genes per Cell | 细胞检测到的基因数的中位数 | RNA 含量、捕获效率、深度(第 3、4 章) |
| Median UMI Counts per Cell | 细胞 UMI 总数的中位数 | 同上 |
| Sequencing Saturation | reads 中来自已见分子的比例 | 文库复杂度与深度(第 3、4 章) |
| Fraction Reads in Cells | 有效 reads 中落在细胞条形码上的比例 | 环境 RNA、活率(第 1 章) |
| Valid Barcodes | 条形码能匹配白名单的 reads 比例 | 凝胶珠寡核苷酸、Read 1 质量(第 3 章) |
| Q30 Bases(Barcode / UMI / RNA Read) | 质量值 ≥ 30 的碱基比例 | 测序运行(第 4 章) |
| Reads Mapped Confidently to Transcriptome | 唯一比对到一个基因的 reads 比例 | RNA 质量、参考基因组、内含子设置 |
Cell Ranger 在指标越过内部阈值时会在页面顶部给出警告,例如 10x 期望 Fraction Reads in Cells 约 70% 以上、Valid Barcodes 约 75% 以上;具体阈值随版本可能不同,以文档为准。
这些指标要组合着读:
- Fraction Reads in Cells 低、细胞数偏多、每细胞基因数偏低:环境 RNA 多,部分空液滴可能被当成了细胞。
- 饱和度低、基因数低:测得不够深,加测有用。
- 饱和度高、基因数仍低:文库复杂度不足(捕获或逆转录差),加测帮助不大。
示例数据 pbmc3k 用的是 v1 化学和很早期的 Cell Ranger(数据集页面标注为 1.1.0),当时的细胞识别算法和今天不同。
常见误区
- 只看细胞数。 细胞数“达标”可能是空液滴被当成了细胞,要同时看曲线形状和 Fraction Reads in Cells。
- 跨版本直接比较指标。 化学版本和 Cell Ranger 版本(例如是否计入内含子)都会改变数值。
- 把警告当成不可用。 警告是提示去查原因,不等于数据作废;反过来,没有警告也不等于没有问题。