本文主要學習自b站混跡天然大佬以及每天都在進步的FFOO旁蔼,以GSE37558數(shù)據(jù)為例趴乡。
下載矩陣文件:
1.GEO數(shù)據(jù)庫官網(wǎng)下載
2.直接R里下載
library(GEOquery)
eSet <- getGEO("GSE37558",
destdir = '.',
getGPL = F)
exp <- exprs(eSet[[1]]) # 表達矩陣
GPL <- eSet[[1]]@annotation # 平臺信息——提取芯片平臺編號
GPL
我這里因為已經(jīng)從官網(wǎng)下載好了哥艇,所以直接用了本地的矩陣文件
得到平臺信息后,我們可以去到 jimmy 大神總結的GPL平臺對應R包網(wǎng)站
用R獲取芯片探針與基因的對應關系三部曲中找到對應的R包
隨后我們將對應的R包安裝酷宵,在之前我的R版本為4.2.1周拐,該R包一直安裝不上串述,一直提示安裝退出時的值不為0。查閱了很多資料后帝洪,都說應該是R版本不是最新導致,但是4.2.1是當下最新的R版本晶伦。解決無果后我將R版本回退到4.2.0后成功安裝碟狞。暫時不清楚原因。注意安裝R包時在名字后加上“.db”婚陪。
BiocManager::install(illuminaHumanv3.db)
library(illuminaHumanv3.db)
ls("package:illuminaHumanv3.db")#大致查看包內信息族沃,尋找Symbol
ids <- toTable(illuminaHumanv3SYMBOL)提取
head(ids)#查看提取內容
通過以上的方法,我們得到了ID對應的Symbol泌参。接下來將Symbol列進對應矩陣就ok脆淹,
library(dplyr)
colnames(ids) = c("probe_id" ,"symbol")
exp=as.data.frame(exp)
exp$probe_id=rownames(exp) # 將行名變?yōu)榱忻麨閜robe_id的一列
# exp是原來的表達矩陣
exp2= merge(exp,ids,by.x="probe_id", by.y="probe_id") # 合并數(shù)據(jù)
exp2=exp2[!duplicated(exp2$symbol),] # 按照symbol列去重
# 數(shù)據(jù)框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")
收工!