资料名称: PerturbAI Brain-Wide In Vivo CRISPR Atlas(v1.0),Hugging Face 上的 perturbai/wholebrain_crispr_atlas,版本修订号 a7c65dc0,数据集卡标注许可 CC BY 4.0;配套代码仓库 jinlabneurogenomics/distributed_agent(Distributed Agents,MIT 许可);两篇预印本为 Shi 等《Genome-scale functional mapping of the mammalian whole brain with in vivo Perturb-seq》(bioRxiv,2026-03-18,第 1 版)与 Sun 等《Distributed AI agents enable comprehensive discovery of biological insights at scale》(bioRxiv,2026-10-16,第 1 版)
帖内资料: 默认配置 Parquet 合起来 7,720,300 行、36 个字段的逐条说明,基因元数据表 19,070 行三列的字段与示例,数据集四种文件形态各自的分工,代码仓库里八份 BioEval 任务清单分别测什么,留一验证用到的 273 与 1,674 两个目标数怎么来的,以及公开数据、代码仓库与两篇预印本的入口
时间覆盖: 数据集版本修订于 2026-03-20,代码仓库最后更新 2026-10-24;图谱预印本为 2026-03-18 第 1 版,分布式智能体预印本为 2026-10-16 第 1 版
许可与引用: 数据集卡标注 CC BY 4.0,署名后可使用、改写与再分发,须保留署名与许可声明并标明改动;代码仓库为 MIT 许可;两份预印本以 CC BY 4.0 发布、版权归作者/资助方,引用按预印本标注版本与日期
适用任务: 熟悉单细胞扰动数据的字段与切分方式、按细胞类型或脑区取子集做差异表达练习、把八份 BioEval 任务当基准跑自己的流程、规划复现论文图表所需的存储与准备步骤
先看规模:772 万行不是一个模糊说法
默认配置(data 目录下 317 个 parquet 分片)合起来是 7,720,300 行、36 列,分在 1,553 个 row group 里。数据集卡把这一层称为 per-cell expression and metadata,也就是一行一个细胞:卡片写的是 7.7 million cells,19,070 个 mRNA、8,588 条 sgRNA。
基因元数据表(metadata/gene_metadata.parquet)单独给出 19,070 行、三列——gene_token_id、gene_name、gene_ids,前三行是 Xkr4、Rp1、Sox17,对应 ENSMUSG00000051951、ENSMUSG00000025900、ENSMUSG00000025902。
想把 token 编号换回基因名,查这张表就够。
基因数量上会看到两个数:卡片写 19,070 个 mRNA,仓库记录差异表达结果文件的清单给的是 17,994 个 measured_genes。两者统计对象不同,前者是表达矩阵的基因维度,后者是差异表达结果表里出现的基因数,论文里不要互相替换。
36 个字段,按四组读就不乱
第一组是质控:num_rna_umi、num_genes、pct_mt、scDblFinder.class 与 scDblFinder.score、log_ambient_mse 与 log_ambient_mse_norm、cluster、passes_qc。passes_qc 的判定条件在卡片里写死了四条——num_genes 不低于 2000、scDblFinder.class 为 singlet、log_ambient_mse_norm 大于 0.09、cluster 不在 1/17/2/3/57/6/83/NA 这批里。
自己筛细胞时照这四条来,别只取其中一两条。
第二组是扰动:gene_target 给出这个细胞被敲掉的基因,写法有四种——单个基因、gene1|gene2 这种多基因、Non_target(非靶向对照)、Negative(没检到足够多的 guide);num_guides 是按 3 UMI 阈值数出来的 guide 条数,guide_call 列出具体 guide,guide_umis、guide_umi_top、guide_umi_second 分别给总 UMI 数与前两条 guide 的 UMI 数。
做统计前先看 num_guides,多 guide 的细胞要不要剔除得先定规则。
第三组是细胞类型注释:predicted_class、predicted_subclass、predicted_supertype、predicted_cluster 四个层级各带一个概率列,都来自 MapMyCells 配 Allen Institute Whole Mouse Brain Taxonomy;predicted_group 是这项研究自己把 predicted_subclass 聚合出来的分组。
另有 neuron_type、neighborhood、region_level1、region_level2 四个派生列。
第四组是样本来源:batch(一个 Flex-pool)、scp_name(10x channel,一个 batch 会跑在多个 channel 上)、source、sex、sample_label(同一只鼠的左右半球常标 L/
R)。做批次校正时按 batch 还是按 scp_name 分组,要按自己的设计定。
四种文件形态,各管各的事
data 下的 317 个 parquet 是细胞级表达与元数据,适合按列取子集、按分区扫全量;metadata 下另有两个 parquet,all_obs.parquet 是整理好的细胞级元数据,gene_metadata.parquet 是上面那张 19,070 行的基因表。
h5ads 下有 14 个分片,按 WB8588_(批次_通道)命名,Scanpy、scvi-tools、Seurat、SingleCellExperiment 这一路走这里;卡片给的读法是用 AnnCollection 把 14 个分片以 backed 模式串成一个对象,再按 gene_target 与 passes_qc 取子集,避免一次性读进内存。
analysis 下还有一个 preprocessed_gex.zarr.tar.gz 归档,配 NVIDIA 的单细胞分析流程用;analysis/2603_shi_manuscript 目录是与论文图表对应的那批表,其中差异表达结果那个 parquet 是仓库记录里体积最大的一份,10,761,466,473 字节,仓库同时记了它的 sha256。
代码仓库那侧:八份任务清单在测什么
Distributed Agents 的思路写在预印本摘要里:把一个实验拆成很多份,各自派一个智能体去读,再把结果汇总成全研究层面的结论;在不知道原文结论的前提下,这些智能体的汇总复现出了原论文的判断,也预测了留一验证的扰动效应。摘要同时给了两条尺度——分布式智能体的文献覆盖量比单智能体高出数百倍,以及双盲评审里人类专家更偏好分布式智能体的解读。
仓库里 src/bioeval/benchmarks 下共八份任务清单,分成四组:depletion-odd-seed 一份,finding-caveats 按 30、50、50 不带文献、100 四个规模各一份,holdout-prediction 下有 deg-count 与 deg-identity 两份,literature-flags 一份。
每份都指定交付文件 trace.md 与 answer.txt,可用 DistributedAgents、Codex、Claude Code、Biomni 四种框架互相对照跑。
留一验证那一组给的是具体数字:holdout_perturbations.csv 登记 273 个目标,其中 272 个进入评估集,另有一个安全靶向对照在评估集之外;训练侧 151_TH_Prkcd_Grin2c_Glut_deg_counts_training.csv 给 1,674 个非留一目标的差异表达基因数,判定阈值是 pvals_adj 小于 0.05。
保存下来的答案分 distributed_agents 与 codex 两套,各三个重复。
想复现图表,先按存储量算一遍
仓库给的是一条命令式的准备流程:取回上面那份 10.8 GB 的 parquet、校验 sha256、生成不带计数与留一训练两个变体,再校验八份任务清单。README 写明要预留 35 GB 空闲,准备好的文件约占 31 GB;中断可以续传,已校验过的文件会复用。这一步之后才是 notebook 下的 fig1 到 fig4 与 figS3 到 figS11。
复现本身不需要模型调用:README 写明 notebook 只显示图、不导出图片或 HTML,保存好的答案与测量值都打在仓库里,跑一遍 prepare 再执行 fig3 与 figS9 就能重算留一验证的评估表。
────────────────
数据集页、代码仓库与两份预印本的入口,几处容易混用的口径差别,以及取用门槛和引用写法,都在下面,回复就能看到。
扫码加好友,拉您进群



收藏
