This is a test version of Biostars. For the public version, visit https://www.biostars.org.
DESeq2 for multiple groups

Hi everyone,

I am performing differential expression analysis using featureCounts files that I previously analyzed in UseGalaxy. However, I am now very confused. Does DESeq2 in UseGalaxy allow for comparisons such as (Overexpression cell line1 - Control1) - (Overexpression cell line2 - Control2)? I have two different cell lines, each with its own control, and I want to compare them. From what I understand, DESeq2 uses the first factor as the reference. What if I have two reference groups? In this case, would Limma-voom be a better option?

Another question: If I have two or three treatments but only one reference (control) and want to compare the treatments with each other, how should I set up the analysis? All treatments come from the same cell line, but they are part of different experiments, all sharing the same control. For example, I have cell line 1 with treatment 1, treatment 2, treatment 3, and a common control. How can I properly compare the treatments with each other?

Thanks in advance, Bana

usegalaxy limma voom deseq2

1 answer

For the first question: In DESeq2 I think you need to use a list with the contrast argument in results() to test fold changes of fold changes. I usually do this in limma so others might correct me if this is not accurate.

Here is a toy example:

library(DESeq2)

# Intercept-less (~0) design to make all groups accessible as coefficients in resultsNames()
set.seed(1)
dds <- makeExampleDESeqDataSet(n = 5000, m = 20, )
dds$group <- factor(rep(LETTERS[1:4], each = 5))
design(dds) <- ~ 0 + group
dds <- DESeq(dds)
res <- results(dds, contrast = list(c("groupA", "groupB"), c("groupC", "groupD")))

# Plot the one with smallest pvalue
gene_to_plot <- rownames(res[which(res$pvalue == min(res$pvalue, na.rm = TRUE)),])

data <- plotCounts(dds = dds, gene = gene_to_plot, intgroup = "group", returnData = TRUE)

library(tidyverse)
library(ggpubr)
data %>% mutate(membership = if_else(group %in% c("A", "B"), "ONE", "TWO")) %>%
  ggplot(aes(x = group, y = count, color = membership)) +
  geom_point(position = position_jitter(.2, 0, 0), size = 3) +
  stat_summary(fun = mean, geom = "crossbar", size = 1)

Here is a plot assuming A and B are treatment and control of cell line 1 and C and D of cell line 2. enter image description here

For the second question, if you have the same control then you can directly compare the groups, like A-B, B-C, A-C. Does this make sense?

Thank you so much @ATpoint. That is amazing since I will try to run the analysis in RStudio. However, my question was namely in usegalaxy.eu platform, whether I can use the deseq2 tool in this platform to perform DEGs from multiple groups while taking into account the control group.

Thank you so much @ATpoint. That is amazing since I will try to run the analysis in RStudio. However, my question was namely in usegalaxy.eu platform, whether I can use the deseq2 tool in this platform to perform DEGs from multiple groups while taking into account the control group.

This you have to ask at the Galaxy support, they have a forum like this one here afaik.

Log in to answer this question.