GEO數(shù)據(jù)挖掘(一)數(shù)據(jù)下載及基因ID轉(zhuǎn)換

數(shù)據(jù)來源:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE54236

1.png

這個數(shù)據(jù)有161個樣本,使用GPL6480平臺。

rm(list = ls())
options(stringsAsFactors = F)

#安裝GEOquery包:install.packages("GEOquery")
library(GEOquery)
#安裝stringr包:install.packages("stringr")
library(stringr)  

Sys.setenv("VROOM_CONNECTION_SIZE"=1131072) #調(diào)高VROOM_CONNECTION_SIZE,不然下面步驟會報錯
gset <- getGEO("GSE54236", destdir=".",AnnotGPL = F,getGPL = F)
a=gset[[1]] 
dat=exprs(a) 
dim(dat)
#[1] 41000   161
# 檢查數(shù)據(jù),判斷需不需要取log,如果沒有幾百上千的數(shù)值,數(shù)值之間相差不大,就不需要取log值了。
dat[1:4,1:4]
#             GSM1310570 GSM1310571 GSM1310572 GSM1310573
#A_23_P100001      8.232      8.248      7.576      8.708
#A_23_P100011      5.998      6.079      5.695      6.653
#A_23_P100022      6.107      6.630      5.686      7.886
#A_23_P100056      6.718      7.630      7.410      5.762
pd=pData(a) #取出臨床信息
head(pd)[,1:3]  # 發(fā)現(xiàn)title里面的內(nèi)容可以用來分組
#                  title geo_accession                status
#GSM1310570 Tumor T_A_001    GSM1310570 Public on Jan 22 2014
#GSM1310571 Tumor T_B_003    GSM1310571 Public on Jan 22 2014
#GSM1310572 Tumor T_C_005    GSM1310572 Public on Jan 22 2014
#GSM1310573 Tumor T_D_007    GSM1310573 Public on Jan 22 2014
#GSM1310574 Tumor T_E_009    GSM1310574 Public on Jan 22 2014
#GSM1310575 Tumor T_F_011    GSM1310575 Public on Jan 22 2014
group_list=ifelse(grepl('Non',pd$title),'Normal','Tumor')
table(group_list)
#group_list
#Normal  Tumor 
#    80     81 

接下來下載GPL6480

gpl = getGEO('GPL6480',destdir = ".")
id_pre = gpl@dataTable@table
colnames(id_pre)    
#[1] "ID"                   "SPOT_ID"             
# [3] "CONTROL_TYPE"         "REFSEQ"              
# [5] "GB_ACC"               "GENE"                
# [7] "GENE_SYMBOL"          "GENE_NAME"           
# [9] "UNIGENE_ID"           "ENSEMBL_ID"          
#[11] "TIGR_ID"              "ACCESSION_STRING"    
#[13] "CHROMOSOMAL_LOCATION" "CYTOBAND"            
#[15] "DESCRIPTION"          "GO_ID"               
#[17] "SEQUENCE" 
ids2 = id_pre[,c("ID","GENE_SYMBOL")]   #只需要"ID","GENE_SYMBOL"這兩列
colnames(ids2) = c("probe_id","symbol") #給這兩列重新取名
head(ids2)
#      probe_id  symbol
#1 A_23_P100001 FAM174B
#2 A_23_P100011   AP3S2
#3 A_23_P100022    SV2B
#4 A_23_P100056  RBPMS2
#5 A_23_P100074    AVEN
#6 A_23_P100092 ZSCAN29
#接下來,使探針與基因symbol一一對應
ids=as.data.frame(ids2)
table(rownames(dat) %in% ids$probe_id)
# TRUE 
#41000
ids=ids[match(rownames(dat),ids$probe_id),] #將dat和ids兩個數(shù)據(jù)框按probe_id對應
table(duplicated(ids$symbol))   #查看有多少個基因名有重復
#FALSE  TRUE 
#19596 21404 
ids=ids[!duplicated(ids$symbol),]
dat=dat[ids$probe_id,]
rownames(dat)=ids$symbol
dat[1:4,1:4]
#        GSM1310570 GSM1310571 GSM1310572 GSM1310573
#FAM174B      8.232      8.248      7.576      8.708
#AP3S2        5.998      6.079      5.695      6.653
#SV2B         6.107      6.630      5.686      7.886
#RBPMS2       6.718      7.630      7.410      5.762
save(dat,group_list,file = "GSE54236_download.Rdata")   #保存

表達矩陣準備好了,下面就可以開始做后面的分析了。

GEO數(shù)據(jù)挖掘

GEO數(shù)據(jù)挖掘(一)數(shù)據(jù)下載及基因ID轉(zhuǎn)換

GEO數(shù)據(jù)挖掘(二)基因差異分析

GEO數(shù)據(jù)挖掘(三)使用DAVID數(shù)據(jù)庫進行GO、KEGG富集分析

GEO數(shù)據(jù)挖掘(四)使用STRING數(shù)據(jù)庫進行PPI分析

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容