library(GEOquery)
eSet <- getGEO("GSE42872",
destdir = '.',
getGPL = F) # 获取平台信息
exp <- exprs(eSet[[1]]) # 表达矩阵
GPL <- eSet[[1]]@annotation # 平台信息——提取芯片平台编号
在http://www.bio-info-trainee.com/1399.html网站获取平台探针与基因对应关系的R包
如果没有下载过这个包,就下载一下,代码如下(注意:网页里面的R包名称不是全称,要在后面加“.db”)
BiocManager::install(hugene10sttranscriptcluster.db)
library(hugene10sttranscriptcluster.db)
ids <- toTable(hugene10sttranscriptclusterSYMBOL) # 提取探针ID以及其对应的gene symbol
head(ids) # 查看提取内容
通过上述方法我们得到了ID对应的symbol,接下来只需要将symbol列对应进矩阵就好了
#install.packages("dplyr")
library(dplyr)
colnames(ids) = c("probe_id" ,"symbol")
exp=as.data.frame(exp)
exp$probe_id=rownames(exp) # 将行名变为列名为probe_id的一列
# exp是原来的表达矩阵
exp2= merge(exp,ids,by.x="probe_id", by.y="probe_id") # 合并数据
exp2=exp2[!duplicated(exp2$symbol),] # 按照symbol列去重
# 数据框probe_exp的行名变成symbol
rownames(exp2)=exp2$symbol
exp2=exp2[,c(-1,-ncol(exp2))]
#输出文件
write.table(exp2,file = "ids_exprs.txt",sep = "\t",row.names=T,col.names = T)
write.csv(exp2,file = "ids_exprs.csv")
作者:混迹天然 https://www.bilibili.com/read/cv14560979/ 出处:bilibili