|
library(limma)%把limma包载入R中
library(tcltk)%把tcltk包载入R中
library(affy)%把affy包载入R包中
filters <- matrix(c("CEL file", ".[Cc][Ee][Ll]", "All", ".*"), ncol = 2, byrow = T)%生成2*2字符矩阵,用来定义选择文件类型
cel.files <-tk_choose.files(caption = "Select CELs", multi = TRUE,filters = filters, index = 1)%跳出选择文件窗口并选择文件
data.raw <- ReadAffy(filenames = cel.files)%读入四个样品
design <- model.matrix(~-1+factor(c(1,1,2,2)))%构建实验设计矩阵(实验组2个和对照组2个)
colnames(design) <- c("control", "LPS") %实验组和对照组的列名称
eset.rma <- rma(data.raw)%调用RMA算法对数据进行预处理
eset<-exprs(data.raw)%构建样品的基因表达矩阵
fit <- lmFit(eset, design)%线性模型拟合
%%fit1 <- eBayes(fit)%Moderated t-statistic??
contrast.matrix <- makeContrasts(control-LPS, levels=design)%构建对比模型,比较两个实验条件下表达数据
fit1<- contrasts.fit(fit, contrast.matrix)%根据对比模型进行差值计算
fit2 <- eBayes(fit1) %贝叶斯检验
results<-decideTests(fit2, method="global", adjust.method="BH", p.value=0.01, lfc=1.5)%根据P-value对结果进行筛选,得到差异表达基因
vennCounts(results)
vennDiagram(results)
heatDiagram(results,fit2$coef)
x<- topTable(fit2, coef=1, number=10000, adjust.method="BH", sort.by="B", resort.by="M")
write.table(x, file="limma.xls", row.names=F, sep="t")
y <- x[xP.Value < 0.01 & (xlogFC > 1.5 | xlogFC < -1.5& xAveExpr > 10),]
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-5-19 04:14
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社