GEOZ

GEO数据下载与注释:三种路径实测对比

2026/7/28
GEO数据下载与注释:三种路径实测对比

AIAI Summary (BLUF)

本文详细介绍了如何从GEO官网下载表达和临床数据,包括GPL、GSM、GSE、GDS等核心概念,以及筛选高质量数据集的方法。同时,提供了三种获取注释信息的方式(TXT、Soft、R包)和对应的R代码,帮助读者完成探针到基因的映射、表达矩阵整理和临床信息提取。

核心洞察

这篇文章最有意思的点在于,它把GEO数据下载和注释这件事拆成了三个可选路径,而不是丢给你一套“标配代码”。很多人第一次碰GEO,最头疼的就是注释文件格式五花八门,TXT、SOFT、R包到底选哪个?看完你就知道,其实取决于你手头碰到的那个GPL平台长什么样。实测下来,TXT格式最通用,但R包最省事——前提是你用的平台得有人写好了包。


核心结论

  1. GEO数据下载和注释有三种可选路径:TXT格式(下载full table)、SOFT格式(下载.soft.gz文件)和对应平台的R包(如hgu133plus2.db)。前两种方法至少有一个可用,第三种仅限热门平台。
  2. 处理表达矩阵时,程序会自动判断是否需要log2转换:若数据已做过log2转换会显示“log2 transform not needed”,否则自动完成并提示“log2 transform finished”。
  3. 筛选高质量数据集的标准是样本量大于30,且实验设计包含癌组织与癌旁正常组织的对比。这两个条件可以筛掉大量无效数据。
  4. 注释整理的关键流程:读取注释文件后,将探针ID与表达矩阵ID匹配,删除无注释探针和重复基因(保留表达值最大的探针),最后行名改为基因名,导出为GSE.txt文件。

一、从GEO官网下载表达和临床数据

先打开GEO主页:https://www.ncbi.nlm.nih.gov/geo/

GEO数据库里都有啥

搞懂这几个编号,后面就不会迷路。

GEO Platform(GPL)
就是实验用的芯片或测序平台。里面存着探针和基因的对应关系、平台设计参数这些元数据。
比如GPL570,是Affymetrix的人类基因组U133 Plus 2.0芯片。

GEO Sample(GSM)
单个样本的实验数据。包含原始文件(比如CEL)、处理后的表达矩阵,还有样本描述(疾病状态、处理条件啥的)。
比如GSM12345,一个肺癌组织的表达谱。

GEO Series(GSE)
把多个样本(GSM)串起来的一个完整研究项目。里面会写实验设计、分析方法,以及所有相关的GSM和GPL的索引。
比如GSE12345,包含了20个肺癌样本的转录组数据。

GEO Dataset(GDS)
NCBI自己整合并标准化过的数据集。格式统一,自带表达矩阵和注释,还有差异分析工具。
比如GDS1234,是标准化后的乳腺癌表达数据集。

怎么筛选你想要的数据

第一步:关键词检索
用癌症名称、研究目的、同义词这些关键词搜。比如肺癌、lung cancer、NSCLC。

第二步:缩小范围
一般只筛物种就行——临床研究选human(Homo sapiens),可信度高。点进去再看具体信息:如果是看基因表达,就选Expression profiling by array;研究表观遗传的选Methylation profiling by array;需要特殊分子或者整合分析的,点Customize

第三步:挑高质量的数据集
样本量大于30,实验设计要有癌组织和癌旁正常组织的对比。这两个条件能筛掉很多废数据。

第四步:下载数据
页面里选Series Matrix File(s)。这个文件包含三部分:GSE基本信息、临床信息、表达矩阵。一起打包,省事。


二、获取注释信息

注释就是把探针ID翻译成基因名。获取方式有三种,一般前两种里至少有一个能用,第三种只对部分常见平台友好。

进入对应平台文件(GPL)页面,拉到最底下。

1. TXT格式

看到Download full table,点它。下载下来就是制表符分隔的文本文件,直接读入R。

2. SOFT格式

如果页面显示的是View full table,那就点SOFT formatted family file(s)。进去后再下载.soft.gz文件。解压后是SOFT格式,需要特殊解析。

3. 对应平台的R包

有些流行平台(比如GPL570对应的hgu133plus2.db)已经有人写好了R包。代码和详细说明可以参考这篇转载:
https://blog.csdn.net/weixin_40739969/article/details/103186027


三、注释及整理

不同方式拿到的注释文件,处理方式也不一样。
重要的事说三遍:先解压,先解压,先解压文件。

下面代码块里,#后面是注释,你照着自己的路径和文件名改就行。

1. TXT格式的处理

library(GEOquery)
setwd("你自己的工作目录路径")

# 下载矩阵(目录下已有会自动读取)
# 获取表达矩阵
# 注意看log2的提示:
#   如果数据已经log过,会显示 log2 transform not needed
#   如果没log,程序会帮你做log2转换,完成后显示 log2 transform finished

# 获取临床信息
# 输出临床信息

# 读入TXT注释文件
# 查看内容
# 提取探针ID和基因symbol
# 修改列名
library(stringr)

# 去掉没有注释到symbol的探针
# 注意:有些探针ID全是数字,R会默认当成数值型,要转成字符型
# 平台文件里的ID和表达矩阵里的ID做匹配(用%in%)

# 获取匹配的表达数据
# 查看探针名和注释文件名是否完全一致
# 合并
# 删掉重复基因,保留表达值最大的那个探针
# 注意检查是否需要删掉某些行(比如对照探针)
# 把行名改成基因名
# 删掉前两列(探针ID等)
write.table(data.frame(ID=rownames(dat),dat), file="GSE.txt", sep="\t", quote=F, row.names=F)

2. SOFT格式的处理

library(GEOquery)
setwd("你自己的工作目录路径")

# 下载矩阵
# 获取表达矩阵(同样注意log2提示)
# 获取临床信息并输出

# 下载SOFT注释文件(目录下有会自动读入)
# 提取注释信息
# 查看
# 提取探针ID和基因symbol
# 修改列名
library(stringr)

# 去掉无注释探针
# 探针ID转字符型
# 匹配ID
# 获取匹配表达数据
# 检查一致性
# 合并
# 删除重复基因,保留最大值
# 注意检查行
# 转化行名
# 删掉前两列
write.table(data.frame(ID=rownames(dat),dat), file="GSE.txt", sep="\t", quote=F, row.names=F)

3. 用对应平台的R包

library(GEOquery)
setwd("你自己的工作目录路径")

# 下载矩阵
# 获取表达矩阵(log2提示同前)
# 获取临床信息并输出

library(hgu133plus2.db)  # 换成你平台对应的包
library(dplyr)

# 查看列名,获取SYMBOL
# 获取探针ID和gene symbol
# 修改列名
# 获取基因symbol
# 去掉无注释探针
# 探针ID转字符型
# 匹配ID
# 获取匹配表达数据
# 检查一致性
# 合并
# 删除重复基因,保留最大值
# 注意检查行
# 转化行名
# 删掉前两列
write.table(data.frame(ID=rownames(dat),dat), file="GSE.txt", sep="\t", quote=F, row.names=F, col.names=T)

四、导出

1. 临床信息

整理一下:删掉不需要的列,只保留你要的——性别、年龄、分期、生存状态这些。

2. 表达矩阵

上面代码已经导出了GSE.txt。行是基因,列是样本,值就是表达量。可以直接拿去跑差异分析、画热图之类的了。

常见问题(FAQ)

GEO数据库中的GPL、GSM、GSE、GDS分别代表什么意思?

GPL是芯片平台,包含探针与基因对应关系;GSM是单个样本数据;GSE是系列,包含多个样本及实验设计;GDS是NCBI标准化后的数据集。

如何筛选高质量GEO数据集?

关键词检索后,选择人类样本,样本量大于30,实验设计包含癌组织和癌旁正常组织对比,可信度高。

获取GEO注释信息有哪三种方式?

TXT格式(下载全表)、SOFT格式(需解析)、对应平台的R包(如hgu133plus2.db)。R包最省事,但仅限于常见平台。

Roger深圳
本文由 Roger 审核,最后更新于 2026年7月28日
联系编辑 →
← 返回文章列表
分享到:微博

版权与免责声明:本文仅用于信息分享与交流,不构成任何形式的法律、投资、医疗或其他专业建议,也不构成对任何结果的承诺或保证。

文中提及的商标、品牌、Logo、产品名称及相关图片/素材,其权利归各自合法权利人所有。本站内容可能基于公开资料整理,亦可能使用 AI 辅助生成或润色;我们尽力确保准确与合规,但不保证完整性、时效性与适用性,请读者自行甄别并以官方信息为准。

若本文内容或素材涉嫌侵权、隐私不当或存在错误,请相关权利人/当事人联系本站,我们将及时核实并采取删除、修正或下架等处理措施。也请勿在评论或联系信息中提交身份证号、手机号、住址等个人敏感信息。