美文网首页
GEO数据挖掘(一)数据下载及基因ID转换

GEO数据挖掘(一)数据下载及基因ID转换

作者: 生信开荒牛 | 来源:发表于2022-07-01 16:37 被阅读0次

    数据来源:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE54236

    1.png
    这个数据有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) #调高VROOM_CONNECTION_SIZE,不然下面步骤会报错
    gset <- getGEO("GSE54236", destdir=".",AnnotGPL = F,getGPL = F)
    a=gset[[1]] 
    dat=exprs(a) 
    dim(dat)
    #[1] 41000   161
    # 检查数据,判断需不需要取log,如果没有几百上千的数值,数值之间相差不大,就不需要取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]  # 发现title里面的内容可以用来分组
    #                  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两个数据框按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数据挖掘

    GEO数据挖掘(一)数据下载及基因ID转换

    GEO数据挖掘(二)基因差异分析

    GEO数据挖掘(三)使用DAVID数据库进行GO、KEGG富集分析

    GEO数据挖掘(四)使用STRING数据库进行PPI分析

    相关文章

      网友评论

          本文标题:GEO数据挖掘(一)数据下载及基因ID转换

          本文链接:https://www.haomeiwen.com/subject/fxicbrtx.html