本技能用于在单细胞 RNA-seq 数据中标记并去除双细胞(一个液滴中捕获两个或更多细胞),避免其伪装成虚假的中间细胞状态。核心原则:双细胞会制造假生物学信号,目标不是得到“无双细胞”数据集,而是避免错误结论。
用途与主要能力:介绍三类主流方法。scDblFinder(R)基于 xgboost 对 kNN 特征分类,是准确度与速度平衡的默认选择,通过 samples= 参数按样本处理;Scrublet(Python)基于模拟双细胞的 kNN 密度,适合 scanpy 流程,需按样本循环;DoubletFinder(R)基于 PC 邻域 pANN,用于旧版 Seurat 流程,但较脆弱、需逐数据集调 pK,且 *_v3 函数名已移除。其他可选:solo(scVI VAE)、scds cxds/bcds/hybrid。
必要用法:Python 用 sc.pp.scrublet() 处理原始计数,期望率按 0.008×回收细胞数/1000 估算,而非默认占位值 0.05;R 用 scDblFinder(sce, samples=...) 按样本处理,dbr 默认由细胞数推算。所有方法均要求按样本、在整合或聚类之前检测,并基于基础 QC 后的原始计数。合并样本上调用无意义。
适用场景:单细胞数据预处理后、聚类与轨迹推断之前。检测到的双细胞会污染轨迹推断与 RNA 速度。
限制:同型双细胞(同类型两细胞)几乎无法用表达量方法检出,报告的“双细胞率”仅覆盖异型可检测部分;过度去除会误删真实高 RNA 细胞(如巨核细胞、浆细胞),且双细胞打分与总计数相关,与基于计数的 QC 双重惩罚。模拟双细胞只是近似模型,方法总体召回有限。多重混样时物理双细胞率由整条泳道总上样量决定,不能由单个样本推算。建议标记后人工核查,而非盲目删除;有条件时用 cell hashing 或 MULTI-seq 作为互补验证。版本兼容性需以实际安装版本为准。