东方天意单细胞数据预处理
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-ekt13cme/single-cell-preprocessing。
技能介绍
处理从原始计数到可用矩阵的 scRNA-seq 预处理
单细胞 RNA 测序分析的第一步往往决定下游结论的可信度。很多团队直接套用论文或公开流程中的固定阈值,比如“最低基因数 500、线粒体比例 10%”,但实际数据中不同样本、组织或实验方案的细胞状态差异极大——高代谢组织(如肝脏)的线粒体比例可能天然偏高,应激样本的 RNA 降解程度不同,甚至人鼠混样中的线粒体基因命名(^MT- vs ^mt-)都可能导致过滤错误。这类“一刀切”的处理会丢失真实的生物学变异,或在后续聚类中引入技术噪声。
技能的核心能力与关键步骤
该技能围绕 按样本/批次独立预处理 展开,核心流程包括:
- 输入验证:确认数据是原始整数 UMI 计数(未对数化),去重基因名称并检查细胞条形码唯一性,避免后续
normalize_total()或NormalizeData()对非计数矩阵的误操作。 - QC 计算与可视化:优先在每个样本中计算 QC 指标(如
n_genes_by_counts、pct_counts_mt),用分位数或 MAD(中位数绝对偏差)识别离群值,而非合并所有样本后套用全局阈值。 - 过滤与特殊细胞处理:空液滴识别(如 DropletUtils::EmptyDrops)应在常规 QC 前完成;环境 RNA 校正(SoupX/CellBender/DecontX)需在下游表达分析前执行;双细胞检测(Scruplet/scDblFinder)则安排在常规 QC 过滤后,避免高 ngenesby_counts 仅作为候选线索而非唯一判据。
- 标准化与高变基因选择:必须在同一 assay 或矩阵上选择一条路线——要么走 LogNormalize 工作流(
normalize_total() + log1p()→highly_variable_genes()),要么走 SCTransform 工作流(SCTransform()内置 HVG 选择),不可串行混用。过滤后需立即保存原始计数(如 Scanpy 的layers['counts']或 Seurat 的 RNA assay counts slot),确保后续需要原始计数的方法(如 seurat_v3 HVG)可用。 - 回归与缩放:默认不回归 totalcounts 或 pctcounts_mt,除非明确需要去除技术协变量(如细胞周期),且需记录回归前后的 PCA/聚类差异。缩放时优先子集到 HVG,避免在全基因矩阵上进行不必要的稠密化。
适用边界与常见注意点
该技能不提供“一键默认参数”,而是强调 按数据特性调整阈值。例如,snRNA-seq 的基因数和线粒体比例通常低于常规 scRNA-seq,肿瘤或应激样本可能需要放宽线粒体过滤范围;Ensembl ID 或其他物种数据不能假设线粒体前缀,需通过注释表生成布尔向量。此外,回归协变量可能同时移除真实的细胞周期、代谢状态信号,使用前必须对比回归前后的结果并记录理由。完成预处理后,需检查每个样本的细胞数是否合理、QC 指标是否有未处理的极端离群群、双细胞候选率是否与平台装载量匹配,以及 counts layer/raw assay 是否保留完整——这些细节直接影响后续 PCA、聚类或 marker 分析的可重复性。
使用场景
- 拿到多样本原始计数矩阵,需按批次检查QC分布后设定过滤阈值
- 准备做PCA和聚类前,要把原始计数标准化并选择高变基因
- 处理含空液滴的raw矩阵,需识别并去除环境RNA
- 需要保存过滤后的原始计数供seurat_v3 HVG使用
适合人员
- 生物信息工程师,负责搭建可重复的scRNA-seq预处理流程
- 计算生物学研究员,需要按样本特性调整QC阈值并记录参数
- 生信团队技术负责人,审核预处理脚本的规范性和输出完整性