我在设计一些正确的代码来解决在R中使用DESeq2时遇到了困难,如何查看与对照组相比,哪些基因在疾病患者中更高表达。
我的数据目前是一个很大的数据框,由600000个基因名称组成,这些名称是行。前三列1:3是对照患者,后三列是胰腺癌患者4:6。
DF = data.frame(id=colnames(genetable),type=rep(c("treat","ctrl"),each=3))
# run DESeq2
dds = DESeqDataSetFromMatrix(genetable,DF,~type)
ddsoutput <- DESeq(dds)
summary(results(dds),alpha=0.05)得到小于0.05的基因数目;
res <- results(ddsoutput)
res[which(res$padj < 0.05),]然后我需要计算出疾病和对照之间的折叠变化,无论是上调还是下调。我需要设置自己的折叠变化阈值,然后通过KEGG根据我的p值分析最上调或下调的基因的功能;
upreg <- subset(res, log2FoldChange > 1)
downreg <- subset(res, log2FoldChange < 1)但是上面的方法都不起作用,我想我使用type=rep是不是错了?我最终需要将p值和log折叠值保存到一个表中。
发布于 2019-11-14 05:26:11
您的代码中有一个错误,我在下面更正了它,并将之前的代码放在##下。使用函数DESeq()的输出替换原始的DESeq2对象
DF = data.frame(id=colnames(genetable),type=rep(c("treat","ctrl"),each=3))
# run DESeq2
dds = DESeqDataSetFromMatrix(genetable,DF,~type)
dds <- DESeq(dds)
# it was
# ddsoutput <- DESeq(dds)
summary(results(dds),alpha=0.05)现在运行脚本的其余部分,就应该没问题了
https://stackoverflow.com/questions/58843915
复制相似问题