最近一个小伙伴反馈说他跟着官网的转录组测序数据表达量矩阵差异分析代码处理他自己的数据,报错了,但是我看了看他的提问,就非常诡异:

非常诡异的提问
首先是因为他仅仅是复制粘贴官方代码,而不考虑实际情况,官方代码里面确实是 design = ~ group,但是人家的 colData = metadata,,也就是说代码里面的group其实是 metadata这个数据框里面的一个列而已:

复制粘贴官方代码
而他自己构建的数据里面的metadata变量被改名为了 group,但是group里面的就两个列,之前的group其实是 metadata这个数据框里面的一个列,完全不一定性质。。。。
其实很容易查询到使用DESeq2包进行转录组表达量矩阵的差异分析的示例代码,超级简单的3个步骤而已。首先,你需要安装并加载DESeq2包:
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("DESeq2")
library(DESeq2)
dds <- DESeqDataSetFromMatrix(countData = countdata,
colData = coldata,
design = ~ condition)
dds <- DESeq(dds)
res <- results(dds)
然后,你需要创建一个DESeqDataSet对象。这通常需要两个输入:一个包含计数数据的矩阵和一个包含样本信息的data.frame。假设你的计数数据矩阵是countdata,样本信息是coldata,在这里,design参数定义了你的实验设计,~ condition表示你想要比较的条件。然后,你可以运行DESeq函数来进行差异表达分析:最后,你可以使用results函数来获取差异表达结果:
这将返回一个包含每个基因的log2 fold change(对数2倍变化),p值和调整后的p值的表。
所以小伙伴们给他的建议很简单,就是根据实际情况去修改 design = ~ group,它里面的group是数据框了,并不是之前的metadata这个数据框里面的一个列 :

拼写问题
但是这个时候这个求助者又有一个错误,就是拼写问题,明明应该是condition这样的英文单词。
避免编程时的拼写错误可以通过以下几种方式: