数据下载
力荐xena
proj = "DHA"
library(GEOquery)
eSet <- getGEO("GSE162550", destdir = '.', getGPL = F)
eSet = eSet[[1]]
pd <- pData(eSet)
检查表达矩阵
dat = read.delim("GSE162550_gene_sample_count_with_symbol.xls.gz")
exp= as.matrix(dat[,4:9])
rownames(exp) = dat$Symbol
exp = exp[rownames(exp)!="---",]
k = !duplicated(rownames(exp));table(k)
#> k
#> FALSE TRUE
#> 1626 56142
exp = exp[k,]
基因过滤
过滤标准不唯一,一般需要过滤那些在很多样本里表达量都为0或很低的基因。
nrow(exp)#过滤之前基因数
#> [1] 56142
#常用过滤标准1:仅去除在所有样本里表达量都为零的基因
exp1 = exp[rowSums(exp)>0,]
nrow(exp1)
#> [1] 30863
#常用过滤标准2(推荐):仅保留在一半以上样本里表达的基因
exp = exp[apply(exp, 1, function(x) sum(x > 0) >0.5*ncol(exp)), ]
nrow(exp)
#> [1] 22230
分组信息提取
根据样本ID的第14-15位,给样本分组(tumor和normal)
library(stringr)
#> Warning: package 'stringr' was built under R version 4.1.1
Group = rep(c("DMSO","DHA"),each = 3)
Group = factor(Group,levels = c("DMSO","DHA"))
table(Group)
#> Group
#> DMSO DHA
#> 3 3
保存数据
TCGA以外的数据没有clinical,surv,从下面代码里去掉。
save(exp,Group,proj,pd,file = paste0(proj,".Rdata"))