你好,
我一直在搜索关于它的战利品,如果我错过了一个解决方案,我很抱歉。
我正在尝试在DESeq2中做配对分析,这意味着有一个配对的样本设计。
我有一个数据集,有两个组(这是我的批处理),每个组的主题数量不均匀,每个主题只能在其中一个组中,并且有一个或两个样本(所以是一个或两个条件)。请注意,我的计数是用kallisto估算的。只是一个玩具的例子如何我的colData看起来像:
1 A S1 2样品2 1 B S1 3样品3 1 A S2 4样品4 1 B S2 5样品5 1 A S3 6样品6 1 B S3 7样品7 1 A S4 8样品8 1 B S4 9样品9 1 A S5 10样品10 1 B S5 11样品11 2 A S6 12样品12 2 B S6 13样品13 2 A S7 14样品14 2 B S7 15样品15 2 A S8
在这个例子中,batch == 1有5个主题,每个主题都有两个条件,而batch == 2有3个主题,其中一个只有一个条件。我简化了保持平衡的成对样本的条件,所以我过滤了sample15。
我的目标是在控制主题效果的同时测试条件效果。
所以最初我认为我的模型应该是~批处理+主题+条件。我将查看resultName以查看条件效果(同时已控制批次和主题效果)是“condition_B_vs_A”。这种模型设计导致了“模型矩阵不满秩”的误差。
dds = DESeqDataSetFromMatrix(countData =计数。mat, colData = sample.summary。balanced, design = ~ batch + subject + condition) dds <- DESeq(dds) Error in checkFullRank(modelMatrix):模型矩阵不是满秩的,因此模型不能按指定拟合。设计公式中的一个或多个变量或交互项是其他变量或交互项的线性组合,必须删除。
问题是批次和主题的线性。小插图中的线性例子并不完全符合我的理解。
虽然我在这里尝试了一些对话的想法(比如我最后的方法是先应用批量更正,转换为正整数,然后用~ subject + condition运行DESeq2,结果是零deg),但我所尝试的都不奏效。
顺便说一下,如果我不做配对设计,只是有~批处理+条件的模型工作得很好。但我想利用每门课都有这两种条件的事实。
任何见解都将非常感激!
谢谢Michael的回复。
虽然我已经看到了使用duplicateCorrelation推荐limma的讨论,但我想知道我是否可以用DESeq2来做。
我的困惑恰恰是在小插图“群体特定条件的影响,群体中嵌套的个体”的部分,因为我认为主体。n是将两个不同的科目分组,但我现在已经意识到它到底是做什么的,所以没关系。但我并不是在寻找特定于群体(在我的情况下是特定于批次)的条件效应,而是在调整群体/批次和受试者差异时的条件效应。所以我在添加主题后尝试了下面的模型。n变量:
但让我再往前走一步,在简单模型中,我遇到了一个收敛问题,为此我尝试了两种方法,但都没有解决问题。首先,将DESeq函数分解为步骤并增加maxit,其次,过滤更多的低表达基因。
如何解决收敛问题?我甚至重复了单独的步骤,并添加了useOptim选项:
另外,为了校正批次和受试者的差异,是res1还是res2?
跳转到顶部,如果你不想要组特定的条件效果,那么只需使用~sample + condition。你不能(也不能)控制在比样本更高的分辨率。
如果我们所说的组特定指的是批特定(在本例中),那么我肯定不这么认为。我只需要改正这批货。
当你说“你不能(也不能)控制在比样本更高的分辨率”时,你是指在DESeq2中还是在一般情况下?如果我的模型是~sample + condition,那么我如何考虑sample1和sample2来自同一个主题?或者sample1和sample14是不同批次的?
抱歉,上面有
主题
.使用~主语+条件
.您不需要额外控制嵌套主题的任何内容。嗯,我也有过这样的想法,但这不就是学科之间和学科内部的问题吗?所以对于中间部分,我不需要纠正批次吗?你说“嵌套在哪个主题中”是什么意思?现在它是嵌套的吗
批处理:subject.n
不在这个模型中?还有,还有
~主语+条件
(这是我从上面开始的模型)有一些基因不收敛。主题是在批处理中——也许与统计学家讨论这是如何发生的。
关于收敛,我建议如下:
对于x选择避免有很多0的基因,可能是7。
谢谢你迈克尔,现在一切都清楚了。
事实上,这种趋同是通过提高来解决的
X =样本的2/3
.非常感谢!如果我可以再问一个问题,为什么即使我达到了收敛,我也没有发现deg ?
我得到deg的唯一方法是单独用p值进行过滤。甚至FC也不行。这里是log2FC, padj和p值的范围,以及具有p值和log2FC分布的火山。
数据集中没有大的变化。你不能拒绝这些基因的null。
您可能希望与统计学家讨论如何为未来的数据集提供动力。
我完全同意。但当我不做配对分析时,我使用简单的~批处理+条件模型,功率非常好。我用FDR和4FC进行过滤,得到了数百个deg。我想知道为什么配对的人这么穷。
对不起,我在你最初的帖子中错过了这部分。
好吧,我猜你可能在100的意义的边缘,通过添加所有额外的协变量的主题术语,你失去了自由度。
我要指出的是,考虑到患者基线,这些LFC相当小。所以当数据告诉你变化很小的时候我不会强迫你。
我理解你的观点,同意你的观点。
但当我使用1/10的样本进行配对分析时,我得到1000个deg, p0.01和4FC阈值。不过fdr还是不够好。但我确实期望有更多的样本会增加功率,而不是相反。我觉得很奇怪。但也许你是对的,也许把所有这些主题术语加在一起会使影响最小化。
你觉得利马会更合适吗?
我当然不想把数据推得太紧,只是想确保我的方法是正确的。
在软件问题方面,我没有更多的建议。
非常感谢您的评论,谢谢