Skip to content
forked from hasaru-k/GlimmaV2

interactive plots for differential expression analysis

License

Notifications You must be signed in to change notification settings

Shians/GlimmaV2

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status codecov

Glimma 2,0 is an interactive R widget for creating plots for differential expression analysis, created using the Vega and htmlwidgets frameworks. It's an update/reimplementation of Glimma 1.0! New features include:

  • 🧬 multiple gene selections
  • 📓 full integration with R markdown
  • 🖼 exporting plots to PNG/SVG/CSV formats

Available on Bioconductor.

Feedback is welcome, please feel free to open an issue for any enhancements you would like to see in future.

glimmaMA: MA plot

MA plot

glimmaVolcano: Volcano plot

Volcano plot

glimmaMDS: Multidimensional scaling plot

MDS plot

Installation

You can install the development version of GlimmaV2 using devtools from the R command line.

devtools::install_github("hasaru-k/GlimmaV2")

Options

Plot Colouring (MA/Volcano/XY)

The default mapping between the status vector and color of the gene is given below:

-1 (downreg)   =>  blue
 0 (not DE)    =>  silver
 1 (upreg)     =>  red

Accordingly, the default status.colours argument is c("dodgerblue", "silver", "firebrick"). If no status vector is provided, all genes are given a status value of 0. The colour mapping can be changed by varying the status.colours argument which must be a vector of three valid CSS strings (for example: #f304d3, #fff, rgb(253, 12, 134), steelblue):

glimmaMA(fit, dge=rnaseq, status.colours=c("#3977db","#3d3f42","#db0d4e"))
glimmaVolcano(fit, dge=rnaseq, status.colours=c("blue", "darkgrey", "red"))
glimmaXY(x=fit$coef, y=fit$lod, dge=rnaseq, status=dtFit, status.colours=c("cyan", "grey", "hotpink"))

Gene Symbol Text (MA/Volcano/XY)

Gene symbol text will be displayed above selected points if there is a symbol column (case-insensitive) within the gene annotation supplied as per the example plots shown above. The gene annotation is the anno argument.

  • for the glimmaVolcano and glimmaMA functions, anno defaults to x$genes for DGELRT/DGEExact and MArrayLM objects and defaults to NULL for DESeqDataSet objects - see ?glimmaMA, ?glimmaVolcano for further detail
  • for glimmaXY, anno is always NULL by default

MDS Options

The scale_by dropdown menu contains numeric features provided the groups dataframe, while the shape_by dropdown contains discrete features provided by the groups dataframe. The colour_by dropdown contains discrete features by default but can be altered to take numeric features such as library size by setting continuous.colour=TRUE:

glimmaMDS(rnaseq, groups=groups, continuous.colour=TRUE)

The test used to distinguish numeric vs discrete features in the groups dataframe is sapply(groups, is.numeric), so the appropriate coercions can be used toggle ambiguous features between numeric/discrete.

Exporting Standalone HTML

Specifying a filename using the html argument (including the extension) in any of the GlimmaV2 functions will export the widget to a standalone single HTML file, rather than displaying/returning the widget in R Markdown.

glimmaMA(fit, dge=rnaseq, html="MA_plot.html")

If more flexibility is required (ex. varying the background colour, whether or not the file should be standalone), the user can call htmlwidgets::saveWidget() on instantiated widgets which has further options.

glMA <- glimmaMA(fit, dge=rnaseq)
htmlwidgets::saveWidget(glMA, file="glimmaV2Example.html")

Fixing Expression Y-Axis (MA/Volcano/XY)

GlimmaV2 automatically rescales the y-axis of the expression plot depending on which gene is currently selected. This can make it difficult to compare the expression of different genes. In order to fix the y-axis when selecting between multiple genes, you can specify a maximum y-value in the max_y_axis input form.

Rescaling Axis Fixed Axis

Sizing

The width and height parameters can be adjusted to change the dimensions of the widget in pixels in the RStudio viewer and in knitted HTML:

glimmaMA(fit, dge=rnaseq, width=1200, height=1200)

All GlimmaV2 functions take optional width/height arguments. The default glimmaMA/glimmaXY width and height are both 920px, so they should be modified in a 1:1 ratio if preserving the original scale is desired.

About

interactive plots for differential expression analysis

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 86.4%
  • CSS 8.0%
  • R 5.4%
  • Other 0.2%