limma包进行差异分析
载入limma包,利用edgeR的标准化方法
library(edgeR)
library(limma)
读取两组对比的数据
a<-read.table("E3和E4.txt")
E3有81个样本,E4有190个样本,所以创建一个dataframe来统计样本的信息
condition<-data.frame(lane=(1:271),treatment=rep(c(1,2),c(81,190)),label=rep(c("E3","E4"),c(81,190)))
告诉函数分组信息,构建一个DGEList
design <- model.matrix(~factor(condition$label))
y<-DGEList(counts = a[,1:271],group = condition$treatment,genes = rownames(a))
dge <- calcNormFactors(y)
limma包现在使用里面的voom函数来对RNA-Seq进行分析
v <- voom(dge, design, plot=TRUE)
fit <- lmFit(v, design)
fit <- eBayes(fit)
输出500个差异基因数目
dge<-topTable(fit, number = 500,coef=ncol(design))
write.table(dge,E3和E4的DGE.txt")
利用FoldChange>2倍来判断相应时期高表达的基因,并卡pvalue<0.05值
E3_0.05>dge[deg$logFC< 1,]
E4_0.05>dge[deg$logFC> 1,]
write.table(E3_0.05,E3的DGE.txt")
write.table(E4_0.05,E4的DGE.txt")