云生信学生物信息学

100 万细胞跑 Cell Ranger 10.1:512 GB 内存之外,还要防 1.61 TB 工作盘峰值

作者:发布于 2026-10-27约 9 分钟阅读
Cell Ranger 10.1百万细胞资源规划:512GB内存、2TB可用磁盘和1611GB工作盘高水位

单细胞项目做到几十万、上百万细胞后,最危险的误判是:软件最低要求只有 64 GB 内存,所以找一台“大一点的电脑”就能跑。Cell Ranger v10.1 的官方资源表给出了更清楚的分界——针对 100 万细胞的 Flex v2 GEX+AB+CRISPR 代表性数据,为把运行时间控制在两天以内,要求 32 核、512 GB RAM、2 TB 可用磁盘。

而官方 EC2 实测中,这个任务墙钟时间为 35.61 小时、消耗 561.57 core-hours,工作盘高水位达到 1611 GB。所以百万细胞任务不是“内存够就行”,而是 CPU、内存、NVMe、临时文件、并发和失败恢复必须一起规划。

Cell Ranger 10.1 百万细胞资源与服务器规划海报
Cell Ranger 百万细胞资源规划:内存、工作盘、NVMe、并发与失败恢复必须一起计算。

64 GB 是软件门槛,不是百万细胞配置

Cell Ranger v10.1 的基础硬件要求是 8 核、64 GB 内存、1.5 TB 可用磁盘,推荐 64 核、128 GB 内存;但官方同时强调,大数据集需要额外资源。下面数字来自 v10.1 系统要求与 AWS 时间试验,数据类型、读深和 feature 数不同,不能把任意项目机械套入同一档。

代表性数据 为低于2天给出的资源 官方墙钟时间 工作盘高水位
2万细胞,3’/5’/Flex GEX,1万~2万 reads/cell 8核、64 GB、0.5 TB 7.56小时 126 GB
32万细胞,Flex v1 GEX+AB,200 features 8核、64 GB、1 TB 32.7小时 621 GB
100万细胞,Flex v2 GEX+AB+CRISPR,500 features 32核、512 GB、2 TB 35.61小时 1611 GB

这里的 1611 GB 是磁盘高水位,不是内存峰值。它解释了为什么一台有 512 GB RAM、但工作目录只剩 1 TB 的节点仍可能失败。输入 FASTQ、参考基因组、pipestance、中间文件、BAM、矩阵与报告会在运行阶段同时存在,最终交付体积远小于过程峰值也很正常。

容量测算应从“一个项目”拆成“一个任务峰值”。例如 384 个样本并不等于要把 384 份结果同时常驻内存,但所有 FASTQ、解复用信息和多文库中间文件会进入同一个运行链路。最少要列出四项:输入数据总量、预计细胞与 reads、是否包含抗体或 CRISPR 库、是否保留 BAM。再按“输入 + 运行峰值 + 最终结果 + 重跑缓冲”分区,而不是看到官方写 2 TB 就只准备一个恰好 2 TB 的分区。

如果节点还承担其他任务,应以可独占资源计算,不能把机器标称 512 GB 全部交给 Cell Ranger。操作系统、监控、SSH 会话、文件缓存和其他用户都会占内存。磁盘也要看运行时真正可用空间,而不是阵列总容量;快照、回收站、配额和稀疏文件都可能让“看起来还有空间”与实际可写空间不一致。

先限制资源,再提交全量任务

Cell Ranger 本地模式默认使用可用内存的 90% 和全部核心。在共享服务器上直接运行,可能挤占其他用户;更稳妥的做法是显式限制资源,并给操作系统和文件缓存留下余量:

cellranger multi \
  --id=flexv2_million \
  --csv=multi_config.csv \
  --localcores=32 \
  --localmem=480

上例适用于总内存 512 GB 节点的资源控制示意,并不是所有百万细胞任务的固定答案。真正提交前,应检查样本数、预计细胞数、GEX reads/cell、Antibody/CRISPR feature 数、是否生成 BAM、参考版本和剩余磁盘。输入规模不同,峰值会明显变化。

Linux 限制也不能忽略。官方建议用户可打开文件数至少 16k,系统最大文件数按 Cell Ranger 可用内存每 GB 配 10k,用户进程数按每个可用核心 64。任务在高并发阶段报 “too many open files” 时,继续加内存通常无效,应先检查 ulimit -n、ulimit -u 和系统级限制。

本地 Azimuth 省去上传,但不能替代人工复核

v10.1 的一个重要更新,是人类样本默认可运行本地 Pan-Human Azimuth 注释,不需要 10x Cloud 账户。官方说明该模型基于 23 种组织、380 种细胞类型训练;算法在嵌入空间中为每个细胞查找 500 个近邻,参考使用前 128 个主成分。

这对数据不能离开本地环境的团队很有价值,但有三条边界。第一,只支持人类样本;第二,模型仍是 beta;第三,训练时排除了癌症数据。肿瘤、强扰动、发育阶段或疾病特异细胞不能把自动标签当作最终结论。输出中低于 100 UMI 的 barcode 会被标为 Unassigned 或 Low UMI Barcode,也应结合 QC 处理。

本地注释结果会进入 cell_types/Azimuth/,并在 web_summary.html 中显示。交付时不应只保留一列 fine cell type,还应同时保存 broad、coarse、fine 三层标签、参考模型信息和每类细胞数量。对于免疫细胞亚群、肿瘤细胞和稀有细胞,建议把自动标签与经典 marker、双细胞指标、样本来源和批次分布交叉核对;如果不同层级标签冲突,应先回到表达证据,而不是人为挑选更“好看”的名称。

同一批数据在升级 Cell Ranger 或参考模型后重新注释,标签比例可能改变。因此,流程记录中要同时写明 Cell Ranger 版本、转录组参考、Azimuth 模型版本和是否启用云端模型。只有固定这些信息,后续补样、返修或不同服务器重跑时,差异才有机会被解释。

如果选择 10x 的云端注释模型,数据会传输到 10x Cloud,并受相应条款和区域限制约束。项目有隐私、医院数据或伦理限制时,应在分析前确定使用本地 Azimuth、关闭注释,还是采用团队认可的其他本地参考映射流程,而不是跑到一半才处理合规问题。

百万细胞任务怎样做得更稳

第一,先用一部分 FASTQ 或较小批次完成预演,记录磁盘增长曲线、峰值内存、CPU 利用率和各阶段耗时。若 CPU 利用率长期低而磁盘队列很高,瓶颈更可能在共享存储;此时增加核心反而会放大 I/O 竞争。

预演样本不能只选数据量最小的一份。更合理的是选择 reads 较深、feature 较多、细胞回收量较高的代表样本,并检查多文库配对和 sample barcode 配置。这样测得的峰值更接近正式任务;若预演只覆盖最简单样本,放大到全量时仍可能在聚合、降维或注释阶段出现新的资源峰值。

第二,把工作目录放在本地 NVMe/SSD,完成后再把结果、日志和必要中间文件迁移到共享存储。官方也明确推荐 NVMe 或 SSD,而不是机械硬盘。至少保留 pipestance、完整命令、multi_config.csv、软件与参考版本,便于从失败阶段恢复和复现。

第三,百万细胞实验往往包含数十到数百个样本。不要同时启动多个 512 GB 级任务;应按节点真实内存与磁盘峰值限制并发。Cell Ranger 支持 Slurm 集群模式,官方也建议大型数据采用集群,但共享文件系统不稳定时,单个高内存节点可能更容易排错。

第四,流程跑完后仍要检查每样本 reads、有效 barcode、UMI、mapping、抗体或CRISPR feature、批次和细胞类型分布。Cell Ranger 10.1 的汇总 QC 能减少逐个打开报告的工作量,却不能替代对异常样本和自动注释的逐项核查。

如果你的任务卡在 128/512 GB 内存选择、2 TB 工作盘、Flex v2 多样本排队、本地 Azimuth、Slurm 或失败恢复,可以准备 Cell Ranger 版本、文库类型、样本与预计细胞数、reads/cell、feature 数、现有服务器和期望时间。云生信可先做资源测算与小规模基线,再确认租用环境自行运行、服务器环境部署交接或委托分析的范围。

联系云生信,咨询 Cell Ranger 百万细胞服务器与分析方案

参考资料

把知识用于当前任务

下一步可以直接开始分析

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

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