能验什么、怎么验

模态 ↔ Pipeline 验证映射

先记住一个决定性判断,它决定了哪些 pipeline 适合用它验收。

关键定位:端到端「验收测试」,不是数值「回归测试」

BioMysteryBench 的标准答案都是「对原始 / 最小处理数据做完整分析后得到的单一客观生物学结论」,且评分只看最终答案。所以它验证的是「你的 pipeline 从 raw data 出发跑完,最终能不能导出正确结论」——这是 黑盒级验收不是逐位点比对中间 BAM/VCF/矩阵的白盒数值测试。带着这个定位看下表。

映射表

基准覆盖的模态 → 你能用它验收的 pipeline

左列为基准覆盖的模态 / 官方示例任务,右列为可用对应题目验收的 pipeline 与命中点。

数据 / 任务可验收的 pipeline验证的命中点
scRNA-seq → 判器官 / 细胞类型单细胞 RNA-seq(比对·定量→聚类→注释)注释 / 聚类能否正确推出器官来源、细胞类型
bulk RNA-seq → 找敲除基因差异表达(比对→定量→DE)DE 能否定位被敲基因(应为 0 / 显著缺失)
RNA-seq → 病毒物种鉴定病原 / 宏转录组检测(去宿主→比病毒库)物种判定是否命中(有的经 PCR 正交验证)
WGS → 亲子 / 亲缘种系变异 calling(比对→GATK→亲缘 / 亲子)能否正确判定父本、母本
甲基化bisulfite(Bismark→甲基化 calling→DMR)下游甲基化状态 / 判别结论
ChIP-seq → peaks 判 TF / 细胞类型ChIP-seq(比对→MACS2→注释 / motif)peak 注释能否反推 TF(如 CTCF)/ 细胞类型
宏基因组 → 物种鉴定metagenomics(质控→kraken2 / MetaPhlAn)物种 / 功能分类是否命中
Hi-CHi-C(比对→接触矩阵→TAD / compartment)结构层面的判别结论
蛋白组 / 代谢组proteomics(MaxQuant / FragPipe)/ 代谢组(峰提取→注释)鉴定 / 注释类结论
蛋白质结构 (PDB) → 判物种结构 / 序列比对(BLAST vs PDB / UniProt)物种 / 同源判定

注:含单细胞 scRNA-seq;包含空间转录组(spatial)——空间组场景目前验不了,详见 FAQ

怎么落地

把它当验收集的 4 步

每道题 = 一份真实数据(data/<id>.zip)+ 明文答案(answer_rubric)。把它接进你的回归测试只需:

# 1) 取一道与你 pipeline 模态匹配的题,解压它的数据
unzip data/hb002.zip -d work/hb002

# 2) 用你自己的 pipeline 跑这份 raw data,产出最终结论
my_pipeline --in work/hb002 --out work/hb002/result.txt

# 3) 从 problems.csv 读该题的 answer_rubric(含 "The answer is X")
#    解析出期望答案,与 pipeline 结论比对
# 4) 命中即 PASS,纳入跨版本回归
assert pipeline_conclusion == expected_answer   # all-or-nothing

因为评分是 method-agnostic 的,你的实现路径和官方不同也没关系——只要最终结论对得上 rubric 答案即算通过。

两个实操要点

只用「专家可解」子集当基线

problems.csvhuman_solvable 字段。把 专家未解出 的 23 道排除在 pass/fail 基线之外——那是测前沿能力的,不是回归基线。

🎚️

适合「判别」,不适合「定量」

它只给定性的最终结论,不给金标准的 BAM/VCF/矩阵。要验数值精度,请配合 nf-core test-data、GIAB、SEQC、模拟数据——与它互补。

一句筛选法则

某道题能验你的 pipeline 它的模态匹配你的输入, 它的「正确答案」正好是你某个 pipeline 环节本该产出的结论。


下一步:怎么获取数据与合规边界 →