off-target effects in DE analysis
1
0
Entering edit mode
g.atla ▴ 10
@gatla-9491
Last seen 7.1 years ago

I would like to know what would be the best way to ignore the off-target effects in differential expression analysis.

If I have two subgroups of data from two different siRNAs, lets say I have different biological replicates for two siRNAs ( 3 biological replicates each ) and compare against three control sets ( 3 biological replicates each). So far I am making the contrast like:


treat=factor(rep(c("treat1","treat2","control1","control2","control3"), each=3))
design <- model.matrix(~treat)
con <- makeContrasts((treattreat1 + treattreat2)/2 - (treatcontrol2+treatcontrol3)/3, levels=design)

and using this contrast in glmLRT.


y <- DGEList(counts=filtered, group=treat)
y <- calcNormFactors(y)

counts.per.m <- cpm(y, normalized.lib.sizes=TRUE)
write.table(counts.per.m, file="edgeR_logCPM.txt", sep="\t")

y <- estimateGLMCommonDisp(y, design, verbose=TRUE)
y <- estimateGLMTrendedDisp(y, design)
y <- estimateGLMTagwiseDisp(y, design)
fit <- glmFit(y, design)
lrt <- glmLRT(fit,contrast=con)
top <- topTags(lrt, n=nrow(y))$table

I would like to know if this is correct approach and if there is any better way to do it.

 

edger differential gene expression • 1.1k views
ADD COMMENT
0
Entering edit mode

hi,

This looks a question about using the edgeR software, so I am removing the DESeq2 tag.

ADD REPLY
0
Entering edit mode

Are the two siRNAs targeting the same gene? What is the nature of the controls, e.g., shuffled/nonsense siRNA?

ADD REPLY
0
Entering edit mode

Hi Aaron, the siRNAs are targeting the same gene (LncRNA in my case). The controls are of different non-targeting siRNAs. 

ADD REPLY
3
Entering edit mode
Aaron Lun ★ 28k
@alun
Last seen 1 day ago
The city by the bay

There's several ways to cut this, but it seems that you should be focusing on finding genes that are DE in treat1 and treat2 against each control. We require DE against each control, because if you have a gene that is DE against one control but not DE against another control, then one could reasonably argue that the DE in the first comparison is an artifact from some aspect of the experiment that is captured by the second control but not by the first. We also require DE in both treatments against each control (hence, the "and" condition above). This should reduce detection of DE genes due to off-target effects, as it seems unlikely to get the same type of spurious DE from different siRNA sequences with different non-specific targets.

In short, you could do something like this:

design <- model.matrix(~0 + treat)
colnames(design) <- levels(treat)
con <- makeContrasts(treat1 - control1, treat1 - control2, treat1 - control3,
    treat2 - control1, treat2 - control2, treat2 - control3, levels=design)
# ... edgeR stuff ...
lrt11 <- glmLRT(fit,contrast=con[,1])
lrt12 <- glmLRT(fit,contrast=con[,2])
lrt13 <- glmLRT(fit,contrast=con[,3])
lrt21 <- glmLRT(fit,contrast=con[,4])
lrt22 <- glmLRT(fit,contrast=con[,5])
lrt23 <- glmLRT(fit,contrast=con[,6])

... and then identify the genes that are DE (in the same direction, hopefully) across all comparisons. This is the most conservative approach, but anything you get out should be very reliable with respect to specificity. If you don't get any genes, you could relax it a bit by only requiring DE in one treatment or the other:

lrt1x <- glmLRT(fit,contrast=con[,c(1,4)])
lrt2x <- glmLRT(fit,contrast=con[,c(2,5)])
lrt3x <- glmLRT(fit,contrast=con[,c(3,6)])

This effectively does an ANOVA-like comparison to test for differences in treat1 or treat2 against each control (you then identify the intersection of the DE genes from the comparisons to each control). This might be better if you suspect your two siRNAs have differences in efficiency such that requiring concomitant changes in both would be too stringent.

Finally, the contrast you have in your original post wouldn't provide much protection against off-target effects. Strong DE due to an off-target effect in either treatment would result in a non-zero log-fold change. Even if this off-target DE were captured by one control, the expression of the control is divided by 3 whereas the expression of the treatments is only divided by 2; changes to the former would be outweighed by changes of the same size in the latter.

ADD COMMENT
0
Entering edit mode

Hi Aaron, Thanks you very much for your patience and time. When it comes to my original post, How could I fix it ? I divided the control by 3, as I have 3 subsets of controls, where as I have only 2 subsets of treat.

 

ADD REPLY
1
Entering edit mode

There's nothing technically wrong with your original contrast (assuming control1 is the intercept). It just won't provide a lot of protection against off-target effects. It only reports the average log-fold change between both treatments and all controls, it won't determine if the DE between each treatment and each control is consistent or not.

ADD REPLY
0
Entering edit mode

I see. Thank you very much,

ADD REPLY

Login before adding your answer.

Traffic: 748 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