我以如下方式设计了我的矩阵,我将其命名为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,而不是在其他三个样本中。
发布于 2013-04-19 19:59:08
你的例子是不可重现的,也就是说我不能重现结果。然而,这里有一些评论:
deg的看法是正确的。它将寻找两个样本之间不同的基因。makeContrasts(contrasts="p1-(p2+p3+p4)/3",levels=design)
我将(可能)如何解决这个问题。然而,这可能会抵消效果。例如,如果p2为high,而p3为low.
makeContrasts(contrasts=c("p1-p2","p1-p3","p1-p4"),levels=design)
看看重叠的基因。
https://stackoverflow.com/questions/16103955
复制相似问题