GEO表达芯片平台 — GPL14951,注释文件探索过程及GSE140082芯片数据处理过程代码
rm(list = ls())
###当getGEO执行时提示内存不够时,加上这句
Sys.setenv("VROOM_CONNECTION_SIZE"=99999999)
library(GEOquery)
eSet <- getGEO("GSE140082",
destdir = '.',
getGPL = F)
exprSet <- exprs(eSet[[1]])
exprSet <- exprs(eSet[[2]])#针对于数据集有两个平台的,看自己需要选择哪个平台的
ex <- exprSet
qx <- as.numeric(quantile(ex, c(0., 0.25, 0.5, 0.75, 0.99, 1.0), na.rm=T))
LogC <- (qx[5] > 100) ||
(qx[6]-qx[1] > 50 && qx[2] > 0) ||
(qx[2] > 0 && qx[2] < 1 && qx[4] > 1 && qx[4] < 2)
if (LogC) { ex[which(ex <= 0)] <- NaN
exprSet <- log2(ex)
print("log2 transform finished")}else{print("log2 transform not needed")}
library(limma)
exprSet=normalizeBetweenArrays(exprSet)
boxplot(exprSet,outline=FALSE,notch=T,col=group_list,las=2)
anno <- data.table::fread("GPL14951-11332.txt")#读取从GEO下载的GPL14951的平台注释信息
colnames(anno)
probe2symbol <- anno[,c("ID","Symbol")]#取需要的列
colnames(probe2symbol) <- c("PROBE_ID", "SYMBOL_ID")#改名,让他适合下面的自定义函数
library(dplyr)
library(tibble)
library(tidyr)
{
p2g <- function(exprSet,probe2symbol){
exprSet <- as.data.frame(exprSet)
p2g_eset <- exprSet %>%
rownames_to_column(var="PROBE_ID") %>% #合并探针的信息
inner_join(probe2symbol,by="PROBE_ID") %>% #去掉多余信息
select(-PROBE_ID) %>% #重新排列
dplyr::select(SYMBOL_ID,everything()) %>% #求出平均数(这边的点号代表上一步产出的数据)
mutate(rowMean = rowMeans(.[grep("GSM", names(.))])) %>% #去除symbol中的NA
filter(SYMBOL_ID != "NA") %>% #把表达量的平均值按从大到小排序
arrange(desc(rowMean)) %>% # symbol留下第一个
distinct(SYMBOL_ID,.keep_all = T) %>% #反向选择去除rowMean这一列
dplyr::select(-rowMean) %>% # 列名变成行名
column_to_rownames(var = "SYMBOL_ID")
save(p2g_eset, file = "p2g_eset.Rdata")
return(p2g_eset)
}
p2g_eset <- p2g(exprSet = exprSet, probe2symbol = probe2symbol)
load("p2g_eset.Rdata")
}
library(hugene10sttranscriptcluster.db)
library('org.Hs.eg.db')
entrezid<-AnnotationDbi::select(org.Hs.eg.db, keys=row.names(p2g_eset),
columns=c("ENTREZID"), #目标格式
keytype="SYMBOL") #当前格式
entrezid<-na.omit(entrezid)
gse140082_Exp<-na.omit(p2g_eset[match(entrezid[,1],row.names(p2g_eset)),])
gse140082_GID<-as.numeric(entrezid[match(row.names(gse140082_Exp),entrezid[,1]),2])
gse140082_Label<-read.table("./gse140082_Label.txt",header=T,stringsAsFactors = F,sep = "\t")
#####统一以月为单位的生存时间
gse140082_Label[,5]<-gse140082_Label[,5]/30
gse140082_Label[,7]<-gse140082_Label[,7]/30
save(gse140082_Exp,gse140082_GID,gse140082_Label,file = 'geo_tcga_data/gse140082.RData')
2.样本表达谱数据中有NA怎么处理
参考此链接进行处理:https://www.jianshu.com/p/66d3966be42f
网友评论