# 第 03 章 公共数据库详解

> 本章属于“Track B：数据基础”，为第 06 章的数据获取做知识准备。建议先读完第 01、02 章再进入本章。

## 本章目标

学完本章，你将能够：

1. 说清楚公共生物数据库的数据从哪来、为什么可以免费用于科研；
2. 认识本教程的两大数据来源——TCGA-LIHC 与 GSE14520（GEO），并知道各自的访问入口；
3. 理解 GEO 中 GDS/GSE/GSM/GPL 的层级关系，会用 accession 编号检索数据集；
4. 了解 GO、KEGG、STRING、HPA、GTEx 等常用数据库分别能回答什么问题；
5. 学会根据“要回答的科学问题”选择正确的数据库。

## 3.1 公共数据库生态总览

![图05 公共数据库全景（示意图，以各数据库官方页面为准）](../figures/fig05_databases.png)

> 说明：上图是教程绘制的示意图，仅用于展示数据库之间的分工关系；图中每个数据库的详细内容以官方页面为准。

**数据从哪来？** 世界各地的科研机构（尤其是美国国立卫生研究院（NIH）系统资助的大型项目）按“数据共享”要求，把论文背后的数据“上交”到公共数据库。以 TCGA 为例：它收集上万例癌症患者的肿瘤组织，完成测序与临床随访后，把表达矩阵、突变、临床表等公开发布，任何研究者都可下载。

**为什么免费？** 这些研究主要由纳税人资助，成果属于公共资源；期刊与基金也要求数据共享。你可以免费下载使用，唯一要求是发表论文时正确引用（见第 13 章）。一句话：**免费但要用，用了要 cite**。

**常用数据库按功能分类**（对应上图）：

- 原始与表达数据：GEO、TCGA（GDC）、GTEx；
- 临床与多组学整合：TCGA、UCSC Xena、cBioPortal；
- 功能注释与通路：GO、KEGG；
- 蛋白互作与蛋白表达：STRING、HPA；
- 在线分析工具：TIMER、GEPIA。

本教程的核心数据其实只需要两处：**TCGA-LIHC**（发现队列）和 **GSE14520**（验证队列），其余数据库用于辅助分析与验证。

## 3.2 TCGA：癌症基因组图谱

**TCGA（The Cancer Genome Atlas，癌症基因组图谱）** 由美国国家癌症研究所（NCI）与国家人类基因组研究所（NHGRI）联合发起，自 2006 年起覆盖 33 种癌症类型（以官方发布为准），每种癌症同时提供多组学数据与临床随访信息。

**TCGA-LIHC**：肝细胞癌（Liver Hepatocellular Carcinoma, LIHC）队列，是肝癌研究中引用最多的公共数据之一。本教程使用的是其 RNA-seq 表达谱与临床随访数据，约 **371 例肿瘤组织 + 50 例癌旁正常组织**（样本数以 TCGA 官方发布为准）。

**TCGA 提供哪些数据类型？**

- **RNA-seq 表达量**：如 HTSeq-Counts（原始计数）与 HTSeq-FPKM（标准化表达量）；
- **临床随访**：生存状态、生存时间、TNM 分期、年龄、性别等；
- **体细胞突变**（MAF 文件）、拷贝数变异（CNV）、DNA 甲基化。

**怎么访问？** 三个常用入口，用途不同：

1. **GDC Data Portal（官方渠道）**：https://portal.gdc.cancer.gov ，TCGA 数据的官方发布站点，可精确筛选后下载，但对新手来说筛选项较多；
2. **UCSC Xena**：https://xena.ucsc.edu ，把 TCGA 等数据整理成“基因 × 样本”的表达矩阵和“样本 × 字段”的临床表，下载最方便，第 06 章就用它；
3. **cBioPortal**：https://www.cbioportal.org ，网页可视化见长（突变、表达、生存曲线），适合先探索，不必下载。

> 注意：TCGA 大部分**处理后的数据**（表达矩阵、临床表）公开可下载；少数**受控数据**（部分原始测序文件、部分临床字段）需要向 dbGaP（基因型与表型数据库）提交申请，以 GDC 官方说明为准。

> 本教程只使用 TCGA-LIHC 的表达与临床两类数据，突变、拷贝数、甲基化等其他类型先了解即可。

## 3.3 GEO：基因表达综合数据库

**GEO（Gene Expression Omnibus，基因表达综合数据库）** 由美国国家生物技术信息中心（NCBI）维护，地址：https://www.ncbi.nlm.nih.gov/geo ，是全世界最大的基因表达数据库。芯片时代的绝大多数表达数据以及大量 RNA-seq 数据都存在这里。

**GEO 的四级结构**（新手最容易混淆，务必记牢）：

- **GPL（Platform，平台）**：芯片/测序平台，如 GPL3921（Affymetrix 某款人类全基因组芯片）。平台决定“用什么尺子量表达量”；
- **GSE（Series，系列）**：一项研究的所有样本合在一起，是下载的基本单位，如 GSE14520；
- **GSM（Sample，样本）**：单个样本的表达数据；
- **GDS（DataSet，数据集）**：把某个 GSE 按统一平台整理成便于比较的子集（不是每个 GSE 都有 GDS）。

> 本教程直接使用 GSE 层级的系列矩阵，不需要用到 GDS。

一个类比：GSE 是一“期杂志”，GSM 是其中的“每篇文章”，GPL 是“印刷用的纸张规格”，GDS 是杂志社编的“精选合集”。

**GSE14520**：本教程的验证队列。它由复旦大学生物医学研究院等团队提交，是肝细胞癌（HCC）表达谱数据集，包含肿瘤与癌旁样本，并**带有生存随访**——这正是它能做“生存验证”的原因。其芯片平台为 GPL3921，探针 ID 需映射为基因 Symbol（第 06 章实操）。具体样本数与字段以 GEO 页面为准。

**怎么检索？** 打开 GEO 主页，在搜索框输入 **accession（登录号）**，如 `GSE14520`——它是数据集的“身份证号”，比名字可靠。页面底部有 "Series Matrix File(s)" 下载入口；R 的 GEOquery 会自动获取这些文件（第 06 章）。

**GEO 页面上会看到什么？** 打开 GSE14520 的页面，主要元素包括：标题与摘要（这个研究做了什么）、"Platforms"（平台，如 GPL3921 的链接）、"Samples"（该系列包含的所有 GSM 样本列表）、以及底部的下载文件区（Series Matrix File(s) 和 Supplementary files）。其中 Series Matrix File 就是我们在 R 里用 GEOquery 读取的文件，格式为文本表格。

## 3.4 功能注释与通路库：GO 与 KEGG

拿到差异基因列表之后，你想知道“这些基因在做什么”，就需要功能注释数据库。

**GO（Gene Ontology，基因本体）**：https://geneontology.org ，用一套受控词汇描述基因功能，分三个分支：

- **BP（Biological Process，生物学过程）**：基因参与的过程，如“细胞焦亡”（pyroptosis）、“炎症反应”；
- **CC（Cellular Component，细胞组分）**：基因产物所在的细胞位置，如“质膜”“线粒体”；
- **MF（Molecular Function，分子功能）**：基因产物的分子活性，如“蛋白结合”“激酶活性”。

**KEGG（Kyoto Encyclopedia of Genes and Genomes，京都基因与基因组百科全书）**：https://www.kegg.jp ，把基因映射到代谢与信号通路上，回答“这些基因富集在哪些通路”，如 NF-κB 信号通路、TNF 信号通路等。

一句话记忆：**GO 管“功能分类”，KEGG 管“通路”**。第 09 章会用 clusterProfiler 自动完成 GO/KEGG 富集分析。

在本课题中，GO/KEGG 的作用是把“焦亡基因集与差异表达基因的交集”放到功能语境里解释：例如这些基因富集在“炎症反应”“NF-κB 信号通路”等条目，就能说明焦亡基因可能通过哪些机制影响 HCC 的进展（第 09 章实操）。

## 3.5 蛋白互作与蛋白表达：STRING 与 HPA

**STRING**：https://string-db.org ，蛋白-蛋白互作（protein-protein interaction, PPI）数据库。输入基因列表，它综合实验、文献等证据给出互作网络，第 10 章用它找 hub 基因（关键节点）。

**HPA（Human Protein Atlas，人类蛋白图谱）**：https://www.proteinatlas.org ，用免疫组化、质谱等手段展示蛋白在人体组织中的真实表达。它提醒我们：**mRNA 表达高 ≠ 蛋白表达高**。想验证某个基因在蛋白水平是否真的高表达时，就去查 HPA。

## 3.6 其他常用数据库

- **GTEx（Genotype-Tissue Expression，基因型-组织表达）**：https://gtexportal.org ，健康人（非肿瘤）各组织的表达基线。想知道“某个基因在正常肝里应该有多高”，用它做参照；
- **TIMER**：https://timer.cistrome.org ，在线免疫浸润分析工具，输入基因可看它与肿瘤中免疫细胞浸润丰度的相关性（以官网当前版本为准）；
- **GEPIA**：https://gepia.cancer-pku.cn ，北大开发的在线工具，无需下载即可做表达对比与生存分析；
- **UCSC Xena**：https://xena.ucsc.edu ，整合 TCGA、GTEx 等数据，下载与在线分析两用（见 3.2 节）。

## 3.7 如何选择数据库回答你的科学问题

**原则：先有科学问题，再选数据库。** 下面是一张快速决策表（示意）：

| 我想知道…… | 用哪个数据库 | 数据类型 |
| --- | --- | --- |
| 基因在肿瘤 vs 癌旁中的表达差异 | TCGA、GEO、GTEx | 表达矩阵 |
| 基因与患者生存的关系 | TCGA、GEO（带随访） | 表达 + 临床 |
| 基因有哪些突变 | TCGA（GDC / cBioPortal） | 突变 MAF |
| 这些基因参与什么通路 | GO、KEGG | 注释 / 通路 |
| 蛋白之间怎么相互作用 | STRING | PPI 网络 |
| 蛋白水平是否真的高表达 | HPA | 蛋白表达 |
| 免疫细胞浸润情况 | TIMER、GEPIA | 在线分析 |

**本教程的选库逻辑**：科学问题是“焦亡相关基因在 HCC 中表达是否异常、哪些与预后相关、能否构建预后风险模型”。因此需要：

1. 一个带肿瘤/癌旁分组 + 生存随访的表达数据集 → **TCGA-LIHC**（发现队列）；
2. 另一个独立数据集做验证 → **GSE14520**（验证队列，同样带生存）。

用两个独立数据集回答同一问题，是生信挖掘论文最常见的证据增强方式（第 12 章会详细讲验证）。

**新手常见误区**：先下载了一堆数据，再想“能做什么”——这会导致分析方向混乱。正确顺序是先写下你的科学问题，再决定需要什么类型的数据，最后才去下载。数据不是越多越好，够回答问题即可。

选库不是一次性的：分析过程中发现缺数据（比如缺正常组织表达基线），随时回到这张表补选即可。

## 本章小结

- 公共数据来自科研机构的共享义务：免费使用，但发表论文时必须正确引用；
- 本教程数据核心是 TCGA-LIHC（发现队列）与 GSE14520（验证队列）；
- GEO 层级：GPL（平台）→ GSE（系列）→ GSM（样本），accession 是检索的“身份证号”；
- GO 分 BP/CC/MF 管功能分类，KEGG 管通路；STRING 管蛋白互作，HPA 管蛋白水平验证；
- 选库原则：先有科学问题，再对照“数据类型 → 数据库”选库。

## 思考题

1. 为什么“mRNA 表达高”不等于“蛋白表达高”？如果你想验证某个焦亡基因在蛋白水平的表达，应该用哪个数据库？
2. GSE 和 GSM 有什么区别？为什么下载数据时通常以 GSE 为单位？
3. 如果你的课题想研究“基因突变频率与免疫治疗疗效”，除了 TCGA，还可能需要哪些数据库？
4. 试着用 accession 检索 GSE14520，看看它的平台（GPL）是什么、样本数有多少，与本章描述是否一致。
