美文网首页
手动下载GEO数据

手动下载GEO数据

作者: 小白兔和小毛驴 | 来源:发表于2021-11-14 19:22 被阅读0次

    当直接用R函数getGEO下载表达谱信息和平台信息报错时,那就全都手动下载,下载GSE135820_series_matrix.txt.gz(包含表达谱和需要整理的Label信息)和GSE135820_exp_raw_dat.csv.gz(包含平台给的Gene_symbol或者Entrezid信息),整理完后读入R。

    注意下载表达谱信息的时候记得看数据是否经过Log2转换和标准化处理(在整理Label信息时series序列信息那里有描述),如果没有,那这两步都要进行。

    probe2symbol_df<-anno[,c(1,7)]

    ##如果只有表达谱中有Symbol时,anno中什么都没有

    ##3则通过表达谱的Symbol,先对应找entrezid,

    #######去找entrezid

    a<-probe2symbol_df[,2]

    entrezid<-AnnotationDbi::select(org.Hs.eg.db, keys=a,

                                    columns=c("ENTREZID"), #目标格式

                                    keytype="SYMBOL") #当前格式

    Gene_Symbol<-entrezid[,1]

    entrezid<-entrezid[,2]

    probe_id<-probe2symbol_df[match(Gene_Symbol,probe2symbol_df[,2]),1]

    b<-cbind(probe_id,entrezid)

    probe2symbol_df<-data.frame(cbind(b,Gene_Symbol))

    exprSet=data.frame(probe_id=row.names(exprSet), exprSet)#将行名变成名为probe_id的第一列,只有需要标准化的数据才跑这步

    row.names(exprSet)=NULL

    #去一对多

    library(dplyr)

    probe2symbol_df <- probe2symbol_df %>%

      filter(!grepl("*///",Gene_Symbol)) %>%

      filter(Gene_Symbol != "") %>%

      filter(!grepl("^MT-|^LOC",Gene_Symbol))

    library(dplyr)

    exprSet <- exprSet %>%

      inner_join(probe2symbol_df,by="probe_id") %>% ##合并探针信息

      select(-probe_id) %>% ##去掉多余信息

      select(Gene_Symbol, everything()) %>% #重新排列

      mutate(rowMean =rowMeans(.[grep("GSM", names(.))])) %>% #求出平均数(真的是画龙点睛)

      arrange(desc(rowMean)) %>% #把表达量的平均值按从大到小排序

      distinct(Gene_Symbol,.keep_all = T) %>% # 留下第一个symbol

      select(-rowMean) %>% #反向选择去除rowMean这一列

      tibble::column_to_rownames(colnames(.)[1]) # 把第一列变成行名并删除

    exprSet <- as.matrix(exprSet)

    GID<as.numeric(na.omit(probe2symbol_df[match(row.names(exprSet),probe2symbol_df[,3]),2]))#先取出最后一列

    k<-match(GID,probe2symbol_df[,2])#取出对应去掉NA的gene_Symbol的位置

    k<-probe2symbol_df[k,3]#取出对应位置的gene_Symbol名字

    exprSet<-exprSet[k,]#取出对应gene_Symbol的表达谱数据

    gse17260_Exp<-exprSet[,1:110]

    gse17260_GID<-GID

    gse17260_Label<read.table("GSE17260_Label.txt",header=T,stringsAsFactors = F,sep = "\t")

    gse17260_Label<-gse17260_Label[which(gse17260_Label[,2]=="no"),]

    gse49997_Exp<gse49997_Exp[,match(gse49997_Label$Sample_ID,colnames(gse49997_Exp))]

    相关文章

      网友评论

          本文标题:手动下载GEO数据

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