面对海量基因组数据,你是否经常对ENST标识感到困惑?这篇干货直接告诉你GEO数据中ENST到底是什么,怎么用最。
很多生信新手拿到GEO数据库的芯片数据,第一反应就是懵。尤其是看到探针注释表里那一堆ENST开头的神秘代码,根本不知道咋下。别急,今天就掰开揉碎讲明白。
本文关键词:GEO数据中ENST
先说结论:ENST是Ensembl转录本ID。在GEO数据中ENST主要用来定位具体是哪段RNA序列被检测到了。它不是基因名,而是转录本的唯一身份。
为什么GEO里全是ENST?因为芯片探针设计依据的是Ensembl数据库。每个探针都锚定在特定的转录本上。所以你在注释文件里看到的ENST.6xxx.xxx.v3,就是探针对应的转录本版本。
那具体怎么处理?下面给套实操步骤。
第一步:下载数据文件。去GEO官网搜你的Dataset ID。找到supplementary files里的probe mapping文件。这个文件通常是个表格,包含Probe ID、Gene Symbol、Transcript ID。
这时候你会发现,Transcript ID列里全是ENST开头的ID。这就是我们要关注的核心。
第二步:理解ENST结构。比如ENST00000257974.6,前面的ENST是固定前缀。中间的00000257974是转录本编号。后面的.6代表版本。版本变了,坐标可能就变了,所以一定要核对版本一致性。
第三步:关联标准基因名。很多分析需要Gene Symbol。你得用ENST去查对应的基因名。可以用BiomaRT在线查询,或者用R的biomart包。
注意!不是所有ENST都能映射到唯一基因。一个基因可能有多个转录本。比如EGFR基因,有好几个不同的mRNA版本。这时候你要看自己研究目的是看基因水平还是转录本水平。如果是差异表达,建议聚合到Gene Level再分析。这样结果更稳。
这里有个大坑。旧版本的GEO数据,注释表里的ENST可能是几年前的版本。如果你现在的分析用的是最新Ensembl数据库,版本对不上。坐标会错乱。导致后续定位出错。
我见过太多人因为版本没对齐,最后发文章被审稿人质疑数据可靠性。所以一定要在方法部分写明用的Ensembl版本。或者在分析前统一更新注释。
那怎么用R代码做这一步?简单点,用biomaart::getBM函数。设定mart为ensembl,attributes选外键和转录本ID。values填你的ENST列表。跑一遍就出结果。
如果数据量不大,手动去Ensembl网站搜也行。但几百几千个探针,手动查会查死人的。必须自动化。
再说说实际场景。比如你做的是eQTL研究。这时候转录本版本至关重要。因为同一个基因不同转录本,可能在不同组织表达量差异巨大。你用旧版本的ENST,可能定位到错误的启动子区。导致eQTL位点找歪了。
这时候就要去Ensembl查每个ENST的转录本特征。比如是否含有UTR,是否包含特定外显子。GEO数据中ENST的处理,本质上就是数据库版本兼容性的问题。
还有一点容易被忽略:非编码RNA。很多lncRNA没有明确的基因符号。只有ENSTID。这种情况下,你只能保留ENST作为分析单元。或者查文献看别人怎么命名。别强行猜基因名,那样太不专业。
最后总结一下。GEO数据中ENST是Ensembl转录本ID。处理核心是版本对齐和ID映射。别被长串字符吓住,拆开看就三块:前缀、编号、版本。
做生信就是这样,细节决定成败。一个ID没对好,后面全白干。希望这篇能帮你少走弯路。记住,数据预处理花的时间,永远比跑模型花的时间更有价值。
实操建议:建个映射表。把Probe ID、ENST ID、Gene Symbol、染色体位置、起止坐标全存好。每次分析前都检查一遍版本日期。养成习惯,就不会踩雷。
最后提醒一句,GEO上不同平台,注释标准可能微调。ArrayExpress和GEO有时会有出入。以你实际下载的GEO官方注释文件为准。别混用。
GEO数据中ENST解析完毕。照着做就行。有问题评论区聊。