在磕盐中一开始获取GEO表达数据的方式主要是通过GEO数据库下载数据,并且还要下载平台信息,然后经过各种处理过程,比较麻烦。
后来一次无意中学习到了利用R语言快速获取表达矩阵数据,十分方便。
这里以实验GSE53408为例。
R语言代码如下:
gse = getGEO("GSE53408",GSEMatrix = TRUE,destdir = ".",getGPL = T, AnnotGPL = T) #数据下载
exprs = exprs(gse[[1]])#表达量矩阵
fdata = fData(gse[[1]])#平台信息
explan = data.frame(exprs)#转置
explan$ID = fdata$ID#同步ID
explan$symbol = fdata$ 'Gene symbol'#同步symbol
#处理重复基因
rowMeans = apply(explan[,c(1:4)],1,function(x) mean(as.numeric(x), na.rm = T))
rowMeans_2 = data.frame(rowMeans)
express = explan[order(rowMeans, decreasing = T),]
express_2 = explan[!duplicated(express[, dim(express)[2]]),]
explan_na = na.omit(express_2)
explan_final = explan_na[explan_na$symbol != "",]
#处理一个探针对应多个基因
explan_final$symbol =data.frame(sapply(explan_final$symbol,function(x) unlist(strspl