DESeq2 代码有助于分析 R 中疾病患者和对照患者之间的差异基因表达

DESeq2 code help for analysing differential gene expression between disease and control patients in R

我无法设计一些正确的代码来使用 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)

但是上面的 none 是有效的,我想我使用 type=rep 可能会出错?我最终需要将 p 值和记录倍数变化值保存到 table.

您的代码中有一个错误,我在下面更正了它,并将之前的错误放在## 下。您将原始 DESeq2 对象替换为函数 DESeq()

的输出
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)

现在 运行 脚本的其余部分应该没问题