上一章介绍了不同情况下,如何获取GEO分析结果中的GeneSymbol:GEO分析结果没有GeneSymbol怎么办?(1),下面介绍一种一劳永逸的注释方法。还记得在高中学习三角函数之间的转换时,数学老师提到了一个万能公式,以这个万能公式为中间体,可以进行任何三角函数之间的转换。在进行GeneSymbol的转换时,如果只有探针ID,那么我们需要下载芯片数据对于的GPL注释文档,就可以对数据集的探针ID进行注释啦。下面我们以GSE121248数据集为例,进行演示。
01
GEO2R在线分析结果
在分析结果中没有GeneSymbol,如下:
将分析结果下载的本地,在R中进行基因ID的转换
02
读入分析结果
利用以下R代码读入GEO2R的在线分析结果
#读入分析结果geoResult<-read.table("geo2r.txt",stringsAsFactors = F,header = T) head(geoResult) ID adj.P.Val P.Value t B logFC1 222484_s_at 7.95e-28 1.45e-32 -17.16241 63.15761 -3.9786312 237466_s_at 2.54e-27 9.30e-32 -16.76145 61.35976 -1.5420753 215712_s_at 1.05e-26 5.75e-31 -16.37200 59.59286 -2.0475674 223967_at 1.82e-26 1.33e-30 -16.19450 58.78083 -1.6460465 205019_s_at 1.97e-26 1.81e-30 -16.12951 58.48247 -1.3408946 223775_at 4.97e-26 5.53e-30 -15.89377 57.39555 -1.261294
03
下载GPL
GSE121248的对应GPL文档为GPL570,下载GEO数据集对应的GPL文件
将GPL文件读入R中
#读入探针数据probe_annotation = read.table( "GPL570.txt", stringsAsFactors = F, sep = "\t", header = T, fill = T, comment.char = "#", quote = "")#选择探针ID列(第1列)和geneSymbol列(第11列)probe_select=probe_annotation[,c(1,11)]
04
对探针ID进行注释
注释过程很简单,直接利用merge函数,根据探针ID进行结合
#进行探针ID注释geowithSymbol=merge(geoResults, probe_select,by.x = "ID",by.y = "ID", all.x = T)
注释结果
head(geowithSymbol)ID adj.P.Val P.Value t B logFC Gene.Symbol1 1007_s_at 0.49500 0.400000 0.844237 -6.526481 0.10242010 DDR1 /// MIR46402 1053_at 0.00130 0.000355 3.689215 -0.485068 0.30832444 RFC23 117_at 0.00264 0.000805 -3.448756 -1.250449 -0.40156212 HSPA64 121_at 0.67100 0.588000 0.543014 -6.734198 0.02172246 PAX85 1255_g_at 0.20200 0.133000 -1.513183 -5.749823 -0.03670428 GUCA1A6 1294_at 0.45600 0.360000 -0.918586 -6.461498 -0.06905105 MIR5193 /// UBA7
好啦,以上就是探针的注释步骤。掌握了这两节课的内容之后,你就能解决大部分GEO分析结果中没有GeneSymbol的问题了。