GlimmaV2
interactive plots for differential expression analysis
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
2 of 9 committers (22.2%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.2%) to scientific vocabulary
Keywords
Repository
interactive plots for differential expression analysis
Basic Info
Statistics
- Stars: 34
- Watchers: 3
- Forks: 10
- Open Issues: 2
- Releases: 1
Topics
Metadata Files
README.md
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 Quarto and R markdown - 🎨 support for interactive switching between contrasts in limma-style objects - 🖼 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.
| Function | Example |
| ------------- | ------------- |
| glimmaMA: MA plot |
|
| glimmaVolcano: Volcano plot |
|
| glimmaMDS: Multidimensional scaling plot |
|
Installation
You can install the development version of GlimmaV2 using devtools from the R command line.
R
devtools::install_github("mritchielab/GlimmaV2")
Features
Multiple contrast selection
You now can interactively switch between multiple contrasts within limma style objects:

Expression plot controls
| Y-axis | Jitter |
| ------------- | ------------- |
| You can fix the y-axis when switching between genes by specifying Y min and Y max values:
| Jitter can be interactively applied when samples are overlying each other:
|
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):
R
glimmaMA(fit, dge=rnaseq, status.colours=c("#3977db","#3d3f42","#db0d4e"))
R
glimmaVolcano(fit, dge=rnaseq, status.colours=c("blue", "darkgrey", "red"))
R
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,
annodefaults tox$genesfor DGELRT/DGEExact and MArrayLM objects and defaults toNULLfor DESeqDataSet objects - see?glimmaMA,?glimmaVolcanofor further detail - for glimmaXY,
annois alwaysNULLby 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:
R
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.
R
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.
R
glMA <- glimmaMA(fit, dge=rnaseq)
htmlwidgets::saveWidget(glMA, file="glimmaV2Example.html")
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:
R
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.
Owner
- Name: mritchielab
- Login: mritchielab
- Kind: organization
- Repositories: 1
- Profile: https://github.com/mritchielab
GitHub Events
Total
- Issues event: 4
- Watch event: 7
- Issue comment event: 13
- Push event: 55
- Pull request review event: 1
- Pull request review comment event: 1
- Pull request event: 38
- Fork event: 1
- Create event: 19
Last Year
- Issues event: 4
- Watch event: 7
- Issue comment event: 13
- Push event: 55
- Pull request review event: 1
- Pull request review comment event: 1
- Pull request event: 38
- Fork event: 1
- Create event: 19
Committers
Last synced: 10 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| hasacat | h****m@g****m | 147 |
| hasaru kariyawasam | 3****k | 110 |
| shians | r****u@g****m | 79 |
| hasaru kariyawasam | 3****t | 19 |
| Oliver Voogd | 5****d | 18 |
| Charity W Law | l****w@w****u | 11 |
| Shian Su | s****s@p****n | 2 |
| Michael Love | m****e | 1 |
| Nghia Nguyen (Mitchell) | n****1@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 3
- Total pull requests: 21
- Average time to close issues: 12 months
- Average time to close pull requests: 14 days
- Total issue authors: 3
- Total pull request authors: 3
- Average comments per issue: 1.33
- Average comments per pull request: 0.38
- Merged pull requests: 19
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 21
- Average time to close issues: about 6 hours
- Average time to close pull requests: 14 days
- Issue authors: 1
- Pull request authors: 3
- Average comments per issue: 1.0
- Average comments per pull request: 0.38
- Merged pull requests: 19
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- ax3301 (1)
Pull Request Authors
- hasaru-k (17)
- IgnatiusPang (1)
- mikelove (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- R >= 4.0.0 depends
- DESeq2 * imports
- S4Vectors * imports
- SummarizedExperiment * imports
- edgeR * imports
- htmlwidgets * imports
- jsonlite * imports
- limma * imports
- methods * imports
- stats * imports
- AnnotationHub * suggests
- BiocStyle * suggests
- GenomicRanges * suggests
- IRanges * suggests
- knitr * suggests
- pryr * suggests
- rmarkdown * suggests
- scRNAseq * suggests
- scater * suggests
- scran * suggests
- testthat * suggests