software

CellBender 去掉了哪些 RNA?用空液滴、标记基因和前后计数核查

作者:发布于 2026-11-14约 7 分钟阅读
同一个基因,哪些分子被扣掉。教学算例|在相同条形码和相同基因上对照原始与校正计数。120 → 108,分泌细胞,少了十二个分子,仍保留原始信号的九成。4 → 1,免疫细胞,少了三个分子,还需结合空滴背景和同类细胞。8 → 0,身份待确认,查其他标记及其来源,暂缓给它命名。

胰岛样本里,胰岛素转录本可能在许多看似无关的细胞中都出现。把所有带胰岛素计数的细胞都归为胰岛细胞,会忽略一个实验事实。细胞破裂释放的分子可以混入悬液,进入本来没有表达这一基因的液滴。反过来,把非目标细胞里的每一个胰岛素分子都手工删掉,也会抹去真实信号。CellBender 的 remove-background 用整份液滴计数学习背景。用好它,既要选对输入,也要查它从哪些细胞、哪些基因上扣除了多少。

空液滴也携带信息,先保留原始矩阵

输入通常是一个物理捕获批次的原始特征—条形码矩阵,例如 Cell Ranger 输出的 raw_feature_bc_matrix.h5。这时低分子数的条形码往往还能反映悬液中的环境成分。若只把已经筛好的细胞矩阵交给程序,很多用于学习背景的液滴已经消失。把过滤矩阵重新保存成一个名字含 raw 的文件,不会把它们找回来。若接手的是已经合并的多文库对象,应先追溯各文库原始输出和捕获信息。CellBender 的输入及使用说明

同一位供体的不同捕获批次也可能有不同的背景谱,尤其是处理时间、组织破碎程度或装载条件发生变化时。比较稳妥的做法是先按实际捕获分开建模,再按文库给条形码添加能区分来源的标识。若将两个文库简单拼在一起,而它们恰好共享一套条形码序列,会把两个无关液滴错误地看作同一个细胞。做前后对比时,应始终使用“文库和条形码”这一组身份信息。

先看排名曲线,再谈运行设置

把条形码按总分子数从高到低排列。较高区域多为含细胞液滴,较低区域可能出现由环境分子形成的平台。若低计数区域几乎没有背景分子,模型能从中扣掉的背景本来也可能很少。如果整张曲线都被严重背景淹没、细胞和低计数平台很难区分,也不宜把算法输出当作实验质量已经恢复的证明。先保存原始曲线和建库记录,再判断适合做校正、需要重新检查参数,还是应回到实验环节查样本质量。

对于预期细胞数和纳入计算的液滴数,不能直接照抄另一个组织的参数。应让纳入的条形码覆盖预期细胞和足够的背景区域,然后检查输出的细胞概率、拟合诊断和报告中的异常提示。下面给出一个最小命令,输入是未过滤矩阵,输出另存。官方示例可在适用环境中加 --cuda。查看实际版本时,尤其要核对该版的默认参数和输出文件名。命令行及参数参考

cellbender remove-background \
  --input raw_feature_bc_matrix.h5 \
  --output corrected.h5

选三种条形码,逐个基因看差值

设下面是一个虚构的教学样本。只观察同一个高丰度分泌基因,数值是去重后的分子计数。先确保前后矩阵使用相同特征编号和同一细胞条形码,再做减法。若一个条形码只出现在过滤前,把它记为“未进入此次对照”,不要把整列缺失误写成“该细胞所有基因校正为零”。

观察对象 校正前 校正后 怎样解释这个差值
一枚分泌细胞 120 108 原信号大多保留,仍需看其他谱系标记
一枚免疫细胞 4 1 减少三个,检查同类细胞和空滴是否普遍有背景
一枚组织来源不明的细胞 8 0 暂缓身份判断,回看其他基因及其标记组合
同一个基因,哪些分子被扣掉。教学算例|在相同条形码和相同基因上对照原始与校正计数。120 → 108,分泌细胞,少了十二个分子,仍保留原始信号的九成。4 → 1,免疫细胞,少了三个分子,还需结合空滴背景和同类细胞。8 → 0,身份待确认,查其他标记及其来源,暂缓给它命名。
教学算例|在相同条形码和相同基因上对照原始与校正计数。

表里的第一枚细胞损失十二个分子,比第二枚损失的三个多。但如果看比例,第一枚保留百分之九十,第二枚只保留四分之一。只做全基因绝对差值排名,很可能把本来读深的真实来源细胞排在最前面。只看百分比又会让一到零这样的低计数变化显得极端。实际报告中应同时记录校正前的分子数、绝对差值、相对差值,并按细胞类型和文库分层。原始值为零时,相对变化没有合适的分母,不要硬给出一个百分比。

另做一张只针对共同细胞的汇总表,能发现细胞名单改变造成的假象。设原来十枚免疫细胞中有四枚检出这个基因,校正后只保留了其中五枚,而原来四枚阳性恰好只有一枚在这五枚中。直接比较四成和两成会把筛细胞也算作去背景的功劳。先限定五枚共同细胞,在校正前后用同一分母计算检出率,再另列被排除的五枚及质量特征。如果共同细胞里的那枚阳性校正后仍有一个分子,则共同集合的阳性比例根本没有变化。条形码筛选效应和计数变化由此可以分别核对。

实跑经验|环境基因确实被扣掉,原本不表达的细胞仍能留有计数

我们安装 CellBender 0.4.0,用 CPU 对一份带已知真值的模拟原始矩阵运行 remove-background。这份矩阵有两千个条形码、一百二十个基因。两群各八十枚真实细胞,一群自身表达目标基因,另一群自身完全不表达,全部液滴再加入富含该基因的环境分子。输入随机种子为三十七,预期细胞数设为一百六十,将待分析液滴总数设为六百五十,训练八十轮。日志分列一百六十个很可能含细胞的条形码、另外四百九十个候选和一千三百四十六个空滴,目标假阳性率参数为 0.01。两群的条形码全部出现在过滤输出,另外一千八百四十个模拟空滴均未入选。作者给出的 CPU 小规模示范

按原条形码和基因名对齐后再求和。真实来源群的目标基因从 14,113 减到 12,573,约保留百分之八十九。不表达群从 1,247 减到 354,中位数从 15.5 减到 4.5。知道人工生成的真值,才能明确这三百五十四个剩余计数仍属于背景。换到真实样本中,不能据此把所有低表达一律删净,也不能仅凭校正后仍有几个分子就认定存在跨谱系表达。我们是从两份 HDF5 矩阵直接核的账。首次运行已写出矩阵,日志却显示找不到生成网页报告的 Jupyter 命令。把当前 Python 环境的可执行目录加入子进程搜索路径,使用相同矩阵和训练检查点重跑,网页文件生成,三组计数复算完全一致,但逐图查看才发现,绘图代码在 pandas 3.1.1 环境中抛出了索引错误,网页只嵌入六幅图。保留同一份校正矩阵,用 pandas 2.2.3 和 AnnData 0.12.19 单独执行作者的报告绘图函数,并让执行器遇到异常立即停止,这次正常嵌入七幅图。复查结果时可以先核矩阵,再检查网页内的报错和预期图数,避免把作图故障误认为需要重新训练。

哪些证据提示可能扣多了,哪些提示还有残留

若某个标记在许多无关谱系中低水平出现,而空液滴也富含同一标记,校正后这些零星信号下降、正常来源细胞的整组标记仍然共现,这是一致的线索。若某个稀有细胞群的一整组已知标记在校正后同时消失,先查这个群体是否本来就分子数较少、是否只见于某份文库,以及是否有独立的蛋白或组织学证据。不要仅以“图上背景变干净了”决定哪一版结果更好。两枚真实细胞进入同一液滴产生的双细胞,也需要单独的证据识别。

实际可以把核查分成发现和验证两步。先从空液滴或软件报告挑出背景中丰度靠前的基因,再额外挑几种事先有谱系依据的标记和一组低背景对照基因,分别画出原始与校正计数。若只挑最符合预期的几个例子,读者无法看出其他基因受到多大影响。对于要写进摘要的罕见群或跨谱系表达,保留两版聚类或标记结果,在同一组共同细胞上重复关键判断,并交代结论对校正是否敏感。

归档时除了校正矩阵,还要保留原始矩阵、每批运行的命令及输出报告,并明确细胞列表来自哪一步。这样将来有人问某个基因究竟是低表达还是被模型扣掉,才有证据追溯。确定好这套核查方法后,若要长期处理持续新增的同类文库,可了解云生信的生物信息分析服务器。

把知识用于当前任务

下一步可以直接开始分析

按研究目标查找在线工具、课程、计算资源或完整分析服务。

按目标找方案仍有疑问,联系客服 ↗