主题设计与批量校正之间的主题设计
1
0.
输入编辑模式
@ Demisa-22970
最后一次见到1分钟前
美国

你好,

我一直在搜索它的废气,如果我错过了一个解决方案,请道歉。

我正在尝试在Deseq2进行配对分析,意思是具有配对样本设计。

我有一个具有两组(即我的批处理)的数据集,每个组都有不均匀的主题数量,每个主题只能在其中一个组中并且具有一个或两个样本(所以一个或两个条件)。请注意,我的数量估计了Kallisto。只是一个玩具例子,我的冷酷看起来像如何:

样品批量调节主题1样品1 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 SAMPT8 1 B S4 9 SAMPRE9 1 A S5 10样品10 1b S5 11样品11 2 A S6 12样品12 2 B S6 13 13 Sample13 2 A S7 14 Sample14 2 B S7 15 Sample15 2 A S8

在该示例中,批量== 1具有每个受试者的5个受试者,而Batch == 2具有3个受试者,其中一个受试者只有一个条件。我简化了保持相对于条件的平衡配对样本,因此我过滤了样品15。

我的目标是在控制受试者效果的同时测试条件效果。

所以最初我认为我的模型将是〜批量+主题+条件。结果名称我将查看要查看条件效果(对批处理控制而受试者效果的同时)是“条件_B_VS_A”。该模型设计导致“模型矩阵不是完全等级”错误。

dds = deseqdatasetfrommatrix(countdata = counts.mat,coldata = sample.summary.balanced,design =〜批量+主题+条件)dds < -  deseq(dds)错误在checkullrank中(modelmatrix):模型矩阵不是全排名,所以模型不能按照指定合适。设计公式中的一个或多个变量或交互术语是其他的线性组合,必须删除。

问题是批量和主题的线性。Vignette中线性的例子与我的理解没有完全匹配。

虽然我尝试了一些思想的思想,这里有一些谈话(如我的最后一个手段首先应用批量校正,转换为正整数,然后使用〜主题+条件运行Deseq2,这给了零点),我没有尝试过工作。

顺便说一句,如果我不做配对的设计并且只有〜批处理+条件,模型很好地工作。但我想利用每个受试者的条件的事实。

任何洞察力都会非常感谢!

rnaseqdata.batcheffect.配对deseq2.•114次观看
添加评论
0.
输入编辑模式
@mikelove.
最后看见了
美国

这部分:

每个受试者只能在其中一个组中,并且具有一个或两个样本(所以一个或两个条件)

在以前的帖子之前已经讨论过。在DESEQ2中,我们使用固定效果,因此对于对和条件,具有固定效果,但是利马的重复性方法更加灵活,因此您可以调查这一点。它将使用所有配对或未配对的样本和模型在主题相关中。

在DeseQ2中,我建议使用配对的样本,并且可以使用Vignette中的策略用于嵌套在组中。

0.
输入编辑模式

谢谢michael为您的回复。

虽然我已经看到推荐利马具有重复性的讨论,但我想知道我是否可以用DESEQ2进行。

我的混乱正好在小插图的一部分“群体特定条件效应,个人嵌套在群体中”,因为我认为主题是有点分组两个不同的科目 - 但我现在已经意识到它究竟是什么所做的那么好。但我不是在寻找特定于群体的(或批量特定于我的案例)条件效果,而只是条件效应,同时调整组/批处理和对象差异。所以我在添加主题时尝试了以下模型:

〜批量+批处理:主题.N +条件

但是,请让我走一步,在那里我在简单模型中获得了一个融合问题,我尝试了两件事没有解决问题的事情。首先将DESEQ函数分成步骤并增加MAXIT,第二个以过滤更低的表达基因。

#对象构造的简化模型:DDS = DESQDATASETFRommatrix(CountData = Counts.mat,Coldata = Sample.summary.Balanced,Design =〜主题+条件)DDS < -  DESQ(DDS)*估算分散性基因的尺寸因子估算尺寸分散估计平均色散关系最终色散估计拟合模型和测试21行没有收敛于β(对象)$ Betaconv中标记的beta。使用nbinomwaldtest *#的更大的maxit参数,因此我通过拼接到步骤并过滤更多的低表达基因:dds = deseqdatasetfrommatrix(countdata = counts.mat,coldata = sample.summary.balanced,design =〜主题+条件)dds < -估计Factors(DDS)NC < - 计数(DDS,归一化= TRUE)滤波器< -  RowSums(NC> = 10)> = 4 DDS < -  DDS [滤波器] DDS < - 估计分散(DDS)*基因 - 方向分散估计是平均值-Dispersion关系最终色散估计* DDS < -  nbinomwaldtest(DDS,MAXIT = 2000)* 23行没有收敛在BETA中,标记为MCOL(对象)$ BETACONV。使用nbinomwaldtest *#使用更大的maxit参数,而不会解决汇聚问题,我尝试前进。#添加组合变量到DDS COUDATA:DDS $ POSTOCTER.N = IFELSE(DDS $ BATCH == 1,因子(REP(REP(1:BATCH1.subjects),因子(rep(rep(1:batch2.subjects,each=2),2))) dds$subject.n = as.factor(dds$subject.n) sample batch condition subject subject.n 1 sample1 1 A S1 1 2 sample2 1 B S1 1 3 sample3 1 A S2 2 4 sample4 1 B S2 2 5 sample5 1 A S3 3 6 sample6 1 B S3 3 7 sample7 1 A S4 4 8 sample8 1 B S4 4 9 sample9 1 A S5 5 10 sample10 1 B S5 5 11 sample11 2 A S6 1 12 sample12 2 B S6 1 13 sample13 2 A S7 2 14 sample14 2 B S7 2 # Feed the new colData to DESeqDataSet and edit the design: dds = DESeqDataSetFromMatrix(countData = counts.mat, colData = colData(dds), design = ~ batch + batch*subject.n + condition) *converting counts to integer mode Error in checkFullRank(modelMatrix) : the model matrix is not full rank, so the model cannot be fit as specified. One or more variables or interaction terms in the design formula are linear combinations of the others and must be removed.* # This is because I have unbalanced data in respect to batch: uneven subjects in the two batches. # So I removed the levels without samples, like for example phase2:subject.n3: m = model.matrix(~batch + batch:subject.n + condition, colData(dds)) all.zero <- apply(m, 2, function(x) all(x==0)) length(all.zero[all.zero == TRUE]) idx <- which(all.zero) m <- m[,-idx] # Feed clean model matrix to DESeq: dds = DESeq(dds, full = m) *using supplied model matrix using pre-existing size factors estimating dispersions gene-wise dispersion estimates mean-dispersion relationship final dispersion estimates fitting model and testing 121 rows did not converge in beta, labelled in mcols(object)$betaConv. Use larger maxit argument with nbinomWaldTest* resultsNames(dds) [1] "Intercept" "batch2" "conditionB" [4] "batch1.subject.n2" "batch2.subject.n2" "batch1.subject.n3" [7] "batch1.subject.n4" "batch1.subject.n5"

如何解决汇聚问题?我甚至重复了单独的步骤并添加了UseOptim选项:

DDS < - 估计因素(DDS)DDS < - 估计分歧(DDS)DDS < -  Nbinomwaldtest(DDS,MAXIT = 2000,USEOPOPIM = T)

另外,为了让条件效应纠正批量和科目的差异,是res1或res2?

Res1 =结果(DDS,对比度= C(“条件”,“B”,“A”))Res2 =结果(DDS,Contrast = List(C(“Compile_B”,“Batch1.Subject.n2”,“Batch2”。projects.n2“,”batch1.s​​ubject.n3“,”batch1.s​​ubject.n4“,”batch1.s​​ubject.n5“,”batch2“)))
0.
输入编辑模式

跳转到顶部,如果您不想要组特定的条件效果,那么只需使用〜Sample +条件。您没有(并且不能)控制比样本更高的分辨率。

0.
输入编辑模式

如果通过组特定于组,我们的意思是特定于批量(在这种情况下),那么我肯定不会。我只需要纠正批次。

当你说“你没有(并且不能)控制比样本更高的分辨率”,你的意思是在Deseq2或一般?如果我的模型是〜sample +条件,那么我如何考虑样本1和样本2来自同一主题?或者该样本1和样本14来自不同的批次?

添加回复
0.
输入编辑模式

对不起,上面你有主题。用〜主题+条件。您不需要另外控制任何嵌套主题的任何内容。

添加回复
0.
输入编辑模式

嗯,我也有这个想法,但不是科目之间的想法?所以对于部分之间,我不需要批量批量吗?当你说“在其中嵌套在哪个主题内”时,你的意思是什么?它现在嵌套了批处理:主题不是这个模型?

也是,仍然存在〜主题+条件(这是我以上开始的模型)有没有收敛的基因。

添加回复
1
输入编辑模式

主题在批处理范围内 - 也许与统计学家讨论这种情况。

RE:收敛,我建议如下:

保持< -  rowsums(计数(dds)> = 10)> = x DDS < -  DDS [保留]#然后DESEQ()

对于选择的X来避免你有很多零的基因,也许是7。

添加回复
0.
输入编辑模式

谢谢Michael,一切都很清楚。

实际上,通过提升来解决汇编x =我样本的2/3。非常感谢!

添加回复
0.
输入编辑模式

如果我可能会问一件事,为什么虽然我达到了融合,但我发现没有参数?

dds = deseqdatasetfromtximport(计数,sample.summary.balanced,〜主题+条件)min.cutoff = round(nrow(sample.summary.balanced)/1.2)保持< -  rowsums(counts(dds)> = min.cutoff)>= min.Cutoff DDS < -  DDS [保持] DDS < -  DESQ(DDS)*估计分散尺寸因子估算分散性基因 - 方向色散估计平均分散关系最终分散估计拟合模型和测试* RES =结果(DDS,对比度=c(“条件”,“b”,“a”),padjustmethod =“bh”,alpha = 0.05)概述(RES)* 10735中的非零总读数调整P值<0.05 LFC> 0(UP):1,0.0093%LFC <0(下):0,0%异常值[1]:0,0%低计数[2]:0,0%(平均数量<145)*

我唯一的方法是我是我通过单独通过p值过滤。甚至没有fc。以下是log2fc,padj和p值的范围,以及带有p值和log2fc发行版的火山。

摘要(Res $ log2foldchange)min。第1曲。中位数意味着第3曲。最大限度。-0.654707 -0.110581 -0.004492 -0.007384 0.097655 0.668882 0.668882 0.668882摘要(Res $ Padj)min。第1曲。中位数意味着第3曲。最大限度。0.02358 0.77172 0.77172 0.79575 0.89926 0.99926 0.99990 0.999999摘要(Res $ Pvalue)min。第1曲。 Median Mean 3rd Qu. Max. 0.0000022 0.1736602 0.3860016 0.4302314 0.6745380 0.9999893

具有p值的火山图

添加回复
0.
输入编辑模式

您的数据集没有大的更改。您无法拒绝这些基因的空。

您可能希望与统计学家讨论有关推动未来数据集的统计学家。

添加回复
0.
输入编辑模式

我完全同意。但是当我不进行配对分析时,我使用简单〜批量+条件模型,电源非常好。我通过FDR和4FC过滤并获得数百只DEG。我想知道为什么配对是如此贫穷。

添加回复

登录在添加答案之前。

交通:324名用户在最后一小时访问过
使用权 rss.
API.
统计

使用本网站构成了我们的接受用户协议和隐私政策

由我们提供动力版本2.3.6