DESeq2: two genotypes, one treatment
1
1
Entering edit mode
David ROUX ▴ 20
@david-roux-11055
Last seen 5.8 years ago
France (Avignon University)

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…

Tanks in advance.

deseq2 • 2.6k views
ADD COMMENT
0
Entering edit mode
@mikelove
Last seen 1 day ago
United States

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?

ADD COMMENT
0
Entering edit mode

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. :-)

ADD REPLY
0
Entering edit mode

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.

ADD REPLY
0
Entering edit mode

Thanks. I got :

> resultsNames(dds)

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

So, I suppose that :

"GenotypeA.TreatmentTreated" will answer question 1;

"GenotypeB.TreatmentTreated" will answer question 2;

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.

ADD REPLY
0
Entering edit mode

Thanks for your rapid and kind help ! :-)

ADD REPLY

Login before adding your answer.

Traffic: 742 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6