Question: DESeq2: two genotypes, one treatment
0
9 months ago by
David ROUX10
France (Avignon University)
David ROUX10 wrote:

Hello,

I am new to DESeq2. The vignette (LINK) focuses on a simple set : "treated vs untreated ".

My experimental design contains 2 genotypes (A and B) vs 2 conditions (Control / Treated).

My coldata :

 Sample Genotype Treatment 1 A control 2 A control 3 A control 4 A control 5 B control 6 B control 7 B control 8 B control 9 A Treated 10 A Treated 11 A Treated 12 A Treated 13 B Treated 14 B Treated 15 B Treated 16 B Treated

In order to answer my biological questions, I would expect to do something like this:

• Genotype effect = (A Control + A Treated) - (B Control + B Treated)
• Treatment effect = (A Treated + B Treated) - (A Control + B Control)

I remember that in edgeR we could define such a list via:

my.contrasts <- makeContrasts().

In DESeq2, according to the vignette and these topics (DESEq2 comparison with mulitple cell types under 2 conditions and DESeq2 likelihood ratio test (LRT) design - 2 genotypes, 4 time points) I did:

dds <- DESeqDataSetFromMatrix(countData = cts, colData = coldata, design = ~ Genotype + Treatment + Genotype:Treatment)

dds$group <- factor(paste0(dds$Genotype, dds\$Treatment))

design(dds) <- ~ group

dds <- DESeq(dds)

resultsNames(dds)

The output of "resultsNames(dds)" was :

"Intercept", "group_ATreated_vs_AControl", "group_BControl_vs_AControl" and "group_BTreated_vs_AControl".

I expected to get something like "A_vs_B" and "Treated_vs_Control." But I saw this post (A: DESeq2 resultsNames output) that says: it is easy to test if the interaction effect is significant, by testing a single term: for example "groupY.conditionB".

However, which one of the “resultsNames(dds)” shortcuts should I use in the next step "Shrinkage of effect size" ? I am confused in regards to my biological questions.

Then, do I have to ask each question separately in DESq2 and compare them together later (outside DESeq2) ? I mean “A Treated vs A Control”, “B Treated vs B Control”, etc…

deseq2 • 311 views
modified 9 months ago by Michael Love24k • written 9 months ago by David ROUX10
Answer: DESeq2: two genotypes, one treatment
0
9 months ago by
Michael Love24k
United States
Michael Love24k wrote:

With this experimental setup, you don't have a single treatment effect but two: a treatment effect for A and another for B. Do you want to average them? Or do you want to get the separate effects?

Both are interesting, I mean:
1/ Get the differentially expressed genes in genotype A in response to treatment
2/ Get the differentially expressed genes in genotype B in response to treatment
3/ Compare the transcriptome response of genotype A vs B (before and after treatment)
A PCA would well reflects the expected response : four clouds such as AControl, ATreated, BControl, BTreated
I do not know if averaging is here a good strategy or not. But we would like to explore both the treatment effects and the genotype response. Sorry if I am not clear. :-)

You can use a design of ~genotype + genotype:treatment, to accomplish 1-3. You will use results with name for 1 and 2, and with contrast=list(..., ...) for 3.

Thanks. I got :

> resultsNames(dds)

[1] "Intercept" "Genotype_B_vs_A" "GenotypeA.TreatmentTreated" "GenotypeB.TreatmentTreated"

So, I suppose that :

Can we interpret the "Genotype_B_vs_A", as being the overall difference between genotypes regardless of the treatment?

For question 3, I am not sure that it is the good way to ask the question but I tried :

results(dds, contrast=list("GenotypeA.TreatmentTreated","GenotypeB.TreatmentTreated"))

But, how it is different from  ?

results(dds, name="Genotype_A_vs_B")

I saw that the first columns "baseMean" of the output dataframes contain the same values.

Genotype B vs A is the difference for controls.

Re: baseMean, see here:

http://bioconductor.org/packages/release/workflows/vignettes/rnaseqGene/inst/doc/rnaseqGene.html#building-the-results-table

or here:

http://bioconductor.org/packages/release/bioc/vignettes/DESeq2/inst/doc/DESeq2.html#access-to-all-calculated-values