GlimmaV2

interactive plots for differential expression analysis

https://github.com/mritchielab/GlimmaV2

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

differential-expression interactive-visualizations r
Last synced: 6 months ago · JSON representation

Repository

interactive plots for differential expression analysis

Basic Info
  • Host: GitHub
  • Owner: mritchielab
  • License: lgpl-3.0
  • Language: JavaScript
  • Default Branch: master
  • Homepage:
  • Size: 34.3 MB
Statistics
  • Stars: 34
  • Watchers: 3
  • Forks: 10
  • Open Issues: 2
  • Releases: 1
Topics
differential-expression interactive-visualizations r
Created almost 6 years ago · Last pushed 8 months ago
Metadata Files
Readme License

README.md

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 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, 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: 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

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

All Time
  • Total Commits: 388
  • Total Committers: 9
  • Avg Commits per committer: 43.111
  • Development Distribution Score (DDS): 0.621
Past Year
  • Commits: 40
  • Committers: 4
  • Avg Commits per committer: 10.0
  • Development Distribution Score (DDS): 0.1
Top Committers
Name Email 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

DESCRIPTION cran
  • 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