Skip to content

Instantly share code, notes, and snippets.

@tleonardi
Created August 29, 2018 13:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tleonardi/57ec89ef0909b6d7dd505932d67af51e to your computer and use it in GitHub Desktop.
Save tleonardi/57ec89ef0909b6d7dd505932d67af51e to your computer and use it in GitHub Desktop.
Replacement for DESeq2 plotDispEsts() tha uses ggplot2
plotDispEsts2 <- function(dds){
require(dplyr)
require(reshape2)
require(ggplot2)
as.data.frame(mcols(dds)) %>%
select(baseMean, dispGeneEst, dispFit, dispersion) %>%
melt(id.vars="baseMean") %>%
filter(baseMean>0) %>%
ggplot(aes(x=baseMean, y=value, colour=variable)) +
geom_point(size=0.1) +
scale_x_log10() +
scale_y_log10(labels=fancy_scientific) +
theme_bw() +
ylab("Dispersion") +
xlab("BaseMean") +
scale_colour_manual(
values=c("Black", "#e41a1c", "#377eb8"),
breaks=c("dispGeneEst", "dispFit", "dispersion"),
labels=c("Estimate", "Fit", "Final"),
name=""
) +
guides(colour = guide_legend(override.aes = list(size=2)))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment