GEO数据挖掘(四):limma差异分析

2024-01-09  本文已影响0人  佳名
library(limma)

样本分组

exprSet<-as.data.frame(exprSet)
exprSet<-exprSet[,c(1:3,7:9)]
group <- factor(c(rep('normal',3),rep('cancer',3)),
                  levels = c("normal","cancer"))
boxplot(exprSet,outline = F,notch = T,las = 2,col = group)

差异分析

design <- model.matrix(~0 + group)
design
colnames(design)<- levels(group)
rownames(design)<- colnames(exprSet)
design
contrast.matrix<- makeContrasts("cancer-normal",levels = design)
contrast.matrix

step1 使用LmFit函数进行非线性最小二乘分析

fit <- lmFit(exprSet,design)

step2 使用经验贝叶斯对t-test中方差部分进行调整

fit1 <- contrasts.fit(fit, contrast.matrix) ##这一步很重要,大家可以自行看看效果
fit2 <- eBayes(fit1)  ## default no trend !!!
####eBayes() with trend=TRUE

step3 得到差异表达分析结果

tempOutput = topTable(fit2, coef=1, n=Inf)
nrDEG = na.omit(tempOutput) 

合并表达矩阵

将表达矩阵exprSet按差异基因nrDEG行名排序,然后合并

data <- exprSet[match(row.names(nrDEG),row.names(exprSet)),]
data1 <- cbind(nrDEG,data)

合并表达矩阵的最大好处是查看基因上下调时,可以佐证,不会出现上下调基因搞反的情况。

上一篇下一篇

猜你喜欢

热点阅读