ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

手把手教你从 GEO 下载 RNA 表达量:不再被矩阵数据坑

手把手教你从 GEO 下载 RNA 表达量:不再被矩阵数据坑

刚跑完测序,或者拿到了一批芯片数据,想要把 GEO 里的原始表达量扒下来做后续分析?别急着去搜那些全是广告的博客。

很多生物狗第一次摸 GEO 数据库,最大的坑就在数据下载这一步。点下去,出来一个 .tar.gz,打开是一堆 CEL 文件,或者是一大串矩阵,根本不知道哪个是最终想要的表达量。更搞心态的是,有些文章里写的表达量,和你下载下来的数值对不上,差了几千倍甚至上万倍。这时候,网上所谓的“教程”通常只给你看第一步,让你自己猜。

今天直接把底裤扒开,讲点实操的。咱们不整虚的,就解决一个核心问题:怎么把 GEO 里的 RNA 表达量(Normalized Expression Matrix)准确拿到手。

第一步:搞清楚你要查的 GDS/GE 编号是啥

打开 NCBI GEO 官网。注意,是用谷歌搜,别用国内那些乱七八糟的镜像站,数据经常不全。

如果你手头已经有 GDS 编号(比如 GDS12345)或者 GSE 编号(比如 GSE12345),直接在搜索框里贴。

如果你的手头只有文章标题,先搜文章,找到对应的 GSE。这一步很基础,但很多人连这个都搞混,搞不清 GDS 和 GSE 的区别。简单说,GSE 是一次实验的全部数据,GDS 是已经处理好的矩阵数据。如果你要做表达量分析,优先找 GDS。

第二步:进入“Summary”页面,别乱点

找到你要的数据集后,别急着点 Download。

点进详情页,往下拉,找到 "Data Processing" 或者 "Processed Data" 这一栏。

这里有个大坑:很多数据集会提供多种文件格式。

如果你看到的是 .hts, .tab, 或者 .csv,那恭喜你,运气不错。

如果你看到的是 .cel, .raw,停!别下载。那是原始探针值,你后续还得做 RMA 或者 MA 校正,麻烦得要死。对于新手,或者想快速出图的情况,直接找 "Processed Data" 下的 "Series Matrix"。

第三步:分辨 GDS 和 GSE 的下载逻辑

这里分两种情况,也是大多数文章不敢细讲的地方。

情况 A:有 GDS 记录。

你在搜索 GSE 时,如果看到它下面关联了一个 GDS 编号,比如 GDS11111。

直接点击这个 GDS 链接。

在 GDS 页面,找到 "Supplementary file"。

这里通常有几个文件:gpl.txt (探针信息), dset.txt (表达量矩阵)。

一定要下载 dset.txt 或者对应的 .tsv 文件。打开看看,第一行第一列是 Entrez Gene ID,后面是样本编号,数值是对数转换后的(通常是 log2)。这时候,你才算真正拿到了geo下载rna表达量 的标准格式。

情况 B:只有 GSE,没有现成的 GDS。

这时候你需要看 "Supplementary file" 里有没有作者上传的处理好的矩阵。

很多老板自己跑完数据,会在 GEO 传个 .txt 或者 .csv,文件名可能是 expression_matrix.csv 或者 normalized_counts.txt

如果有,直接下这个。

如果没有,你只能下载原始数据(Raw Data),然后自己回去用 R 语言的 limma 或者 Bioconductor 包去跑。这对新手不友好,所以建议尽量找那种直接提供 Processed Data 的老数据集。

第四步:下载后的清洗与验证

文件下到本地,别急着拖进 SPSS 或者 Excel。

用记事本或者文本编辑器打开 .tsv 文件。

看一眼表头。

确认 ID 列是什么。是 RefSeq?Gene Symbol?还是 Entrez ID?

这点至关重要。如果你的基因注释是过时的,后面拿到的 P 值全是错的。

检查样本分组列。

确认哪些是病例(Case),哪些是对照(Control)。GEO 的表里经常只有一行描述,你得自己去原文的 Metadata 里核对样本分组。

这一步不做,后面白干。我曾经就吃过亏,把样本分组搞反了,导致差异基因全反了,返工一周,心态崩了三天。

常见雷区:为什么你下下来的数据对不上?

很多时候,你下下来的数值,和文章 Figure 1 里的热力图对不上。

原因只有一个:数据类型不一样。

文章里画的可能是 t-test 的 P-value,或者是 log2FC。

你下下来的是 log2(normalized intensity)。

或者,文章用的是探针水平(Probeset),而你下的是基因水平(Gene)。一个基因对应多个探针,平均策略不同,数值就不同。

所以在写文章或者做分析前,务必核对清楚:你要的geo下载rna表达量 到底是指探针水平还是基因水平?是指线性数值还是对数数值?

最后:关于文件名的玄机

下载文件时,注意文件名。

如果是 GDS 里的 dset.txt,通常结构很标准。

如果是作者自传的 CSV,结构千奇百怪。有的第一行是样本名,有的第一列是基因名,有的甚至把分组信息混在列名里(比如 sample1_case, sample2_control)。

这时候,用 R 语言的 read.csv,指定 header=FALSE,再手动解析,能救你一命。

总结下来,别迷信自动工具。GEO 是个宝库,但也满地是坑。

手动下载,仔细核对元数据,确认数值类型。

只有这三步走稳了,你的下游分析才有意义。

别为了省事去用那些不知名的在线转换工具,数据安全不说,准确性也是个大问号。

自己动手下原始矩阵,虽然慢一点,但睡得踏实。

返回列表