GEO 公共数据挖掘与数据下载
GEO(Gene Expression Omnibus)是 NCBI 维护的功能基因组数据库,收录大量芯片、RNA-seq、甲基化和单细胞数据。GEO 数据挖掘是用已发表数据回答新问题:寻找疾病相关基因、验证自己的发现、在独立队列中检验候选标志物。层级上 GSE 是一项研究,GSM 是样本,GPL 是平台;处理后矩阵在 Series Matrix 或补充文件中,原始读段存放在 SRA(SRP、SRX、SRR)。难点不在下载,而在挑选数据集、读懂样本分组,以及处理跨数据集的平台和批次差异。
什么时候用
- 做实验前用公共数据检验假设,看目标基因在疾病中是否变化
- 为自己实验得到的差异基因寻找独立数据集验证
- 合并多个同类数据集扩大样本量,筛选稳健的疾病相关基因
- 下载 SRA 原始 FASTQ,用统一流程重新定量以消除处理差异
- 收集带临床信息的队列,初步评估诊断或预后候选标志物
不适合的情况
- 只用一个每组仅几例的小数据集下结论:统计功效低,结果难以重复
- 把多个数据集直接拼接当作一批数据分析:平台差异会压过生物学差异
- 受控访问的人类原始数据:dbGaP、EGA 中的数据需另行申请权限
需要准备的数据
- 研究问题与纳入标准
- 物种、组织、疾病与对照定义、平台类型、最少样本数,决定检索式和数据集取舍
- GSE 编号列表
- 可由检索得到或直接提供;每个数据集记录 GPL 平台编号和对应的发表文献
- 样本注释
- Series Matrix 的 characteristics 字段或 SRA RunInfo 表,确定分组与协变量
- 平台注释
- 芯片数据需 GPL 注释把探针映射到基因;测序数据需记录原作者使用的基因组和注释版本
分析步骤
- 1
检索与筛选
在 GEO DataSets 中组合疾病、组织、物种和数据类型检索,按样本量、对照是否合适、有无原始数据列出候选数据集,并逐条记录纳入和排除理由。
- 2
读懂样本设计
逐个查看 GSM 页面,或用 GEOquery 的 getGEO 读取样本表,核对 characteristics 字段中的组别、处理时间、组织来源和个体编号。很多 GSE 混合了多个子实验,只能取其中一部分样本。
- 3
获取表达数据
芯片优先下载 CEL 等原始文件自行标准化,或使用 Series Matrix 中的处理后数据;RNA-seq 优先使用原始计数。部分人和小鼠 RNA-seq 数据集,GEO 还提供 NCBI 统一生成的计数矩阵。
- 4
下载原始读段
用 SRA Toolkit 的 prefetch 和 fasterq-dump,或从 ENA 下载 fastq.gz;批量下载可用 nf-core/fetchngs,输入 SRR、GSE 等编号并生成样本元数据表。下载后核对文件数和读段数。
- 5
检查数值尺度
判断表达值是否已 log2 转换:最大值远超 100 时通常还未取对数。用箱线图看各样本分布是否已标准化;探针映射到基因后,一个基因对应多个探针时取平均或保留平均表达最高的探针。
- 6
单数据集分析
芯片数据用 limma,计数数据用 DESeq2 或 edgeR,按样本设计写对比。先用 PCA 确认组间能否分开,并找出明显离群或疑似标签错误的样本。
- 7
整合与验证
取共同基因,可分别分析后用秩聚合或效应量 meta 分析汇总,也可用 ComBat 校正后合并。最后在未参与筛选的独立数据集上验证,并在报告中列出每个数据集的来源和处理方式。
关键参数与决策
纳入标准
在看结果之前确定物种、组织类型、对照定义、最少样本数和平台类型,并写入方法。事后按结果是否理想挑选数据集,会引入选择偏倚,使结论难以重复。
处理后数据还是原始数据
原始数据可用统一流程处理,可控性高但耗时;处理后矩阵获取快,但各研究的归一化方法不同。需要合并分析时,尽量从原始数据统一处理。
跨数据集批次处理
表达矩阵合并常用 sva 包的 ComBat,计数数据用 ComBat-seq,校正时要保留分组协变量。若一个数据集只有疾病组、另一个只有对照组,批次与分组完全混杂,无法校正。
探针到基因的映射
以 GPL 注释表或 Bioconductor 注释包为准。多个探针对应一个基因时的取舍规则(取平均、取平均表达最高或方差最大)要固定并写明,无法映射的探针直接去除。
发现集与验证集划分
用于筛选基因的数据集不能同时用来验证。建议至少保留一个来源独立、最好平台不同的数据集作为验证,检验结论能否跨平台重复。
常见错误
- 不看 characteristics 字段就按样本顺序分组:Series Matrix 中样本不一定按组排列,分组一旦错位,后续所有结果都失去意义。
- 对已 log 转换的数据再取对数:数值被压缩到很窄的范围,倍数变化严重低估;反之对未 log 的数据直接用 limma,高表达基因会主导结果。
- 把细胞系、组织和外周血数据集混在一起:组织来源差异远大于疾病效应,合并后筛出的多是组织特异基因。
- 下载后不核对原始读段:下载中断或拆分方式不对,会出现双端只剩一个文件、读段数与 SRA 记录不符,下游比对结果随之出错。
- 差异基因、富集、PPI、hub 基因全在同一数据集上完成:结论依赖单一数据,需要独立队列或实验验证才有说服力。
- 忽略同一文库的多个 SRR:一个 SRX 可能拆成多个测序运行,未合并就当作不同样本,会凭空增加重复数。
结果怎么看
数据集纳入表
列出 GSE 编号、平台、物种、组织、各组样本数、数据类型和纳入理由。读者据此判断证据来源;表中样本数与原文献不一致时,要先回查是否漏选或多选了子实验。
样本注释表
统一整理各数据集的分组、性别、年龄、处理方式等信息,整理后应能直接看出每组样本数。关键信息缺失要明确标注为缺失,而不是默认填补。
合并前后 PCA 图
合并前样本通常按数据集分开,校正后应按生物学分组聚集。若校正后分组差异也消失,说明校正过度或批次与分组混杂,需要改用分别分析再汇总的策略。
跨数据集一致性表
列出每个候选基因在各数据集中的 log2FC 和 P 值。在多数数据集中方向一致的基因更可信,只在单个数据集显著的基因应降低优先级。
和相近方法怎么选
GEO 与 TCGA
TCGA 提供统一流程处理的肿瘤多组学数据和临床随访,适合肿瘤预后研究;GEO 覆盖的疾病和实验类型广得多,但各数据集处理流程不同,整合工作量大。肿瘤研究常以 TCGA 发现、GEO 验证。
GEO2R 与本地分析
GEO2R 可以在线快速比较两组样本,适合初步浏览;但它能设置的参数有限,无法纳入协变量、批次,也不能做多数据集整合。正式分析应下载数据在本地完成。
合并分析与 meta 分析
ComBat 合并后统一分析,样本量增大,但结论依赖校正质量;各数据集分别分析后用秩聚合或效应量合并,不直接改写表达值,更适合平台差异较大的情况。
GEO 与单细胞公共数据库
GEO 也收录单细胞数据,但格式不统一,常需自行整理;CELLxGENE 等单细胞专门平台提供统一格式和注释,检索和再分析更方便,详见单细胞公共数据页。
常见问题
GEO 数据怎么下载?
处理后的表达矩阵在 GSE 页面下载 Series Matrix 或补充文件,R 中可用 GEOquery 的 getGEO 读取。原始测序数据通过页面底部的 SRA Run Selector 获取 SRR 列表,再用 SRA Toolkit 或从 ENA 下载。
Series Matrix 里没有表达值怎么办?
RNA-seq 数据集常把表达矩阵放在补充文件中,而不是 Series Matrix。先查看 GSE 和 GSM 页面的 Supplementary file;仍没有时,可查看是否有 NCBI 生成的计数,或从 SRA 下载原始数据重新定量。
多个 GEO 数据集怎么合并去批次?
先统一基因 ID 和数值尺度(都为 log2),取共同基因,再用 ComBat 在保留分组协变量的前提下校正,并用 PCA 检查效果。批次与分组完全混杂时不能这样合并,应分别分析后再汇总。
SRP、SRX、SRR 有什么区别?
SRP 对应一个研究项目,SRX 是一个实验(通常对应一个文库),SRR 是一次测序运行。一个文库可能有多个 SRR,定量前通常需要把同一 SRX 下的读段合并为一个样本。
芯片数据和 RNA-seq 数据能放在一起分析吗?
不建议直接合并表达值,两者的数值分布和动态范围不同。更稳妥的做法是分别完成差异分析,再比较基因的变化方向和排序,或用秩聚合汇总,把跨平台一致的基因作为更可信的结果。
在 Codar 里怎么做
Codar 会检索 GEO 等生物医学数据库,按物种、组织、样本量和平台列出候选数据集,与你确认纳入标准和发现集、验证集划分;需要原始数据时,通过 nf-core/fetchngs 流程按编号批量下载 FASTQ 并生成元数据表。交付数据集纳入表、样本注释、多数据集证据报告和可复现脚本。
帮我在 GEO 找人类溃疡性结肠炎肠黏膜的 RNA-seq 和芯片数据集,每组不少于 10 例,分出发现集和验证集