Question: Deseq2 with one factor and multiple levels
gravatar for mariannapauletto
12 months ago by
mariannapauletto30 wrote:

Dear all,

I'm dealing with and RNA-seq experiment with a total of 11 different conditions.

I'd like to do pairwise comparisons between some of them (without having a fixed base/ctrl condition). To do that, I'm planning to use the Wald-test.

After setting conditions (n=11), this is the command I used (in this example I want to compare condition C to E)

dds <- DESeqDataSetFromMatrix(countData = cts,
                             colData = colData,
                             design = ~ 0 + condition)
dds <- DESeq(dds)
res_condC_versus_condE = results(dds, contrast=c("condition","condC","condE"))

I've two main questions:

  1. Do you think the design formula and the results command are set in the correct way?
  2. Should I use lfcShrink only for data visualization and ranking??

Thank you for your time!!



rna-seq deseq2 • 1.2k views
ADD COMMENTlink modified 12 months ago by Kevin Blighe65k • written 12 months ago by mariannapauletto30
gravatar for Kevin Blighe
12 months ago by
Kevin Blighe65k
Kevin Blighe65k wrote:

Hey Marianna,

Regarding the design formula, why are you including ~ 0? You should just be doing ~ condition. For further reading on this, I direct you to these posts:

Regarding lfcshrink, I now implement lfcshrink into every analysis as it gives more realistic fold-change estimates. Please see the explanation of the DESeq2 developer, HERE.


ADD COMMENTlink written 12 months ago by Kevin Blighe65k

Hi Kevin,

thank you for your reply!

If I use ~ condition, then the first level of the factor "condition" is fixed as a control/base condition and all the other levels will be compared to this control condition. How to deal with that?? I thought the only solution was to remove the intercept, so I can set the DE analysis between any condition. Am I wrong?? Are there alternative solutions to easily compare the different levels without fixing a base condition?

As far as lfcshrink, I assume I can use it instead of results(dds).

Thank you Marianna

Thank you

ADD REPLYlink written 12 months ago by mariannapauletto30

When you specify what to compare to what with contrast, it doesn't matter what the base level is for your factor.

ADD REPLYlink written 12 months ago by swbarnes28.5k

Ah!, no, you can leave the intercept in the model (just use ~ condition) and then do any pairwise comparison irerspective of the reference level, as I show, here: A: DESeq2 compare all levels

In that thread, I also show how you can use lfcshrink()

ADD REPLYlink written 12 months ago by Kevin Blighe65k

Thank you Kevin, really appreciated


ADD REPLYlink written 12 months ago by mariannapauletto30

Hi Kevin,

I did the analysis as you suggested. I noticed that the log2fold changes are REALLY different if using lfcShrink.

For example for the most DE gene I got a log2FC of 4 and 0.05 using lfcShrink and results, respectively. Do you expect such a big difference??

Best Marianna

ADD REPLYlink written 12 months ago by mariannapauletto30

I am going to 'randomly' hypothesise that the gene in question has generally low expression in your data? Genes with low expression are quite problematic because they can appear to have inflated fold changes.

For example:

0.9 / 0.05 = 18

100 / 50 = 2

Although the first one has a fold change (linear) of 18, is it meaningful when considering that the expression of both genes in question is 0.9 and 0.05?

ADD REPLYlink written 12 months ago by Kevin Blighe65k
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1643 users visited in the last hour