我以以下方式设计了我的矩阵,我将其命名为 mat1:
Probes sample1 sample1 sample2 sample2 sample3 sample3 sample4 sample4
rep1 rep2 rep1 rep2 rep1 rep2 rep1 rep2
------------------------------------------------------------------------
gene1 5.098 5.076 5.072 4.677 7.450 7.456 8.564 8.555
gene2 8.906 8.903 6.700 6.653 6.749 6.754 7.546 7.540
gene3 7.409 7.398 5.392 5.432 6.715 6.724 5.345 5.330
gene4 4.876 4.869 5.864 5.981 4.280 4.290 4.267 4.255
gene4 3.567 3.560 3.554 3.425 8.500 8.564 6.345 6.330
gene5 2.569 2.560 8.600 8.645 5.225 5.234 7.345 7.333
我使用 limma 包来查找 DEG
Group <- factor(c("p1", "p1", "p2", "p2","p3", "p4","p4")
design <- model.matrix(~0 + Group)
colnames(design) <- gsub("Group","", colnames(design))
fit <- lmFit(mat1[,1:4],design)
contrast.matrix<-makeContrasts(p1-p2,levels=design)
fit2<-contrasts.fit(fit,contrast.matrix)
fit2<-eBayes(fit2)
sel.diif<-p.adjust(fit2$F.p.value,method="fdr")<0.05
deg<-mat1[,1:4][sel.diif,]
那么“deg”只会给我那些在样本一与二中显着的基因。我对那些仅在第一个样本中差异表达但在第二个样本中没有差异表达的基因感兴趣,我不确定这是否是正确的方法。
或者我应该尝试这样的事情:
contrast.matrix<-makeContrasts(contrasts="p1"-("p2"+"p3"+"p4")/3,levels=design)
我不确定我应该如何设置对比矩阵以仅从样本 1 中获取 DEG,但在其他三个中则不然。