Question: How to use edgeR to compare multiple conditions to reference condtiion
3
gravatar for xmix
4.9 years ago by
xmix40
United States
xmix40 wrote:

I have an RNA-seq experiments with a control, and 4 treatments, for each I have 3 replicates. I would like to find genes that are differentially expressed in any of these conditions compared to the control samples.

Meaning if gene A is up/down-regulated in one or more of the treatments compared to the control, I would like to know about it.

lcd = read.delim('mydata', row.names=1, as.is=T)
group = factor(c(rep("ctrl", 3), rep("treat1",3), rep("treat2",3), rep("treat3",3),rep("treat4",3)))
cds  <- DGEList(lcd, group = group)

 What is the alternative for using exactTest multiple times and intersecting the results, given that I would not like to average the expression of the treatments as the different treatment have different consequences?

Thanks!

ADD COMMENTlink modified 4.9 years ago by komal.rathi3.4k • written 4.9 years ago by xmix40
2
gravatar for Devon Ryan
4.9 years ago by
Devon Ryan91k
Freiburg, Germany
Devon Ryan91k wrote:
design = model.matrix(~group)
f <- glmFit(cds, design)
lrt <- glmLRT(f, coef=2:4)
topTags(lrt)

In other words, you'd test the full model against one lacking group information.

Edit: BTW, you might find this older thread from the bioconductor list useful. It's often best to search that list when a question arises, since odds are good someone has asked a similar question there (or here) before.

ADD COMMENTlink modified 4.9 years ago • written 4.9 years ago by Devon Ryan91k
1

I think design = ~group should be

design = model.matrix(object = ~group)

 

ADD REPLYlink written 4.9 years ago by xmix40

You are correct! Good catch. I've updated the answer to correct that mistake.

ADD REPLYlink modified 4.9 years ago • written 4.9 years ago by Devon Ryan91k

I know this is old, but why isn't it coef=2:5??

ADD REPLYlink written 11 months ago by goodez460

those coefficients denote comparison of ctrl (1) with : treat (2) , treat2 (3), treat3 (4), treat4 (5). goodez

ADD REPLYlink written 3 months ago by cpad011211k

Yes so 4 treatments, why is there only 3 coefficients (2:4)?

ADD REPLYlink written 3 months ago by goodez460

Hi, Devon.

I did not understant one thing. If I have 4 groups: 1,1,1,2,2,2,3,3,3,4,4,4, and I want to compare all of them against each other, how can I do that?

For exemplo:

x <- read.delim("table.csv",row.names="genes")
group <- factor(c(1,1,1,2,2,2))
y <- DGEList(counts=x,group=group)
y <- calcNormFactors(y)
design <- model.matrix(~group)
y <- estimateDisp(y,design)
et <- exactTest(y)

In this case, I am comparing groups 1 and 2. Them I would do that for the other comparisons.

Or, instead of that should I do something like this:

x <- read.delim("table.csv",row.names="genes")
group <- factor(c(1,1,1,2,2,2,3,3,3,4,4,4))
y <- DGEList(counts=x,group=group)
y <- calcNormFactors(y)
design <- model.matrix(~group)
y <- estimateDisp(y,design)
fit <- glmQLFit(y,design)
qlf_quasi <- glmQLFTest(fit,coef=2:4)
topTags(qlf_quasi)

The problem is that I don't know exactly how to use coef for this kind of comparisons. coef=2:4 will compare all groups against the control group, but I do not have a control group, I want to compare everything.

Other problem is that when I use the code like this the output is a single table with multiple comparisons, but just one p-value and one FDR. I need separeted p-values for each comparison (like pos-tests for ANOVA).

It would be great if you can help me.

Thanks

ADD REPLYlink written 6 weeks ago by silas008100

that is also my question , i have the same situation but i couldn't reach the proper answer.

ADD REPLYlink written 26 days ago by ali.hakimzadeh0
Please log in to add an answer.

Help
Access

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