Human Protein Atlas — 人类蛋白组织表达图谱 AI-Ready Wikipedia

27,800+ 抗体、1,000 万张标注蛋白图像,覆盖 87% 人类蛋白编码基因

来源 瑞典 KTH 皇家理工学院 & SciLifeLab(Knut and Alice Wallenberg 基金会资助) url: https://www.proteinatlas.org/发布时间: 2026-09-14最后更新: 2026-09-25 阅读 30
Human Protein Atlas — 人类蛋白组织表达图谱 AI-Ready Wikipedia

信息速览

数据集名称Human Protein Atlas — 人类蛋白组织表达图谱 AI-Ready Wikipedia
数据类型>27,800 种抗体,1,000 万+ 手动标注图像,45 种正常组织 TMA,9 大子库(v25),TSV/XML 免费下载,CC BY-SA 3.0
规模约 300,000 个生物样本(v25,匿名化正常与疾病组织供体)
接入方式瑞典 KTH 皇家理工学院 & SciLifeLab(Knut and Alice Wallenberg 基金会资助) url: https://www.proteinatlas.org/
AI 就绪度

数据集封面

Human Protein Atlas — 人类蛋白组织表达图谱 AI-Ready Wikipedia


INFOBOX

数据集名称 Human Protein Atlas(HPA)
英文全称 The Human Protein Atlas
别名/简称 HPA、proteinatlas.org、人类蛋白图谱
疾病分类 泛疾病谱蛋白表达参考(ICD-11:2A00-2F9Z 恶性肿瘤谱 / 8A00 神经系统变性 / 5A11 糖尿病等,详见 §2.1)
SNOMED CT 254837009 Malignant tumor of breast / 363358000 Malignant tumor of prostate / 40399004 Glioma(详见 §2.1b)
数据模态 IHC 染色组织图像 + 免疫荧光亚细胞图像 + 转录组(RNA-seq/CAGE)+ 靶向质谱蛋白组
AI 任务类型 多标签亚细胞定位分类、组织表达模式分类、病理染色评分、生存建模、多模态 RNA-蛋白整合
样本总数 >27,800 种抗体 / >17,300 个基因 / >10,000,000 张标注图像 / 约 300,000 个生物样本(v25)
数据大小 注释数据单文件 0.2-4.9 MB(TSV zip)+ 全库 XML(gzip);1,000 万+ 图像散布于站点,无官方批量打包
数据格式 TSV / CSV / XML / RDF / JSON + JPEG(网页图像)
许可证 Creative Commons Attribution-ShareAlike 3.0 International(CC BY-SA 3.0)
访问级别 开放(无需注册,商用需联系官方)
DUO 标签 NRES, PUB
语言 英文
首发日期 2005(门户上线)/ 2015-01-23(Science 主论文)
最后更新 2026-05-28(v25.1,Deep Visual Proteomics 集成)
发布机构 KTH 皇家理工学院 & SciLifeLab(Knut and Alice Wallenberg 基金会资助)
官方主页 https://www.proteinatlas.org/
下载地址 https://www.proteinatlas.org/about/download
DOI 10.1126/science.1260419(主论文)
引用次数 约 3,000 篇/年(HPA 官方年度总结,截至 2026-01)
AI 就绪度评分 ⭐⭐⭐(3/5)— 注释 TSV 一键下载、Kaggle 基准划分齐全;扣分项:图像无官方批量包、多版本快照易错配、蛋白标签非像素级
页面状态 published

§0 E-E-A-T 信任声明与免责声明

医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11 与 SNOMED CT 映射、蛋白表达评分与临床任务定义、金标准描述)、§7 偏倚分析。

数据工程审核者:千方病案医学编辑部交叉审核:医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。

审核日期:2026-09-05

审核方式:交叉审核

利益冲突声明:千方病案医数集与 KTH 皇家理工学院、SciLifeLab、Knut and Alice Wallenberg 基金会无任何商业利益关联。本页面不销售 Human Protein Atlas 数据集本身,仅提供 AI 就绪指南与学术信息服务。编辑者未接受上述机构的任何形式资助。

医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。

技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。Human Protein Atlas 采用 CC BY-SA 3.0 International 许可,使用时须引用主论文并注明 www.proteinatlas.org 来源,引用具体图像须附版本化 URL;商业用途需联系 contact@proteinatlas.org。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。


§1 数据集概览

§1.0 📌 30 秒速览

这是什么? 人类蛋白图谱(Human Protein Atlas,HPA)是一个来自瑞典的开放获取科学数据库。它的目标是把人体内每一种蛋白质"画"出来:通过抗体染色技术,让目标蛋白在显微镜下显色,再由病理学家逐一标注它在 45 种正常组织、20 余种癌症组织以及单个细胞内部的位置和数量。截至 v25 版本,该图谱已积累超过 27,800 种抗体、覆盖 17,300 余个蛋白编码基因(约占人类蛋白编码基因组的 87%),并配有 1,000 万余张人工标注的高分辨率显微图像。

为什么重要? 基因组告诉我们人体有哪些"零件",而蛋白质图谱告诉我们每个零件"装在哪里、有多少"。一个蛋白只在大脑表达还是在全身都有?它在癌细胞里异常增多还是消失?这些问题直接决定药物靶点和诊断标志物的选择。HPA 由 Knut and Alice Wallenberg 基金会资助、基于 SciLifeLab 运行,已被选为全球核心生物数据资源(Global Core Biodata Resource)和欧洲 ELIXIR 核心资源,每年支撑约 3,000 篇论文的引用。

我能用它做什么? 对医疗 AI 研究者而言,HPA 提供三类可直接落地的任务素材:一是 2018 年 Kaggle 竞赛发布的 42,774 张四通道免疫荧光图像,用于多标签亚细胞定位分类(28 类、每图 1-6 个标签);二是 TSV 格式的蛋白-组织-细胞类型表达矩阵,用于表格建模与多模态融合;三是散布于全站的 IHC 组织染色图像与对应注释,用于弱监督病理预训练与图像-文本检索。所有注释数据可免费一键下载,图像按需获取。

§1.1 技术摘要

HPA 采用"抗体成像 + 转录组 + 质谱蛋白组"三线并行的整合策略。蛋白层面:项目自研 HPA 系列抗体并引入商业抗体,将抗体应用于 1 mm 组织微阵列(TMA)芯进行 DAB 免疫组化染色,每组织 3 名匿名供体(个别组织 6 名),全切片扫描后由病理学家按"染色强度 × 阳性细胞比例"人工评分,映射为 Not detected / Low / Medium / High 四级表达;亚细胞层面:抗体在细胞系上做四通道免疫荧光(目标蛋白-绿、微管-红、细胞核-蓝、内质网-黄),共聚焦成像后标注 30 余种亚细胞结构。RNA 层面:整合 HPA 自产 RNA-seq(51 种组织)、GTEx 与 FANTOM5 三源数据生成共识归一化表达(NX)。每张抗体图像附应用级验证结论(Enhanced / Supported / Approved / Uncertain 四级),v24 中 3,931 个蛋白已通过五类增强验证策略。数据库每年发布一个主版本,历史版本以 vXX.proteinatlas.org 快照形式永久可访问。

§1.2 战略价值

维度一:蛋白空间组学的"公共地面真值"。 在空间蛋白质组学领域,HPA 是唯一同时覆盖全蛋白组尺度、带人工标注图像、且每年持续更新的开放资源。截至 2025 年,HPA 累计发表 1,000 篇同行评审论文,月访问量约 500,000 次,年引用约 3,000 篇。对 AI 团队而言,这意味着:(1) 用它训练的蛋白定位分类器可以直接作为特征提取器或弱标签生成器,迁移到细胞生物学与病理任务;(2) 它的四级表达评分和四级抗体验证等级为"标签可信度分层训练"提供了天然载体——这是大多数同行数据集不具备的元信息。

维度二:从 Kaggle 竞赛到专家基准的完整生态。 HPA 是少数把"数据 → 竞赛 → 系统性论文分析 → 模型动物园"闭环做全的医学图像数据集:2018 年 Kaggle 竞赛(2,172 支队伍)之后,主办方在 Nature Methods(2019)系统分析了获胜方案,确认最优模型 macro F1 约 0.59、显著优于此前 SOTA Loc-CAT 的约 0.47、但仍低于人类专家的约 0.71。这条"专家差距曲线"为后续多标签分类、类不平衡学习研究提供了可复现的参照系,也让 HPA 成为检验类不平衡与度量学习方法的标配基准。

维度三:多模态对齐的"教科书级"基础设施。 对每个基因,HPA 同时给出蛋白四级表达(图像 + 评分)、亚细胞多标签(图像 + 置信级)、共识 mRNA 定量(HPA/GTEx/FANTOM5 三源)、血浆蛋白组(Olink/SomaScan)与 AlphaFold 3D 结构(v24 起超 80,000 个亚型)。同一 ENSG 主键贯穿全部模态,且每条断言可回溯至具体抗体与验证等级——这意味着多模态融合、跨模态检索、"RNA-蛋白不一致"建模等前沿课题无需自行拼接数据源,是同类资源中工程完备度最高的选择。

§1.3 同类数据集横向对比

数据集 规模 模态 标注 与 HPA 的差异化
Human Protein Atlas(v25) >27,800 抗体 / >10,000,000 标注图像 IHC + 四通道 IF + RNA-seq + 血浆蛋白组 病理学家人工四级评分 + 多标签定位 全蛋白组覆盖、年更、图像+注释+验证等级三位一体
GTEx 约 950 名供体、54 组织 RNA-seq / 全基因组 转录组定量 仅 RNA 层,无蛋白图像;是 HPA 共识表达的三大来源之一
TCGA 11,000+ 例、33 癌种 WSI 病理 + RNA-seq + 临床 癌症诊断与生存 肿瘤导向、全切片;HPA 以正常组织参考 + TMA 芯互补
Allen Brain Atlas 小鼠/人脑 原位杂交 + RNA-seq 区域表达 仅脑;HPA Brain 资源与其直接互引
Human Cell Atlas 多项目联盟 scRNA-seq 为主 细胞类型注释 单细胞转录组导向;HPA Single Cell 资源与其互补

§1.4 版本时间轴

版本 发布时间 关键变化 来源
19 2019 新增 Blood、Brain、Metabolic 三个 Atlas;>26,000 抗体、>17,000 蛋白 官方历史页
21 2021 达 10 个 sections,新增 Single Cell Type、Tissue Cell Type、Cell line 官方历史页
22 2022 新增 Structure(AlphaFold 预测)与 Disease Blood Atlas;Tissue 多重空间染色更新 官方历史页
23 2023-06-19 换用 Ensembl v109 基因组组装(20,162 蛋白编码基因);新增 Interaction section 官方新闻稿
24 2024-10-22 12 sections 重组为 8 resources;>27,800 抗体;Pan-Disease Blood Atlas;脑皮层空间转录组;3,931 蛋白完成增强验证 官方发布说明
25 2025-11 9 大资源;>10,000,000 张手动标注图像、约 300,000 生物样本;Blood 覆盖 71 种疾病;Single Cell 覆盖 154 种细胞类型 官方新闻稿
25.1 2026-05-28 Single Cell 资源集成 Deep Visual Proteomics 单细胞质谱蛋白组 官方新闻稿

§1.5 典型应用场景

  1. 多标签亚细胞定位分类:以 Kaggle 2018 数据(42,774 张四通道图像、28 类)训练 CNN/ViT 分类器,替代人工标注蛋白定位,是 HPA 最成熟的 AI 任务。
  2. 弱监督病理预训练:以全站 IHC 图像 + 四级表达注释做自监督/弱监督预训练,再迁移到胃癌、乳腺癌等 TCGA 全切片任务。
  3. 多模态 RNA-蛋白整合建模:以 normal_tissue.tsv 的四级蛋白评分与共识 RNA NX 值构建配对监督,研究翻译调控与"mRNA-蛋白不一致"现象。
  4. 生物标志物优先级排序:结合 Cancer 资源的染色分布与生存 log-rank 注释,筛选组织特异且预后相关的分泌蛋白作为诊断靶点。
  5. 零样本蛋白功能注释:以图像表征检索相似染色模式,为未表征蛋白提供亚细胞定位假设。
  6. 教学与可解释性研究:HPA 图像-标签对应关系直观、细粒度元数据完备,是讲授多标签分类、类不平衡与医学图像伦理的理想教学载体;Grad-CAM 等可解释性方法可与其病理学注释直接对话。

§2 医学背景

§2.1 ICD-11 编码映射

HPA 本身是全蛋白组参考资源,其疾病维度集中于 Cancer(病理染色 + 生存)、Blood(71 种疾病血浆蛋白谱)与 Brain(脑区蛋白分布)三大资源。下表列出本数据集分析流程中最常涉及的疾病域及其 ICD-11 编码:

标签/疾病域 ICD-11 编码 ICD-11 中文名 在 HPA 中的位置
恶性肿瘤总谱 2A00-2F9Z 恶性肿瘤各章编码区间 Cancer 资源(TMA 染色 + 生存分析)
乳腺恶性肿瘤 2E60 乳腺恶性肿瘤 Cancer 资源、组织染色谱系
前列腺恶性肿瘤 2C82 前列腺恶性肿瘤 Cancer 资源、组织染色谱系
胶质瘤 2A00.10 弥漫性星形细胞瘤等 Cancer 与 Brain 资源交叉
血液肿瘤与白血病 2A60-2B33 淋巴、造血组织恶性肿瘤 Blood 资源(疾病血浆蛋白谱)
自身免疫病 4A40-4B4Z 系统性自身免疫病等 Blood 资源(71 种疾病覆盖)
2 型糖尿病 5A11 2 型糖尿病 Blood 资源代谢疾病域
阿尔茨海默病 8A00.0 阿尔茨海默病痴呆 Brain 资源(脑区蛋白分布)
正常组织参考 XR8S0C 正常生理状态参照 Tissue 资源全部 45 种组织

§2.1b SNOMED CT 映射

标签/概念 ICD-11 SNOMED CT 码 SNOMED 术语
乳腺恶性肿瘤 2E60 254837009 Malignant tumor of breast
前列腺恶性肿瘤 2C82 363358000 Malignant tumor of prostate
胶质瘤 2A00 40399004 Glioma
免疫组化检测流程 — 103701008 Immunohistochemistry method(染色相关操作概念族)
抗体染色的形态学评估 — 250425006 Morphologic abnormality interpretation(病理形态学评估概念族)

说明:HPA 官方未对自身条目发布 ICD-11/SNOMED 映射,上表为千方病案医学编辑部按疾病域与操作概念整理的参考映射,用于跨库联合分析时对齐表结构,不代表官方术语绑定。

§2.2 疾病背景与流行病学

恶性肿瘤是全球主要死因之一,而绝大多数现代靶向抗癌药(如 HER2 抑制剂、PD-L1 抗体)的有效性验证均依赖免疫组化(IHC)染色评估靶蛋白在肿瘤组织中的表达。HPA 的 Cancer 资源为 20 余种癌症类型提供了蛋白染色谱系与 TCGA 转录组生存关联(log-rank 检验的 favorable/unfavorable 注释),使研究者能在进入临床队列之前,先在开放数据中预筛"组织特异 + 预后相关"的候选标志物。Brain 资源覆盖人、猪、小鼠三物种脑区蛋白分布,支撑神经退行性疾病研究;Blood 资源在 2025 年扩展至 71 种疾病、8,262 名供体的血浆蛋白谱(Olink Explore 与 SomaScan 平台),为液体活检标志物开发提供系统参照。

从转化研究视角看,HPA 补齐了"基因组 → 转录组 → 蛋白组 → 空间定位"链条中最难标准化的蛋白空间环节:Uhlen 2015 主论文揭示近半数人类基因在所有检测组织中表达(housekeeping 特征),而组织富集基因最多的依次是睾丸、脑与肝脏——这一分布直接影响候选药物的毒性预判与诊断抗体的组织选择。Cancer 资源把蛋白染色(病理科语言)与 mRNA 生存分析(流行病学语言)放在同一基因页面内,成为跨学科团队对齐语汇的事实标准。

§2.3 临床任务定义

  • 筛查/诊断:IHC 是病理科的日常诊断工具(如 HER2 0/1+/2+/3+ 评分决定乳腺癌抗 HER2 治疗路径)。HPA 提供 45 种正常组织的染色"阴性参照",帮助区分生理表达与病理异常。
  • 分级:Cancer 资源按 Not detected / Low / Medium / High 记录每种蛋白在各癌种中的染色患者计数,可对齐临床 IHC 评分习惯。
  • 预后:pathology.tsv 提供 mRNA 表达水平与患者生存的 log-rank 注释(prognostic-favorable / unfavorable 等),供生存模型构造弱标签。
  • 亚细胞定位:蛋白在核、质、膜、线粒体等 30 余种结构的分布直接关联药物可及性(膜蛋白 vs 核蛋白)与功能推断。

§2.4 患者与样本人群

维度 描述
来源机构 Uppsala 大学医院临床病理科(Uppsala Biobank 体系),瑞典
样本性质 手术切除多余组织(正常组织参考)与病理确诊的肿瘤组织,全部匿名化
供体构成 每组织 3 名匿名供体;endometrium、skin、soft tissue、stomach 各 6 名;儿童组织另由参与医院补充
伦理批准 Uppsala 伦理审查委员会批准与咨询报告;依瑞典法律采集处理
可得元数据 性别、年龄、诊断、分级(如已知);无更细粒度患者信息(官方 FAQ 明确拒绝追加)
疾病谱 癌症染色谱系 + 2025 年扩展的 71 种疾病血浆蛋白谱(8,262 名供体)

§2.5 临床价值

HPA 对临床的价值链为:靶点发现 → 诊断抗体开发 → IHC 参照建立。分泌蛋白图谱(Human Secretome)与膜蛋白分析帮助药企筛选可成药靶点;正常组织的完整染色参照可预判候选靶点的脱靶毒性组织(如心脏或中枢高表达即预警);对病理科而言,HPA 的免费 IHC 图像是新抗体上市前最常用的文献级参照。对 AI 团队而言,这条价值链意味着"表达特异性 × 预后显著性 × 可药性"三要素均可从 TSV 注释中直接量化,是标志物排序模型的标准特征集。

§2.6 金标准对照

项目 HPA 的"金标准"形态
划分方式 网站图谱无官方训练/测试划分;Kaggle 2018 竞赛数据有官方划分(31,072 训练 / 11,702 测试)
标注方式 病理学家/训练有素标注员按"染色强度 × 阳性比例"人工评分;亚细胞定位按标准化管线多标签标注(1-6 标签/图)
标注者资质 认证病理学家(IHC 评分);专家级标注员(IF 定位,Nature Methods 论文报告专家水平 macro F1 约 0.71)
一致性机制 同基因多抗体交叉验证(collective score);四级 Reliability 分级(Enhanced/Supported/Approved/Uncertain);与 RNA-seq、UniProt 文献三方一致性核对
标注性质 知识驱动的人工标注(knowledge-based annotation),非像素级分割掩码

§3 数据集规格

§3.0 版本抉择矩阵

你的需求 推荐版本 大小 理由
最新注释与最大疾病覆盖 v25 / v25.1 TSV/XML 若干 MB 级 9 大资源、Blood 71 疾病、Single Cell 154 细胞类型
稳定表格数据复现论文 v20.0 / v20.1 normal_tissue.tsv.zip 4.9 MB 等 大量 2021-2023 论文基于 v20 系列,快照 URL 永久可访问
图像分类基准训练 Kaggle 2018 竞赛数据 约 4 GB(四通道 png) 唯一自带官方训练/测试划分的图像包,42,774 张
抗体验证方法学研究 v19-v21 快照 在线快照 抗体验证文档在各版本在线页完整保留,vXX.proteinatlas.org

§3.1 模态详情

  • IHC 组织染色(Tissue/Cancer):1 mm TMA 芯、DAB 棕色显色、苏木精衬染、全芯扫描 JPEG。每基因 1-N 张抗体 × 每组织多供体芯。输出为四级表达评分 + 病理学家空间注释(按细胞类型)。
  • 免疫荧光亚细胞成像(Subcellular/Cell line):四通道共聚焦——目标蛋白(绿)、微管(红)、细胞核(蓝)、内质网(黄);默认 U-2 OS 细胞系 + 按表达筛选的第二细胞系。输出为 30 余种亚细胞结构的多标签(含 Enhanced/Supported/Approved/Uncertain 置信分级)。
  • 转录组:HPA 自产 RNA-seq(51 种正常组织冷冻样本)+ GTEx(37 组织)+ FANTOM5 CAGE(60 组织)整合为共识归一化表达 NX;另有单细胞/单核 RNA-seq(v25 覆盖 154 种细胞类型)。
  • 血浆蛋白组(Blood):Olink Explore(PEA 近端延伸检测)与 SomaScan 适配体平台、TMT 质谱,覆盖 71 种疾病、8,262 名供体、最高 5,416 种蛋白。

§3.2 子资源构成表

子资源(v25,9 大资源) 内容 关键数字
Tissue 正常组织 IHC 蛋白定位 + 共识 mRNA 45 种组织、15,312 个基因有蛋白数据(76%)
Brain 人/猪/小鼠脑区蛋白分布 多脑区、跨物种、空间转录组(v24 起脑皮层)
Single Cell 单细胞/单核转录组 + 组织细胞类型 154 种细胞类型(v25)、250 万脑细胞核
Subcellular IF 亚细胞定位 30 余种结构、多标签
Cancer 癌组织 IHC 染色 + TCGA 生存 多癌种、log-rank 预后注释
Blood 血浆蛋白谱 + 疾病指纹 71 种疾病、8,262 人、最高 5,416 蛋白
Cell line 癌细胞系表达与模型匹配 542 种细胞系蛋白组数据(v24 起)
Structure AlphaFold 预测 3D 结构 + 变异 >80,000 个蛋白亚型结构(v24)
Interaction 蛋白-蛋白互作与代谢网络 23,000 个 PPI 预测结构(v25)

§3.3 数据格式表

数据对象 格式 获取方式
注释表(normal_tissue、pathology、subcellular_location、RNA、consensus 等) TSV(zip) 下载页直链一键下载
全库结构化数据 XML(gzip)/ RDF(trig)/ JSON 下载页直链;单基因 URL 加后缀 .xml/.tsv/.json/.trig
网页图像(IHC/IF) JPEG 解析 XML 中 imageUrl 元素逐张获取(无官方批量包)
RNA 原始 counts FASTQ/计数矩阵 ArrayExpress E-MTAB-1733(组织)、PRJNA183192(细胞系)
Kaggle 竞赛图像 png 四通道(red/green/blue/yellow) Kaggle 官方页面(42,774 张)

§3.4 存储大小

注释数据层面:v20.1 下载页列明 normal_tissue.tsv.zip 4.9 MB、pathology.tsv.zip 3.4 MB、subcellular_location.tsv.zip 207 KB,全库 XML gzip 压缩为单文件(解压后数十 GB 级文本)。图像层面:1,000 万余张 JPEG 散布于站点,无官方批量打包;Uhlen 2015 论文报告 Tissue Atlas 即含超过 1,300 万张 IHC 图像的生成记录,实际抓取量取决于目标基因子集。Kaggle 竞赛图像包(含 512 级缩放与全尺寸 2048×2048 / 3072×3072 两版)在压缩状态约数 GB。建议规划磁盘:注释复现 5 GB 以内;全量图像镜像 1 TB 以上。

§3.5 标注方式

  • 人工标注(主):IHC 染色由病理学家按强度(negative/weak/moderate/strong)与阳性细胞比例(<25% / 25-75% / >75%)双维度评分,自动映射为四级表达;亚细胞图像按标准化管线人工多标签标注。
  • 知识驱动共识(knowledge-based annotation):当同一基因有多个抗体时,综合抗体 staining、RNA 一致性与文献(UniProt 为主要来源)给出 collective score。
  • 公民科学(补充):2018 年通过游戏 EVE Online 收集超过 300,000 名玩家共 33,000,000 次分类,用于训练定位预测模型(Nat Biotechnol 2018)。

§3.6 标注者资质与一致性

IHC 评分由认证病理学家完成;亚细胞定位由经过标准化管线训练的专家标注员完成。一致性参照系来自 Nature Methods(2019)竞赛分析:人类专家在同一任务上的 macro F1 约 0.71,可视为该标注体系的"专家上界";最优 AI 模型约 0.59,此前自动化方法 Loc-CAT 约 0.47。抗体层面的一致性通过四级验证等级(Enhanced / Supported / Approved / Uncertain)与 RNA-seq / UniProt / 独立抗体三方核对显式记录,使用者可按 Reliability 列直接过滤。

§3.7 采集周期

数据库每年发布一个主版本(v23 于 2023-06、v24 于 2024-10、v25 于 2025-11),版本间新增抗体表征、重注释既有基因并调整资源结构;历史版本以 vXX.proteinatlas.org 快照永久保留。组织样本采集自 2003 年项目启动起持续进行,RNA-seq 自产数据基于冷冻组织累计 51 种正常组织。

§3.8 地域覆盖

组织样本主要来自瑞典 Uppsala 大学医院(Uppsala Biobank);细胞系来自国际标准细胞库;Single Cell 与 Blood 资源整合多个国际队列(2025 年 Disease Blood Atlas 为 111 名合著者的国际合作项目)。主数据集供体人群以北欧为主,属地理/族群偏倚(详见 §7.1)。

§3.9 设备与实验规格

  • TMA:1 mm 组织芯,DAB 显色 + 苏木精衬染,HIER 抗原修复(pH 6 或 pH 9),抗体稀释度逐抗体记录(如 1:450 / 1:900)。
  • IF:共聚焦高内涵成像,抗体绿色通道,微管红色、核蓝色、内质网黄色参照通道;10× 与 40× 物镜。
  • 质谱/PEA:Olink Explore 与 Olink Explore HT、SomaScan 适配体平台、TMT 标记靶向质谱(含稳定同位素内标)。

§3.10 深度溯源链

每一张图像可回溯至:抗体 ID(HPA/CAB 编号)→ 抗原序列(PrEST 片段)→ 供体组织(匿名,含采集医院)→ 染色协议(修复液 pH、稀释度)→ 扫描图像 URL → 病理学家注释(强度/比例/细胞类型)→ Reliability 等级与 RNA 一致性结论。该链路在单基因 XML/JSON 条目中完整暴露,是 HPA 区别于一般病理图像库的核心工程特征,也使"按抗体验证等级分层训练"成为可能。


§4 数据结构

§4.0 目录树

以下为"注释数据一键下载 + Kaggle 图像包"典型工作区解压后的结构预览:

hpa_workspace/
├── annotation/                          # 官方下载页 TSV/ZIP,一键可得
│   ├── normal_tissue.tsv.zip            # 基因 x 组织 x 细胞类型 四级表达(v20.1 为 4.9 MB)
│   ├── pathology.tsv.zip                # 癌种染色计数 + 生存 log-rank 注释(3.4 MB)
│   ├── subcellular_location.tsv.zip     # 亚细胞多标签 + 置信分级(207 KB)
│   ├── rna_tissue.tsv.zip               # HPA 自产 RNA-seq TPM/nTPM
│   ├── rna_tissue_consensus.tsv.zip     # HPA+GTEx+FANTOM5 共识 NX
│   ├── protein_class.tsv.zip            # 蛋白分类(分泌/膜/激酶等)
│   └── proteinatlas.xml.gz              # 全库 XML(含图像 URL、抗体信息、抗原序列)
├── kaggle_2018/                         # Kaggle HPA Image Classification 包
│   ├── train/                           # 31,072 张,每张 4 个 png
│   │   └── <ID>_red.png / <ID>_green.png / <ID>_blue.png / <ID>_yellow.png
│   ├── test/                            # 11,702 张,同结构
│   ├── train.csv                        # ID + Labels(多标签管道分隔)
│   ├── sample_submission.csv
│   └── cell_line/  batch/               # 官方附加元数据(分析用)
├── images_scraped/                      # 自建:解析 XML 后逐张抓取的网页 JPEG
│   └── <tissue>/<gene>_<antibody>.jpg
└── factsheets/                          # 官方方法文档
    └── annotation_dictionary.pdf        # 注释字典(各组织细胞类型定义)

§4.1 DAIMS 字段字典

以核心表 normal_tissue.tsv(每行为"基因 × 组织 × 细胞类型")与伴随表为例:

字段名 类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
Gene 文本 Ensembl 基因 ID(主键之一) ENSG00000121410 关联外部库 — 无 ENSG 开头
Gene name 文本 HGNC 基因符号 A2M 可读性、检索 — 无 字符串
Tissue 文本 组织名(多供体时带序号) Stomach 1 分组聚合 命名跨版本可能调整 无 45 种组织
Cell type 文本 注释细胞类型 Glandular cells 空间细粒度监督 病理学家间主观性 无 组织内若干类
Level 有序类别 蛋白表达四级 Medium 分类标签/回归目标 强度-比例主观合并 Not detected(含"弱染色但<25%"情形) Not detected / Low / Medium / High
Reliability 类别 抗体在该组织的可靠性 Enhanced 标本可信度分层 — 无 Enhanced / Supported / Approved / Uncertain
Cancer(pathology.tsv) 文本 癌种 Breast cancer 预后建模分组 — 无 20 余种癌种
High/Medium/Low/Not detected(pathology.tsv) 整数 该癌种中各染色水平的患者数 3 染色分布构造 — 0 为显式 ≥0
prognostic-favorable 等(pathology.tsv) 浮点 mRNA-生存 log-rank P 值族 0.0021 弱标签生成 多重检验未全校正 NaN = 未评估 (0,1]
Approved / Enhanced / Supported / Uncertain(subcellular_location.tsv) 文本 各置信级亚细胞位置(逗号分隔多标签) Nucleoplasm;Mitochondria 多标签分类主标签 标注员主观性 空串 = 该级无位置 30 余种结构
NX(consensus RNA) 浮点 HPA/GTEx/FANTOM5 共识归一化表达 27.4 多模态配对 跨平台批次 无 ≥0

§4.2 标签分布

  • Tissue 资源 Level 四级:Not detected / Low / Medium / High。生物学上近半数基因在所有检测组织中表达(housekeeping 特征,Uhlen 2015),因此 High 与 Not detected 呈双峰分布,Medium 相对稀少——构造均衡分类基准时需重采样。
  • Kaggle 28 类定位标签:最常见 nucleoplasm 在训练集 12,885 张,最稀有 rods and rings 仅 11 张;全数据集共 577 种标签组合,每图 1-6 个标签,官方评测用 macro F1 以强制关注稀有类。

Kaggle 训练集类别分布的两端(完整 28 类分布见 Nature Methods 2019 补充表):

类别 训练集图像数 类别 训练集图像数
Nucleoplasm(头) 12,885 Aggresome 322
Plasma membrane 3,777 Microtubule ends(尾 2) 少于 100
Mitochondria 2,601 Rods & rings(尾 1) 11
  • Reliability 四级:Enhanced 为最高(v24 中 3,931 个蛋白至少经一项增强验证),Uncertain 表示染色与 RNA/文献均不一致或缺失——建议训练时至少剔除 Uncertain。

§4.3 关键统计

统计项 数值 来源
抗体总数 >27,800(v24) 官方发布说明
覆盖基因 >17,300(约 87% 蛋白编码基因组) 官方发布说明
蛋白数据可用基因 15,312(Tissue 资源,76%) 官方 About 页
手动标注图像 >10,000,000(v25) 官方新闻稿
生物样本 约 300,000(v25) 官方新闻稿
正常组织数 45(IHC)/ 51(mRNA) 官方 About 页
增强验证蛋白 3,931(v24) 官方发布说明
抗体芯片通过率 86% 官方抗体验证页

§4.4 数据层级

项目(HPA v25)
└── 基因(Ensembl ENSG,>17,300)
    └── 抗体(HPA*/CAB* 编号,>27,800,每基因 1-N 个)
        └── 实验(assay:IHC-TMA / IF-细胞系 / WB / PA / MS)
            └── 图像(每抗体 x 每组织 x 每供体 1 张 JPEG;IF 为每抗体 x 细胞系 1 张四通道合成)
                └── 注释(Level 四级 + 细胞类型 + Reliability;IF 为多标签 + 置信级)

同基因多抗体结果冲突时由 knowledge-based annotation 合并为基因级 collective score——AI 使用者应明确选择"抗体级"(保留观测噪声)或"基因级"(取官方共识)两种口径之一,切勿混用。

§4.5 缺失值与信息性缺失

情形 编码 是否信息性 处理建议
蛋白未检出 Level = Not detected 是(生物学信号,非采集缺失) 保留为负类;勿当 NaN 丢弃
弱染色但比例 <25% Level = Not detected 是(评分规则所致,图像仍可见棕色) 结合图像时注意评分-外观矛盾(坑点 1)
基因无蛋白数据 表中无该基因行 否(约 13% 基因无可用抗体) 不做填充;多模态时显式 mask
未做生存评估 pathology.tsv P 值为空 否 建模时单独指示位
抗体验证未达 Enhanced Reliability = Supported/Approved/Uncertain 是(可信度信号) 分层采样或加权训练

§5 数据划分与使用建议

§5.1 官方划分

网站图谱数据(normal_tissue、pathology、subcellular_location 等 TSV)没有官方训练/测试划分——它们是持续更新的注释资源,不是基准数据集。唯一的官方划分来自 Kaggle 2018 竞赛:42,774 张图像在赛前固定划分为 31,072 张训练集与 11,702 张测试集,测试标签保密,评测为 macro F1。

§5.2 社区惯例划分

  • Kaggle 沿用:绝大多数后续论文直接采用 31,072/11,702 划分,以与 Nature Methods(2019)的获胜方案(macro F1 约 0.59)和专家上界(约 0.71)可比。
  • 自建验证集:参赛者普遍用 multi-label stratified split 从训练集切 10-20% 做验证,保证 577 种标签组合在两侧尽量同分布。
  • 外部增广:允许引入 HPAv18 公开的约 78,000 张亚细胞图像做外部数据——冠军方案即结合了两源数据。

§5.3 泄漏风险(重点)

泄漏源 机制 官方证据
同批次图像 同一染色批次/同一天扫描的图像亮度与背景高度相似,模型可借"批处理效应"作弊 Nature Methods(2019)明确警告 batch effects;冠军用 ArcFace 度量学习显式利用该效应提分
同基因多图 同基因的多张图像几乎相同,若同时出现在训练与测试侧即近似复制泄漏 官方建议用感知哈希(perceptual hashing)查重
同细胞系形态 27 种细胞系形态差异巨大,模型可按细胞系指纹猜标签而非学定位 竞赛分析确认性能与细胞系样本量相关性高于与类样本量相关性
版本混用 训练用 v20 注释、测试用 v25 注释,同一基因注释可能因改版而翻转 年更机制 + vXX 快照;官方 FAQ 提示数据跨版本变动

§5.4 划分策略建议

  1. 图像任务:按抗体(或基因)分组做 GroupKFold——同一抗体的所有图像只落在一个折内,杜绝"同基因同批"泄漏;细胞系若做泛化评估,可再按细胞系分组做 leave-cell-line-out。
  2. 表格任务:按基因分组切分(同基因多组织行进同一侧),评估"对未见基因的泛化";若评估"对已知基因的组织外推"则按组织切分,两种协议需分开报告。
  3. 多模态任务:切分键必须统一为基因级,且固定 Ensembl 版本(v23 起为 Ensembl 109 组装),防止跨版本 ID 映射漂移。

§5.5 交叉验证建议

5 折 GroupKFold(组 = 抗体 ID)+ 每折内按标签组合做分层;报告 macro F1 均值 ± 标准差,并单独报告稀有类(样本 <100)的类级 F1。对 Kaggle 协议复现,保持官方 31,072/11,702 固定切分不重切。

§5.6 外部验证建议

  • 定位分类模型 → 在 HPAv18 公开图像(约 78,000 张)上零样本评估,再与专家标注子集对比。
  • 组织表达模型 → 对齐 GTEx 或 TCGA 正常组织的 RNA 层表达,检验跨平台一致性。
  • 病理染色模型 → 引入 TCGA WSI 或 CPTAC 蛋白组(v24 已整合 11 种癌种 CPTAC 数据)做跨库验证。

外部验证的三条纪律:

  1. 版本对齐声明:外部数据所用的 HPA 快照版本必须显式记录(如"HPA v20 注释 + GTEx v8"),不同快照的注释翻转会让跨库结论无法归因。
  2. ID 键统一:跨库 join 一律用 Ensembl ID(注意 Ensembl 版本),基因符号只作展示层——符号改名将引入静默丢失。
  3. 评价不对称性:外部集上只报告与内部集同口径的指标,并给出内部 → 外部的性能变化幅度,避免"挑外部集报喜"。

§6 AI 就绪指南 ⭐

§6.0 云端快速启动

HPA 注释数据体量小(MB 级),在任意云端 Notebook 均可 1 分钟内跑通;Kaggle 图像基准则建议直接在 Kaggle Notebooks 内训练(数据集已挂载在竞赛平台,无需重复上传)。

# ============================================================
# Kaggle Notebooks / Colab 一键启动(表格任务)
# 无需任何密钥:TSV 为公开直链
# ============================================================
import subprocess, pandas as pd

# 1) 拉取注释数据(约 5 MB,秒级完成)
subprocess.run(["curl", "-sL", "-o", "/tmp/normal_tissue.tsv.zip",
                "https://www.proteinatlas.org/download/normal_tissue.tsv.zip"],
               check=True)

# 2) 读取并检查列结构
df = pd.read_csv("/tmp/normal_tissue.tsv.zip", sep="\t")
print("行数:", len(df))
print("列名:", df.columns.tolist())
print("四级标签分布:")
print(df["Level"].value_counts(normalize=True).round(4))

# 3) Kaggle 图像任务(在 Kaggle 平台内):
#    Notebook 右侧 Data 面板添加本竞赛数据集后,
#    输入目录为 /kaggle/input/human-protein-atlas-image-classification/
#    其中 train/ 为 4 通道分文件图像,train.csv 为标签表

要点:云端环境同样必须钉死版本(从 vXX 快照域下载而非 www 主域,见坑点 8);Colab 免费档即可完成全部表格任务,图像训练建议 Kaggle P100 或 Colab T4 起步。

§6.1 快速上手

# ============================================================
# 目录结构预期(data_root 下):
#   data_root/
#     annotation/normal_tissue.tsv.zip   # 官方下载页一键获取
#     kaggle_2018/train/  train.csv      # Kaggle 竞赛包
# data_root 拼接关系:所有路径均由 data_root + 相对路径组成
# 最小可用子集:仅 annotation/ 一个 zip 即可跑通表格任务
# ============================================================
import pandas as pd
from pathlib import Path

DATA_ROOT = Path("data_root")          # 修改为你的工作区
zip_path = DATA_ROOT / "annotation" / "normal_tissue.tsv.zip"

# HPA 的 TSV 是 zip 压缩的单 TSV 文件,pandas 可直接读
df = pd.read_csv(zip_path, sep="\t")
print(df.shape)                        # v20.1 约 1,700 万行(基因 x 组织 x 细胞类型)
print(df.columns.tolist())             # ['Gene','Gene name','Tissue','Cell type','Level','Reliability']

# 三行统计:High 表达的细胞类型 Top10
print(df[df["Level"] == "High"]
      .groupby("Cell type").size()
      .sort_values(ascending=False).head(10))

§6.2 数据获取

数据对象 获取方式 大小 备注
注释 TSV 套件 下载页 https://www.proteinatlas.org/about/download 直链 单文件 0.2-4.9 MB 无需注册
全库 XML 同上 proteinatlas.xml.gz gzip 单文件 含图像 URL 与抗体元数据
Kaggle 竞赛图像 Kaggle “Human Protein Atlas Image Classification” 数 GB 需 Kaggle 账号接受竞赛条款
网页 JPEG 图像 解析 XML 中 imageUrl 逐张抓取 视子集而定 无官方批量包,注意限速与 CC BY-SA 署名
RNA 原始 counts ArrayExpress E-MTAB-1733 / NCBI PRJNA183192 数十 GB 仅需 raw 层时使用
# 下载注释数据(示例:normal_tissue 与 pathology)
curl -L -o normal_tissue.tsv.zip "https://www.proteinatlas.org/download/normal_tissue.tsv.zip"
curl -L -o pathology.tsv.zip     "https://www.proteinatlas.org/download/pathology.tsv.zip"

# 单基因条目(XML/TSV/JSON/RDF 四种后缀任选)
curl -L "https://www.proteinatlas.org/ENSG00000134057.json" -o EGFR.json

网页图像的自建抓取脚本(坑点 7 的"简单方法"实现——版本钉死 + 限速 + md5 清单):

# ------------------------------------------------------------
# 可复现的 HPA 网页图像抓取器
# 原则:XML 为唯一图像清单;版本固定;令牌桶限速;记录 md5
# ------------------------------------------------------------
import gzip, re, time, hashlib, urllib.request
from pathlib import Path

VERSION_HOST = "https://v25.proteinatlas.org"     # 坑点 8:版本钉死,禁用 www 主域
REQUEST_INTERVAL = 1.0                            # 坑点 7:限速,避免 429/封禁

def collect_image_urls(xml_gz: str, limit: int | None = None) -> list[str]:
    """从官方 XML(gzip)中收集 imageUrl 清单——这是官方 FAQ 认可的图像获取路径。"""
    urls, pat = [], re.compile(r"<imageUrl>(.*?)</imageUrl>")
    with gzip.open(xml_gz, "rt", encoding="utf-8", errors="ignore") as fh:
        for line in fh:
            for u in pat.findall(line):
                urls.append(u)
                if limit and len(urls) >= limit:
                    return urls
    return urls

def fetch(url: str, out_dir: Path) -> None:
    out = out_dir / hashlib.md5(url.encode()).hexdigest() + ".jpg"
    if out.exists():
        return                                    # 断点续传:md5 命名即天然缓存
    data = urllib.request.urlopen(VERSION_HOST + url, timeout=30).read()
    out.write_bytes(data)
    (out.parent / "manifest.tsv").open("a").write(f"{VERSION_HOST}{url}\t{out.name}\n")
    time.sleep(REQUEST_INTERVAL)

if __name__ == "__main__":
    urls = collect_image_urls("data_root/annotation/proteinatlas.xml.gz", limit=500)
    fetch_all_out = Path("data_root/images_scraped"); fetch_all_out.mkdir(parents=True, exist_ok=True)
    for u in urls:
        fetch(u, fetch_all_out)

使用提醒:该脚本面向小规模科研子集(数百至数千张);全量镜像请优先与官方联系,并始终保持逐张图像的 “Human Protein Atlas” image credit 与版本化 URL(§9.4)。

§6.3 预处理全流程

# ------------------------------------------------------------
# 流程:TSV 解压 -> 标签编码 -> 抗体可靠性过滤 -> 组织名归一
# 输入:annotation/normal_tissue.tsv.zip
# 输出:基因 x 组织 的四级标签矩阵(行=基因,列=45 种组织)
# ------------------------------------------------------------
import pandas as pd
import numpy as np

LEVEL_MAP = {"Not detected": 0, "Low": 1, "Medium": 2, "High": 3}

def build_gene_tissue_matrix(zip_path: str, min_reliability=("Enhanced", "Supported")):
    df = pd.read_csv(zip_path, sep="\t")
    # 组织名去掉供体序号:Stomach 1 / Stomach 2 -> Stomach
    df["Tissue_clean"] = df["Tissue"].str.replace(r"\s+\d+$", "", regex=True)
    df = df[df["Reliability"].isin(min_reliability)]          # 坑点 2:剔除低可信抗体
    df["y"] = df["Level"].map(LEVEL_MAP)
    # 同基因同组织多行(多细胞类型/多抗体)取官方共识最高级,口径须固定
    mat = (df.groupby(["Gene", "Tissue_clean"])["y"].max().unstack())
    return mat

mat = build_gene_tissue_matrix("data_root/annotation/normal_tissue.tsv.zip")
assert mat.isna().sum().sum() >= 0        # NaN = 无蛋白数据,显式缺失(见 §4.5)
np.save("data_root/gene_tissue_matrix.npy", mat.values.astype(np.int8))

图像侧预处理(四通道读取 + 批次强度归一化 + 缩放),补齐从"原始 png"到"训练就绪张量"的链路:

# ------------------------------------------------------------
# 图像预处理流水线
# 输入:kaggle_2018/train/<ID>_{red,green,blue,yellow}.png(2048/3072 或 512)
# 输出:[4,512,512] float32 张量,逐通道 z-score(统计自训练集,勿用 ImageNet 均值)
# ------------------------------------------------------------
import numpy as np
from PIL import Image
from pathlib import Path

HPA_MEAN = np.array([0.086, 0.123, 0.059, 0.062], dtype=np.float32)   # 示例:需在自训集上重算
HPA_STD  = np.array([0.120, 0.156, 0.081, 0.088], dtype=np.float32)

def load_4ch(sample_id: str, root: Path, size: int = 512) -> np.ndarray:
    chans = []
    for c in ("red", "green", "blue", "yellow"):     # 顺序固定:R-G-B-Y(坑点 5)
        img = Image.open(root / f"{sample_id}_{c}.png").convert("L")
        if img.width != size:                        # 全尺寸样本统一缩放
            img = img.resize((size, size), Image.BILINEAR)
        chans.append(np.asarray(img, dtype=np.float32) / 255.0)
    x = np.stack(chans)                              # [4,512,512]
    x = (x - HPA_MEAN[:, None, None]) / (HPA_STD[:, None, None] + 1e-8)
    return x.astype(np.float32)

def channel_stitch_preview(sample_id: str, root: Path) -> Image.Image:
    """调试用:把四通道映射为伪 RGB 预览(red->R, green->G, blue->B, yellow->RB 叠加)。"""
    r = np.asarray(Image.open(root / f"{sample_id}_red.png").convert("L"))
    g = np.asarray(Image.open(root / f"{sample_id}_green.png").convert("L"))
    b = np.asarray(Image.open(root / f"{sample_id}_blue.png").convert("L"))
    y = np.asarray(Image.open(root / f"{sample_id}_yellow.png").convert("L"))
    rgb = np.stack([np.clip(r * 0.6 + y * 0.6, 0, 255).astype(np.uint8),
                    g, b], axis=-1)
    return Image.fromarray(rgb)

为什么逐通道 z-score 而不是 ImageNet 归一化:四通道各自代表独立荧光探针,强度分布与自然图像完全不同;用 ImageNet 均值方差会系统性压低核通道(蓝色常最亮)的信号。正确做法是在训练集上分别统计四个通道的均值/方差并写死在配置中。

§6.4 PyTorch DataLoader 完整代码

# ------------------------------------------------------------
# Kaggle 四通道图像多标签定位分类 Dataset
# 目录预期:root/train/<ID>_red.png 等 4 通道分文件;train.csv 含 Id,Labels
# 通道语义:red=微管 / green=目标蛋白 / blue=细胞核 / yellow=内质网
# ------------------------------------------------------------
import pandas as pd, torch
from torch.utils.data import Dataset, DataLoader
from PIL import Image
from pathlib import Path

class HpaKaggleDataset(Dataset):
    LABELS = ("Nucleoplasm", "Nuclear membrane", "Nucleoli", "Nucleoli fibrillar center",
              "Nuclear speckles", "Nuclear bodies", "Endoplasmic reticulum", "Golgi apparatus",
              "Intermediate filaments", "Actin filaments", "Microtubules", "Mitotic spindle",
              "Centrosome", "Plasma membrane", "Mitochondria", "Aggresome", "Cytosol",
              "Vesicles", "Nucleus", "Microtubule ends", "Rods & rings", "Kinetochore",
              "Nuclear speckles 2", "Midbody", "Midbody ring", "Cleavage furrow",
              "Focal adhesion site", "Cytokinetic bridge")     # 28 类(按竞赛标签顺序)

    def __init__(self, root, split="train", transform=None):
        self.root, self.transform = Path(root) / split, transform
        self.df = pd.read_csv(Path(root) / f"{split}.csv")

    def __len__(self): return len(self.df)

    def __getitem__(self, i):
        row = self.df.iloc[i]
        chans = []
        for c in ("red", "green", "blue", "yellow"):            # 固定 R-G-B-Y 顺序(坑点 5)
            img = Image.open(self.root / f"{row.Id}_{c}.png")
            chans.append(torch.from_numpy(np.array(img, dtype=np.float32) / 255.0))
        x = torch.stack(chans)                                  # [4,H,W]
        if self.transform: x = self.transform(x)
        y = torch.zeros(len(self.LABELS))
        for k in str(row.Labels).split():                       # 多标签:空格分隔
            y[int(k)] = 1.0
        return x, y

import numpy as np
ds = HpaKaggleDataset("data_root/kaggle_2018")
dl = DataLoader(ds, batch_size=32, num_workers=8, pin_memory=True, shuffle=True)
x, y = next(iter(dl)); print(x.shape, y.shape)                  # [32,4,512,512] [32,28]

§6.5 坑点清单(8 个)

⚠️ 坑点 1:图像明明染成棕色,标签却是 Not detected(分类:标签理解)

问题:HPA 四级评分不是"有没有颜色",而是"染色强度 × 阳性细胞比例"的联合规则:weak 强度且阳性细胞 <25% 会被判定为 Not detected。直接以图像颜色回归标签会得到系统性矛盾样本,模型学出"棕色 = 低分"的错误映射。
症状:人工抽查时发现大量"图像有明确 DAB 棕色沉淀、Level 列却是 Not detected"的样本;图像-标签回归模型残差在该规则区间集中爆发。
解决:

  1. 简单方法:理解并接受该规则——Not detected 是"生物学不可检出"而非"无颜色",把它当有效负类而非脏标签。
  2. 进阶方法:构造图像-标签联合任务时,把 “weak<25%” 区间单独设为可学习的中介类或软标签(如 [0.15]),避免硬对齐。
  3. SOTA 方法:用官方 annotation dictionary 与 scoring 文档复算强度×比例二维分布,将四级标签还原为 3×3 原始网格(强度 × 比例)作为细粒度监督。
    参考:官方 FAQ “The stained image is brown, but the expression score says not detected”(v21 帮助页);Uhlen et al., Science 2015。

⚠️ 坑点 2:忽视 Reliability 列,把 Uncertain 抗体噪声当真值训练(分类:偏倚陷阱)

问题:每个四级表达标签背后是一只特定抗体,官方用 Enhanced / Supported / Approved / Uncertain 四级记录其可靠性;Uncertain 表示染色与 RNA-seq 及 UniProt 文献均不一致或缺失。全量训练会把这些"抗体脱靶"样本混入监督信号。
症状:下游基因-组织矩阵出现孤立的假 High(同基因其他抗体均阴性);按组织聚合的阳性率与 RNA nTPM 排名大面积不符。
解决:

  1. 简单方法:读表时直接过滤 Reliability in {Enhanced, Supported}(§6.3 代码已内置)。
  2. 进阶方法:按 Reliability 给样本加权(Enhanced=1.0、Supported=0.8、Approved=0.6、Uncertain=0),损失函数乘权重做可信度校准。
  3. SOTA 方法:只用 v24 中 3,931 个经增强验证(orthogonal/独立抗体等五策略)的蛋白构造高质量子基准,其余样本仅做半监督。
    参考:官方抗体验证页(Enhanced 五策略定义);v24 release notes(3,931 蛋白增强验证)。

⚠️ 坑点 3:随机切分造成同抗体/同批次图像跨训练与测试集(分类:数据泄漏)

问题:Kaggle 图像按抗体批次采集,同批图像亮度、背景、形态高度相似;随机切分让"近乎复制的邻居"分别落在训练与测试侧,模型凭批处理效应而非定位模式得分。Nature Methods 官方分析明确点名该风险,而冠军方案正是用 ArcFace 度量学习显式利用批次效应提分的——对泛化研究而言是反面教材。
症状:测试 macro F1 异常接近训练 F1;按基因分组重切后性能骤降(跌幅常超过 10 个点);Grad-CAM 显示模型关注背景/染色强度而非细胞结构。
解决:

  1. 简单方法:对图像文件名做基因 ID 分组,用 GroupKFold 保证同基因(同抗体)图像不跨折。
  2. 进阶方法:分组键升级为"基因 × 染色批次",并在验证集上用感知哈希查重,删除哈希距离过近的跨侧样本。
  3. SOTA 方法:报告两套协议——随机切分(与排行榜可比)+ 抗体组切分(真实泛化),并在论文中并列呈现,如 Nature Methods 竞赛分析的处理方式。
    参考:Ouyang et al., Nature Methods 2019, doi:10.1038/s41592-019-0658-6;Springer Nature 官方复盘博客。

⚠️ 坑点 4:类极度不平衡时用 accuracy/weighted F1 评估(分类:评估误用)

问题:28 类中最常见 nucleoplasm 训练集 12,885 张、最稀有 rods and rings 仅 11 张,比例近 1,200:1。weighted F1 或 accuracy 被头部类主导,稀有类完全漏检仍可得高分;官方评测特意选择 macro F1 以强制公平。
症状:本地 accuracy 0.96+ 而提交 macro F1 不足 0.3;混淆矩阵显示 rods and rings、microtubule ends 等稀有类 F1 为 0。
解决:

  1. 简单方法:评测一律用 macro F1(sklearn f1_score(average="macro")),并单独报告稀有类指标。
  2. 进阶方法:训练侧用 Focal Loss 或 Lovász-Softmax + 过采样(如 multilabel oversampling),推理侧对每类阈值做优化搜索。
  3. SOTA 方法:参照竞赛获胜组合——多模型集成 + 阈值优化 + 度量学习头(ArcFace);目标对照线为 macro F1 约 0.59、专家约 0.71。
    参考:Ouyang et al., Nature Methods 2019;Bioinformatics 2023 multilabel oversampling(doi:10.1093/bioinformatics/btac841)。

⚠️ 坑点 5:四通道图像直接套 ImageNet 三通道管线(分类:预处理陷阱)

问题:HPA IF 图像是 red/green/blue/yellow 四通道 png,语义与相机 RGB 完全不同(green 才是目标蛋白、yellow 是内质网参照)。直接复制 ImageNet 预处理(3 通道 + ImageNet 均值方差)会丢失 yellow 通道或错误归一化;存储顺序若凭直觉写反,绿色蛋白信息会被当作背景。
症状:训练收敛但性能异常低;可视化输入发现通道颜色与预期互换;用 ImageNet 归一化后直方图严重偏移。
解决:

  1. 简单方法:显式以 (red, green, blue, yellow) 固定顺序堆叠为 [4,H,W],全通道各自 /255 归一化,统计自定义均值方差。
  2. 进阶方法:将第一层卷积权重改为 4 通道输入,用 RGB 预训练权重初始化前三通道、yellow 通道以均值初始化,微调后即超越纯 ImageNet 起点。
  3. SOTA 方法:用竞赛公开的获胜模型(model zoo)权重做初始化——它们就是 4 通道、生物学细粒度预训练的产物,官方论文明确指出其迁移价值高于 ImageNet。
    参考:Ouyang et al., Nature Methods 2019(四通道定义与 model zoo);v16 官方帮助页(通道命名规则 blue_red_green)。

⚠️ 坑点 6:把 TMA 组织芯当全切片(WSI)训练诊断模型(分类:预处理陷阱)

问题:HPA 的 IHC 图像来自 1 mm 组织微阵列芯,而非临床诊断级全切片;每组织仅 3-6 名供体。用它们训练 WSI 分割/诊断模型,再直接迁移到 TCGA 全切片任务,会因视野、组织学背景与供体多样性不足而失效,且容易高估性能。
症状:模型在 HPA 芯片图像上Dice/AUC 很高,在真实 WSI 上碎片化严重;按供体分组评估时方差远大于按图像评估。
解决:

  1. 简单方法:明确任务定位——HPA IHC 图适合"表达模式识别 + 弱监督预训练",不直接做诊断推理;切分按供体分组。
  2. 进阶方法:把 HPA 芯当"参考图谱"做检索式辅助诊断:query WSI 特征去 HPA 图像库检索近邻,输出蛋白表达假设而非直接诊断。
  3. SOTA 方法:两阶段训练——HPA 上预训练编码器,TCGA/CPTAC 上带任务微调;v24 已官方整合 11 种癌种 CPTAC 蛋白组,可作衔接桥梁。
    参考:v22 Tissue 方法页(TMA 1 mm、每组织 3 供体);v24 release notes(CPTAC 整合)。

⚠️ 坑点 7:无官方图像批量包,自建爬取不可复现且易违规(分类:工程陷阱)

问题:全站 1,000 万余张图像散布于网页,官方仅提供 XML 中的 imageUrl,没有批量图像包。临时脚本直抓既没有版本记录(v19 与 v25 同一基因图像不同),又常因无限速被封禁;论文里"images from HPA website"无法让任何人复现同一份图像集。
症状:中途 HTTP 429/403;三个月后重跑得到不同的图像集合;审稿要求提供图像清单时无法给出。
解决:

  1. 简单方法:下载 vXX 版本 XML 为唯一图像清单,抓取脚本固定版本 URL 前缀(vXX.proteinatlas.org),记录"版本号 + URL + md5"三要素。
  2. 进阶方法:抓取器加令牌桶限速、断点续传与本地 md5 缓存;清单文件随代码入库,保证可复现。
  3. SOTA 方法:图像任务优先改用 Kaggle 官方打包数据(自带划分与许可框架),网页图像仅作增量补充;逐张图像使用时按官方要求附 image credit 与版本化 URL。
    参考:官方 Help/FAQ(图像获取方式与命名规则);官方 Licence & Citation 页。

⚠️ 坑点 8:跨版本混用注释,忽略年更带来的标签漂移(分类:工程陷阱)

问题:HPA 每年一次主版本更新,会新增抗体、重注释基因、改名组织与调整资源结构(v24 把 12 个 sections 重组为 8 resources)。同一基因的表达结论在不同版本间可能翻转;不同论文各用不同版本,混引会造成系统性不一致。
症状:复现他人结果时数字对不上;自己的管道两次运行间因"最新版"自动升级而结果漂移;组织名带序号(Stomach 1/2)导致聚合重复计数。
解决:

  1. 简单方法:管道入口固定版本号,从 vXX.proteinatlas.org 快照下载,禁止用无版本号的 www 主域。
  2. 进阶方法:在配置文件中声明 hpa_version 与 Ensembl 版本(v23+ 为 109),落盘数据带版本戳;跨版本对比脚本用 Ensembl ID 而非基因名做主键。
  3. SOTA 方法:建立版本迁移测试——对每次升级 diff 新旧 TSV,输出标签翻转率报告,超阈值即冻结旧版本继续实验。
    参考:官方 Release history 与下载页"Archived data"说明;v23 新闻稿(基因组组装切换)。

§6.6 数据增强(安全 ✅ / 危险 ❌)

类别 操作 说明
✅ 水平/垂直翻转、90° 旋转 显微视野无方向性语义
✅ 亮度/对比度小幅抖动、高斯噪声 模拟染色批次差异
✅ 通道独立强度缩放(×0.8-1.2) 对 IF 通道强度变异稳健
✅ AutoAugment / RandAugment(竞赛获胜方案标配) Nature Methods 2019 复盘确认有效
❌ 色相(Hue)旋转 会破坏四通道生物学语义(绿=蛋白、蓝=核)
❌ 跨通道混合/通道丢弃 参照通道承载定位线索,丢弃即改任务
❌ 灰度化 直接抹掉四通道信息,等价于丢 3/4 输入
❌ 弹性形变过强 破坏亚细胞结构形态(核仁、纺锤体等即标签本体)

§6.7 模型推荐

任务 推荐架构 起点/参考 说明
四通道多标签定位分类 DenseNet-121 / ResNet-50(4 通道首层改造) 竞赛获胜方案 model zoo 竞赛 56 支调研队伍中 44 支使用 ResNet/DenseNet/Inception 系
定位分类(度量学习线) CNN 骨干 + ArcFace 头 冠军方案 利用"批效应"做特征对齐,macro F1 约 0.59
弱监督病理预训练 ViT-B/16 + DINO 自监督 自建 HPA 图像流 以四级表达做弱标签正则
表格表达建模 LightGBM / MLP normal_tissue.tsv 按基因分组切分
多模态 RNA-蛋白 双塔编码器 + 对比学习 consensus NX vs Level 矩阵 注意约 13% 基因无蛋白侧数据

多标签任务的训练配方要点(汇总自 Nature Methods 2019 对 56 支队伍的方法学调研):

  • 损失函数:56 支受调队伍中 34 支使用二元交叉熵族处理多标签;头部方案改用 Focal Loss(压低易样本贡献)或 Lovász-Softmax(直接优化 IoU 型指标)应对极端不平衡。
  • 学习率策略:循环学习率(cyclic LR)与 warmup 在获胜方案中普遍出现;单模型训练 40-80 epoch,集成 3-5 个不同骨干。
  • 预测端:逐类阈值搜索(§6.9 代码)对 macro F1 的提升普遍超过 3 个点,是性价比最高的"免费午餐"。
  • 预训练起点:ImageNet 初始化是基线,但竞赛公开的获胜权重(生物学细粒度、4 通道)起步效果更好;官方论文明确建议后续生物图像任务复用其 model zoo。

§6.8 硬件需求

任务规模 GPU 内存 磁盘 参考吞吐
表格/注释分析 无需 GPU 16 GB 10 GB CPU 即可
Kaggle 512×512 单模型 1× RTX 3090 / A10 32 GB 50 GB 约 1-2 epoch/小时(batch 32)
全尺寸 2048-3072 + 集成 4× A100 40G 128 GB 500 GB 官方获胜方案为多模型集成
全量图像镜像构建 无需 GPU 32 GB ≥1 TB 受限速约束,与算力无关

§6.9 评估指标代码

# macro F1 + 每类 F1 + 稀有类专项报告(对齐官方评测协议)
import numpy as np
from sklearn.metrics import f1_score, classification_report

def evaluate(y_true, y_prob, n_classes=28, rare_idx=(19, 21)):
    """y_true: [N,28] 0/1;y_prob: [N,28] 概率。先做每类阈值搜索再用 macro F1。"""
    thresholds = np.ones(n_classes) * 0.5
    for c in range(n_classes):                       # 逐类搜索最优阈值(竞赛标配)
        best_t, best_f = 0.5, -1.0
        for t in np.arange(0.1, 0.9, 0.02):
            f = f1_score(y_true[:, c], (y_prob[:, c] > t).astype(int))
            if f > best_f: best_f, best_t = f, t
        thresholds[c] = best_t
    y_pred = (y_prob > thresholds).astype(int)
    macro = f1_score(y_true, y_pred, average="macro")
    per = f1_score(y_true, y_pred, average=None)
    print(f"Macro F1 = {macro:.4f}(对照:冠军约 0.59,专家约 0.71,Loc-CAT 约 0.47)")
    print("稀有类 F1:", {c: round(per[c], 3) for c in rare_idx})
    return macro, thresholds

§6.10 MLOps 笔记

  • 版本钉死:hpa_version、ensembl_version、antibody_filter 三项写入配置并随模型 artifact 存档(对应坑点 8)。
  • 数据卡:记录图像来源(Kaggle 包 vs 自抓)、抓取日期、md5 清单(对应坑点 7)。
  • 漂移监控:上线后监控输入图像通道强度分布与标签先验分布;HPA 年更发布后触发一次回归评测。
  • 许可合规入 CI:构建产物(截图/示例图)检查是否携带 “Human Protein Atlas” image credit 与版本 URL;CC BY-SA 衍生数据需以同许可共享。
  • 公平性切片:按细胞系、组织、Reliability 三轴分别报告性能,防止"整体均值掩盖稀有切片"。

版本钉死的最小 YAML 配置模板(随训练产物一起存档):

# config.yaml —— HPA 相关实验的版本契约(示例)
hpa_version: "25.1"                # 禁止写 "latest"
ensembl_version: 109               # v23+ 基因组组装
antibody_filter:
  min_reliability: ["Enhanced", "Supported"]   # 坑点 2:剔除 Uncertain
  level_scope: "gene"              # gene(官方 collective)或 antibody(观测级)
image_source:
  type: "kaggle_2018"              # kaggle_2018 | scraped
  channel_order: ["red", "green", "blue", "yellow"]   # 坑点 5
  normalize: "per-channel-zscore"
evaluation:
  primary_metric: "macro_f1"       # 坑点 4:禁用 accuracy 作主指标
  report_slices: ["cell_line", "tissue", "reliability", "class_frequency"]
license:
  attribution: "Human Protein Atlas https://www.proteinatlas.org/"
  share_alike: true                # CC BY-SA 3.0 衍生义务

§7 质量评估与局限性

§7.1 已知偏倚

偏倚类型 描述 严重程度 缓解措施
地理/族群偏倚 组织样本主要来自瑞典 Uppsala 大学医院单一来源,供体以北欧人群为主 中 跨库对齐 GTEx/TCGA 多元人群;结论限定为组织学而非族群医学
抗体偏倚 标签质量受抗体特异性制约,约 13% 基因因无可用抗体而缺蛋白数据 高 按 Reliability 过滤/加权;优先用增强验证蛋白
类不平衡偏倚 定位分类中头部类与稀有类样本量差近 1,200 倍(12,885 vs 11) 高 macro F1 评测 + 重采样/Focal Loss + 稀有类专项报告
供体数偏倚 每组织仅 3-6 名供体,个体间生物学差异未被充分采样 中 按供体分组评估;解释性结论标注"供体级样本量限制"
疾病谱偏倚 癌症染色谱系集中在常见癌种;罕见病多仅见于 Blood 资源血浆层 中 罕见病研究改用 Blood 71 疾病血浆谱
批次效应 染色批次/扫描日期造成图像强度分布漂移 中 通道强度归一化 + 按批次分组切分(坑点 3)

§7.2 标注质量

标注主体为认证病理学家与受训标注员,有一套显式的一致性架构:同基因多抗体交叉比对、与 RNA-seq/UniProt 三方核对、四级 Reliability 显式暴露分歧。外部可验证的锚点来自 Nature Methods(2019):同一标注体系下的专家在 28 类定位任务上的 macro F1 约 0.71——即使人类专家也非完美,这为模型结果的"专家差距"提供了量化参照。IHC 评分的主观性(强度/比例合并)官方以规则化定义缓解,但"weak<25% 记 Not detected"等规则(坑点 1)仍需使用者主动理解。

§7.3 泛化性风险

场景 失效风险 证据
HPA 芯图像 → 真实临床 WSI 高:TMA 1 mm 芯 vs 全切片,视野与背景差异大 官方方法页(TMA 规格);§7.1 供体数偏倚
Kaggle 数据 → 新版 HPA 图像 中:染色批次与图像处理随版本演进 年更机制;官方 FAQ 跨版本变动提示
训练细胞系 → 未见细胞系 中:27 种细胞系形态差异大,类级 F1 跨细胞系波动 Nature Methods 2019 补充分析
稀有类零样本 高:rods and rings 全库仅 42 张量级 Nature Methods 2019(11 张训练/42 张 HPAv18)
正常组织模型 → 肿瘤组织 中:肿瘤异质性与表达失调超出正常参考分布 Cancer 资源独立设计的原因

§7.4 伦理

所有组织样本为手术多余组织,依瑞典法律采集,经 Uppsala 伦理审查委员会批准并全程匿名化;官方 FAQ 明确不提供超出性别、年龄、诊断、分级的患者信息且无复识别路径。图像与注释以 CC BY-SA 3.0 开放共享,对人类受试者研究不构成额外隐私负担;下游使用者仍须遵守"非身份化使用 + 署名共享"义务。

§7.5 公平性

供体族群以北欧为主,非欧洲人群蛋白表达谱推断存在外推风险;性别维度上,部分组织(前列腺、子宫内膜等)天然单性别,跨性别建模时须按组织过滤。AI 建模建议:对"族群敏感"的结论(如血浆蛋白疾病指纹)明确标注训练人群来源,并优先在 Blood 资源的多队列(32 个 cohort)框架内做分层验证。

§7.6 数据漂移

HPA 的漂移有两层:版本漂移(年更导致注释翻转、组织改名、资源重组——v24 将 12 sections 重组为 8 resources 即结构级漂移)与采集漂移(新抗体、新染批、新成像协议引入分布变化)。治理方案:钉死版本快照(坑点 8)、版本迁移 diff 测试、上线模型在新版本发布时强制回归评测。

落地为一个"升级检查单":

  1. 新版本发布日,从 vXX 快照同时下载新旧两版 normal_tissue.tsv。
  2. 以 Ensembl ID 为键 diff:统计 Level 翻转率、Reliability 降级率、组织名改名清单。
  3. Level 翻转率超过自定阈值(如 1%)即冻结旧版本,并在实验记录中标注新版本差异摘要。
  4. 对已上线模型跑一次完整回归评测,对比 §6.10 配置中声明的指标切片。
  5. 将 diff 报告归档到数据卡(§6.10),供论文与审计追溯。

§7.7 DAIMS 24 项检查

# 检查项 状态 说明
1 宽格式 ✅ TSV 宽表 + XML 双形态,pandas 直读
2 唯一标识 ✅ Ensembl ENSG + 抗体 HPA/CAB 编号双主键
3 特殊字符 ✅ ASCII 为主,基因名规范
4 重复行 ⚠️ 同基因多抗体/多供体/多细胞类型天然多行,须声明聚合口径
5 缺失编码 ✅ Not detected 为显式四级之一,非 NaN
6 标签标识 ⚠️ 多标签(定位 1-6 个)以逗号/空格混合编码,需解析器
7 罕见类分组 ⚠️ rods and rings 等稀有类仅 11 张量级,须专门策略
8 偏倚评估 ✅ 官方论文含 limitations;官方 FAQ 坦承限制
9 数据字典 ✅ annotation dictionary PDF + 下载页逐文件说明
10 信息性缺失解释 ✅ "无行 = 无抗体"规则明确
11 设备记录 ✅ 抗原修复 pH、抗体稀释度逐抗体记录
12 共线性 ✅ 标签互斥性弱,无线性共线性问题
13 编码映射 ✅ Ensembl/HGNC/UniProt/GO 全部交叉引用
14 时间戳处理 ✅ 版本快照制(vXX 永久 URL)替代时间戳
15 划分建议 ⚠️ 网站数据无官方划分,仅 Kaggle 包有
16 泄漏讨论 ✅ Nature Methods 2019 官方点名批次泄漏
17 标签分布 ✅ 竞赛论文附各类/各细胞系样本量表
18 测量偏倚 ⚠️ 抗体特异性偏倚真实存在但有四级标注
19 外部验证建议 ✅ GTEx/TCGA/CPTAC 官方整合或可对齐
20 版本记录 ✅ Release history + vXX 快照体系
21 预处理脚本 ✅ 竞赛 model zoo 开源获胜代码
22 合规要求 ✅ CC BY-SA 3.0 明确,商用路径清晰(联系官方)
23 多模态对齐 ⚠️ RNA-蛋白配对存在系统性不一致(本身是生物学特性),需声明口径
24 去标识化 ✅ 全程匿名化 + 伦理批准,无复识别路径

DAIMS 评分:21.0 / 24(18 项 ✅ × 1.0 + 6 项 ⚠️ × 0.5)

评分解读:HPA 在元数据规范、溯源链、版本治理、许可合规四方面达到数据集工业级水准,是生命科学开放数据的标杆;扣分集中在"标签语义复杂"一侧——多标签编码、极端稀有类、多行聚合口径与无官方划分,这些不是数据缺陷,而是科研资源与基准数据集定位差异带来的使用门槛。

对你意味着什么:(1) 表格任务可直接开工,把聚合口径与 Reliability 过滤写进配置即可复现;(2) 图像任务优先用 Kaggle 包,别自建爬取当主数据源;(3) 任何结论报告都要带"hpa_version + antibody_filter"两个维度,否则不可比;(4) 稀有类研究请直接转向官方 model zoo + 度量学习路线,从头训分类头在 11 张样本的类上没有胜算。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 评估任务 性能指标 相对内部变化 关键发现
Kaggle 私有测试集 HPA 官方(Nature Methods 2019) 28 类多标签定位 macro F1 约 0.59 胜内部此前 SOTA(Loc-CAT 约 0.47)约 20% 最优 AI 仍低于专家约 0.71
HPAv18 公开图像 HPA 官方 同上零样本 类级 F1 跨细胞系有波动 单类 F1 波动显著 形态差异主导类间难度差异
EVE Online 公民科学标注 HPA + Massively Multiplayer Online Science 定位分类众包 33,000,000 次分类 与专家标注融合后提升模型 众包可补足专家带宽(Nat Biotechnol 2018)
CPTAC 癌症蛋白组 官方 v24 整合(11 种癌种) 蛋白表达交叉验证 定性一致性 — IHC 染色与 MS 蛋白定量互证

§8 基准性能与生态

§8.1 排行榜

排名 模型 性能(macro F1) 年份 关键技术 完整引用 代码
1 竞赛冠军(Team 1) 约 0.59 2019 度量学习 ArcFace + 外部数据 + 模型集成 Ouyang J-Y, et al., 2019, Nature Methods. doi:10.1038/s41592-019-0658-6 model zoo 开源
2-10 前 10 名队伍 约 0.57-0.59 2019 DenseNet/ResNet 骨干、Focal/Lovász 损失、阈值优化 Ouyang J-Y, et al., 2019, Nature Methods. doi:10.1038/s41592-019-0658-6 部分开源
人类专家 专家标注上界 约 0.71 2019 — Ouyang J-Y, et al., 2019, Nature Methods. doi:10.1038/s41592-019-0658-6 —
此前 SOTA Loc-CAT 约 0.47 2017 传统多标签分类 Ouyang J-Y, et al., 2019, Nature Methods. doi:10.1038/s41592-019-0658-6 —
后续改进 多标签过采样系列 超越基线组合 2023 Multilabel oversampling Bioinformatics, 2023, doi:10.1093/bioinformatics/btac841 论文附录

数值不可直接比较的原因:各研究使用的图像子集(Kaggle 42,774 张 vs HPAv18 约 78,000 张 vs 自建混合)、通道处理(512 缩放 vs 全尺寸)、外部数据许可均不同;官方分析论文明确指出参赛方案普遍引入外部数据与集成,单模型分数不具可比性。

§8.2 SOTA 总结与选型建议

以官方协议(Kaggle 划分 + macro F1)为准绳:度量学习(ArcFace)+ 多模型集成 + 阈值优化是当前最优组合(约 0.59);从零复现者建议用获胜 model zoo 权重热启动,而非 ImageNet 起点节约两周量级的调参时间。研究目标若为"真实泛化"(新抗体/新细胞系),请在官方切分之外并行报告抗体组切分(§5.4),此协议下所有模型均有显著降幅,属于领域公知的诚实基线。

§8.3 评测协议

数据 = Kaggle 2018 官方包;训练 = 31,072 张(允许外部数据);测试 = 11,702 张私有标签;指标 = macro F1(28 类平均);提交 = 每图多标签概率 + 逐类阈值。复现报告必须注明:通道顺序、图像分辨率、外部数据清单、集成成员数。

汇报纪律:任何引用"HPA 上的 SOTA"时,务必同时给出 (1) 数据口径(Kaggle 官方划分 / HPAv18 / 自建混合),(2) 单模型还是集成,(3) 是否使用外部数据。三者任一不同,macro F1 差距可达 10 个点以上,直接对表只会产生误导。

数据集 模态 规模量级 与 HPA 关系
GTEx RNA-seq(54 组织) 约 950 供体 HPA 共识表达三大来源之一
TCGA WSI + RNA-seq + 临床 11,000+ 例 33 癌种 HPA Cancer 资源生存注释来源
CPTAC 质谱蛋白组 11 种癌种(v24 整合) 与 IHC 染色互证
Allen Brain Atlas 原位杂交 + RNA 小鼠/人脑 HPA Brain 资源互引
Human Cell Atlas scRNA-seq 多项目联盟 HPA Single Cell 资源互补
JUMP Cell Painting 高内容成像 数十亿细胞图像 形态学画像与亚细胞定位互补

§8.5 关键论文 Top 6

  1. Uhlén M, et al. Tissue-based map of the human proteome. Science, 2015, 347(6220):1260419. doi:10.1126/science.1260419 — 主论文:44 组织、24,028 抗体、超 1,300 万张 IHC 图像的全蛋白组空间图谱。
  2. Thul PJ, et al. A subcellular map of the human proteome. Science, 2017, 356(6340):eaal3321. doi:10.1126/science.aal3321 — Cell Atlas:约 300,000 张 IF 图像、30 种细胞结构定位,发现近半蛋白多定位。
  3. Uhlen M, et al. A pathology atlas of the human cancer transcriptome. Science, 2017, 357(6352):eaan2507. doi:10.1126/science.aan2507 — Pathology Atlas:癌症转录组生存分析全景。
  4. Ouyang J-Y, et al. Analysis of the Human Protein Atlas Image Classification competition. Nature Methods, 2019, 16:1254-1261. doi:10.1038/s41592-019-0658-6 — 竞赛系统性分析:2,172 队、获胜方案与专家差距的权威结论。
  5. Sullivan DP, et al. Deep learning is combined with massive-scale citizen science to improve large-scale image classification. Nature Biotechnology, 2018. doi:10.1038/nbt.4225 — EVE Online 众包 33,000,000 次分类用于定位模型。
  6. Uhlen M, et al. The human secretome. Science Signaling, 2019, 12(609). doi:10.1126/scisignal.aaz0274 — 分泌蛋白组系统注释,药物靶点筛选基础。

§8.6 社区活跃度

官方渠道:全站帮助文档与逐年方法页;Kaggle 竞赛论坛沉淀 2,172 支队伍的讨论;2025 年官方年度总结披露月访问约 500,000 次、年引用约 3,000 篇、累计 1,000 篇同行评审论文。GitHub 上以 “Human Protein Atlas” 为主题的第三方工具(爬虫、可视化、模型实现)活跃但版本分散,使用前请核对所依赖的 HPA 版本。

社区求助路径建议:数据获取与许可问题 → 官方 contact@proteinatlas.org;图像任务实现 → Kaggle 竞赛论坛历史帖;注释语义争议 → 对应版本快照的方法页(每个子资源均有 Methods Summary)。### §8.7 生态快照

资源 类型 链接 推荐理由
官方下载页 数据直链 https://www.proteinatlas.org/about/download 全部 TSV/XML 一键获取
Kaggle 竞赛页 基准 Kaggle “Human Protein Atlas Image Classification” 唯一官方图像划分基准
竞赛获胜 model zoo 预训练权重 Nature Methods 2019 论文附录 4 通道细粒度预训练起点
Annotation Dictionary 文档 官方下载区 PDF 细胞类型与注释规则权威定义
Release History 版本档案 https://proteinatlas.org/about/releases 版本决策与快照索引
hpajourney.proteinatlas.org 20 周年专题 官方微网站 里程碑与论文合辑

§9 相关资源与引用

§9.1 官方资源列表

资源 说明 链接
官方主页 门户与搜索入口 https://www.proteinatlas.org/
About 页 九大资源总览 https://www.proteinatlas.org/about
Downloadable data 全部 TSV/XML/JSON/RDF 下载 https://www.proteinatlas.org/about/download
Release history 版本档案(v24 逐项变更) https://proteinatlas.org/about/releases
Antibody validation 抗体验证五策略全文 https://www.proteinatlas.org/humanproteome/subcellular/method/antibody+validation
Licence & Citation 许可与引用规范 https://v18.proteinatlas.org/about/licence
Help & FAQ 图像获取、评分规则、限制说明 https://v21.proteinatlas.org/about/help
Tissue 方法页 TMA/染色/注释全流程 https://v22.proteinatlas.org/humanproteome/tissue/method
历史版本快照 vXX.proteinatlas.org(v13 起) https://v20.proteinatlas.org/about/download
RNA 原始数据 ArrayExpress E-MTAB-1733(组织) https://www.ebi.ac.uk/arrayexpress/experiments/E-MTAB-1733/

§9.2 教程与社区

  • 官方 Help 页含程序化访问(programmatic access)与单基因 URL 规则,是写抓取器前必读的规范来源。
  • Kaggle 竞赛论坛与公开 Notebook:多标签分层切分、4 通道增广、阈值优化的高质量示例集中于此。
  • Nature Methods(2019)竞赛分析论文及其补充材料:获胜策略、失败案例与数据泄漏警告的官方叙述。
  • 官方 20 周年专题(hpajourney.proteinatlas.org)与 Science 增刊:项目里程碑、各子资源方法学论文合辑,适合作为新人系统学习路线图。
  • 检索式使用建议:HPA 搜索语法支持按蛋白类(如 protein_class:Predicted+secreted+proteins)过滤并一键导出 TAB/TSV,是把"子集"变成可下载表的官方通道,比爬网页更稳。

§9.3 BibTeX 引用块

@article{uhlen2015tissue,
  title   = {Tissue-based map of the human proteome},
  author  = {Uhl{\'e}n, Mathias and Fagerberg, Linn and Hallstr{\"o}m, Bj{\"o}rn M. and
             Lindskog, Cecilia and Oksvold, Per and Mardinoglu, Adil and Sivertsson, {\AA}sa and
             Kampf, Caroline and Sj{\"o}stedt, Evelina and Asplund, Anna and others},
  journal = {Science},
  volume  = {347},
  number  = {6220},
  pages   = {1260419},
  year    = {2015},
  doi     = {10.1126/science.1260419}
}

@article{thul2017subcellular,
  title   = {A subcellular map of the human proteome},
  author  = {Thul, Peter J. and {\AA}kesson, Lovisa and Wiking, Mikaela and
             Mahdessian, Per and Geladaki, Aikaterini and others},
  journal = {Science},
  volume  = {356},
  number  = {6340},
  pages   = {eaal3321},
  year    = {2017},
  doi     = {10.1126/science.aal3321}
}

@article{uhlen2017pathology,
  title   = {A pathology atlas of the human cancer transcriptome},
  author  = {Uhlen, Mathias and Zhang, Cheng and Lee, Sunjae and
             Sj{\"o}stedt, Evelina and Fagerberg, Linn and others},
  journal = {Science},
  volume  = {357},
  number  = {6352},
  pages   = {eaan2507},
  year    = {2017},
  doi     = {10.1126/science.aan2507}
}

@article{ouyang2019analysis,
  title   = {Analysis of the Human Protein Atlas Image Classification competition},
  author  = {Ouyang, Jen-Yan and Sj{\"o}stedt, Evelina and Ziegler, Susanne and
             Mahdessian, Per and Dai, Julio and others},
  journal = {Nature Methods},
  volume  = {16},
  pages   = {1254--1261},
  year    = {2019},
  doi     = {10.1038/s41592-019-0658-6}
}

@article{sullivan2018citizen,
  title   = {Deep learning is combined with massive-scale citizen science
             to improve large-scale image classification},
  author  = {Sullivan, Devin P. and Winsnes, Cajsa {\AA}. and {\AA}kesson, Lovisa and
             Hjelmare, Martin and Wiking, Mikaela and others},
  journal = {Nature Biotechnology},
  volume  = {36},
  pages   = {820--828},
  year    = {2018},
  doi     = {10.1038/nbt.4225}
}

@misc{hpa_portal,
  title        = {Human Protein Atlas},
  author       = {{Human Protein Atlas Consortium}},
  howpublished = {\url{https://www.proteinatlas.org/}},
  note         = {version 25.1, accessed 2026-09}
}

§9.4 引用指南

官方要求(Licence & Citation 页):(1) 任何使用须同时引用一篇主论文(Uhlen 2015 / Thul 2017 / Uhlen 2017 等)和网站 www.proteinatlas.org;(2) 引用具体图像、基因或数据时,须附 image credit “Human Protein Atlas” 及可直达的版本化 URL(如 v25.proteinatlas.org 对应条目);(3) 商业用途先联系 contact@proteinatlas.org 取得书面确认;(4) CC BY-SA 3.0 对数据库可版权部分生效,衍生数据库须以同许可共享。


§10 AI 使用声明卡

§10.1 AI 模型列表

模型 用途 版本/说明
千方病案写作助手(fast-model) 初稿生成、结构组织、事实整理 2026-09 运行实例
千方病案校验助手 check_md.py 结构校验与排版合规 规则脚本

§10.2 AI 参与范围

AI 负责初稿撰写、结构编排、代码示例起草与表格整理;所有医学结论、ICD-11/SNOMED 映射、规模数字与坑点均由 AI 依据官方来源检索整理,并经千方病案医学编辑部人工交叉审核(见 §10.4)。AI 未直接访问数据集本体,全部数字来自官方页面、官方新闻稿与同行评审论文。

事实核对说明:任务种子信息中的"四部分构成(Tissue/Pathology/Cell/Brain)"经检索证伪——该描述对应早期版本结构,现行为 v25 的九大资源;种子信息"2.6 万+ 抗体"与检索一致(v24 已达 27,800+)。相关纠错记录见本数据集研究档案。

§10.3 输入来源列表

  1. Uhlén M, et al. Tissue-based map of the human proteome. Science, 2015, 347(6220):1260419. doi:10.1126/science.1260419
  2. Thul PJ, et al. A subcellular map of the human proteome. Science, 2017, 356(6340):eaal3321. doi:10.1126/science.aal3321
  3. Uhlen M, et al. A pathology atlas of the human cancer transcriptome. Science, 2017, 357(6352):eaan2507. doi:10.1126/science.aan2507
  4. Ouyang J-Y, et al. Analysis of the Human Protein Atlas Image Classification competition. Nature Methods, 2019, 16:1254-1261. doi:10.1038/s41592-019-0658-6
  5. Sullivan DP, et al. Deep learning is combined with massive-scale citizen science to improve large-scale image classification. Nature Biotechnology, 2018. doi:10.1038/nbt.4225
  6. Uhlen M, et al. The human secretome. Science Signaling, 2019, 12(609). doi:10.1126/scisignal.aaz0274
  7. Human Protein Atlas 官方 About 页。 https://www.proteinatlas.org/about
  8. Human Protein Atlas Release history。 https://proteinatlas.org/about/releases
  9. Human Protein Atlas v24 发布说明(2024-10-22)。 https://proteinatlas.org/about/releases
  10. Human Protein Atlas 官方新闻室(v23/v24/v25/v25.1 发布稿)。 https://v18.proteinatlas.org/news/press+room
  11. Human Protein Atlas Downloadable data(v20.1 下载页)。 https://v20.proteinatlas.org/about/download
  12. Human Protein Atlas Help & FAQ(图像获取与评分规则)。 https://v21.proteinatlas.org/about/help
  13. Human Protein Atlas Antibody validation(验证五策略)。 https://v21.proteinatlas.org/about/antibody+validation
  14. Human Protein Atlas Licence & Citation。 https://v18.proteinatlas.org/about/licence
  15. Human Protein Atlas Tissue 方法页(v22)。 https://v22.proteinatlas.org/humanproteome/tissue/method
  16. Human Protein Atlas 2025 年度总结(2026-01-08)。 https://v19.proteinatlas.org/news/2026-01-08/reflections-on-the-hpa-year-2025
  17. Springer Nature Research Communities 官方复盘博客(HPA 竞赛幕后)。

§10.4 人工校验记录

内容模块 审核者 审核方式 审核状态
§1 概览与 §1.4 版本时间轴 千方病案医学编辑部 对照官方 history/press room 逐条核对 ✅ 已通过
§2 医学背景(ICD-11/SNOMED 映射) 千方病案医学编辑部 术语专家复核映射合理性并加注说明 ✅ 已通过
§3 规模数字与 §4 数据结构 千方病案医学编辑部 对照 About/下载页/release notes 核数 ✅ 已通过
§6 代码与 8 坑点 千方病案医学编辑部(数据工程) 代码逻辑走查 + 坑点溯源官方文档 ✅ 已通过
§7 DAIMS 与偏倚分析 千方病案医学编辑部 依据 Nature Methods 2019 与官方 FAQ 复核 ✅ 已通过
§8 基准数字 千方病案医学编辑部 对照 Nature Methods 2019 表 1 核对 ✅ 已通过
§9 引用与 §10 来源清单 千方病案医学编辑部 DOI/URL 逐条验证 ✅ 已通过

§10.5 AI 生成章节标注

全部章节由 AI 起草初稿;§0、§2、§7 的医学与偏倚表述经编辑部人工改写确认;§6 代码经人工逻辑走查;其余章节以 AI 初稿 + 人工事实核验方式定稿。页面不存在纯 AI 未审章节。

逐章核验覆盖:§1-§10 全部主章节与 §C 结构化数据块均纳入人工核验范围,无豁免章节。

§10.6 最后人工审核日期

2026-09-05(与 §0.3 审核日期一致)

页面状态:published(全部内容已完成审核并发布)


§C 结构化数据(JSON-LD)


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • cellxgene — 共享标签:医学影像 / 基因组学与多组学 / 病理图像 / 转录组
  • tcga — 共享标签:基因组学与多组学 / 蛋白质组学 / 转录组
  • immport — 共享标签:基因组学与多组学 / 蛋白质组学 / 转录组
  • tabula-muris — 共享标签:医学影像 / 基因组学与多组学 / 病理图像
  • hlca — 共享标签:医学影像 / 病理图像 / 转录组
  • kpmp — 共享标签:基因组学与多组学 / 病理图像 / 转录组
  • icgc — 共享标签:医学影像 / 基因组学与多组学 / 病理图像
  • hest-1k — 共享标签:医学影像 / 病理图像 / 转录组
  • human-cell-atlas — 共享标签:医学影像 / 基因组学与多组学 / 病理图像
  • upenn-gbm — 共享标签:医学影像 / 基因组学与多组学 / 病理图像

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集