Hi Bioconductor community!
I'm using DESeq2 to visualize which taxa are significantly enriched in one treatment over a control and realized that the vignette doesn't result in plots with error bars. Is this because what the error bars represent (standard deviations) get wrapped up in DESeq2's p-values or another statistic?
First I get the results from a DESeqDataSet
object "DDSfbps1spooled
" grouped by "Rep
", between "ctrl0
" and "treatment
" with
res.ctrl.treatment<-results(DDSfbps1spooled, contrast=c("Rep","treatment","ctrl0"), cooksCutoff = FALSE) res.ctrl.treatment = res.ctrl.treatment[order(res.ctrl.treatment$padj, na.last=NA), ] alpha = 0.05 #0.01 by default, in my field, env. eng, we define significance at alpha=0.05 sigtab.res.ctrl.treatment = res.ctrl.treatment[(res.ctrl.treatment$padj < alpha), ] sigtab.res.ctrl.treatment = cbind(as(sigtab.res.ctrl.treatment, "data.frame"), as(tax_table(fbps1spooled)[rownames(sigtab.res.ctrl.treatment), ], "matrix"))
Then I plot it using ggplot2's layers with
treatmenteffect<-ggplot(sigtab.res.ctrl.treatment, aes(x=log2FoldChange, y=Order, fill=Phylum, shape=Kingdom)) treatmenteffect$layers <-treatmenteffect$layers[-1] treatmenteffect+ scale_x_continuous(limits=c(-50,40))+ ylab("")+xlab("") + theme(legend.position="none",text=element_text(size=16, family="serif"),axis.text.x = element_text(angle = 0, hjust = NULL, vjust=0.5))+ scale_shape_manual(values=c(21,23))+ scale_fill_manual(values=c("#41ab5d","#dd3497"))+geom_point(size=5, alpha=0.7)
Thanks!!!
~Lauren
Thanks Mike! A few follow up questions:
The SE on the LFC are calculated using all the samples in the DESeqDataSet. It doesn't have an 'n' like you would put if you were estimating the mean for a population, and then saying that you observed 'n' from the population.
I guess the multiple test correction may be getting too complicated. I would just mention if you draw the SE that it is the estimated standard error for the log fold change from the model (DESeq2).