{"id":32111489,"url":"https://github.com/mritchielab/glimmav2","last_synced_at":"2026-02-21T17:02:14.869Z","repository":{"id":46609985,"uuid":"250192412","full_name":"mritchielab/GlimmaV2","owner":"mritchielab","description":"interactive plots for differential expression analysis","archived":false,"fork":false,"pushed_at":"2025-06-19T04:53:35.000Z","size":36016,"stargazers_count":34,"open_issues_count":2,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-12-12T22:41:51.909Z","etag":null,"topics":["differential-expression","interactive-visualizations","r"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mritchielab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-03-26T07:43:21.000Z","updated_at":"2025-08-15T22:48:00.000Z","dependencies_parsed_at":"2024-12-08T23:24:14.825Z","dependency_job_id":"16655ab0-cdc1-4938-bd53-d7365772e78e","html_url":"https://github.com/mritchielab/GlimmaV2","commit_stats":{"total_commits":346,"total_committers":7,"mean_commits":49.42857142857143,"dds":0.5751445086705202,"last_synced_commit":"09241f6efdbfc2f8efb7e2aea7005be781bd3848"},"previous_names":["mritchielab/glimmav2","hasaru-k/glimmav2"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mritchielab/GlimmaV2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mritchielab%2FGlimmaV2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mritchielab%2FGlimmaV2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mritchielab%2FGlimmaV2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mritchielab%2FGlimmaV2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mritchielab","download_url":"https://codeload.github.com/mritchielab/GlimmaV2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mritchielab%2FGlimmaV2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29688216,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T15:51:39.154Z","status":"ssl_error","status_checked_at":"2026-02-21T15:49:03.425Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["differential-expression","interactive-visualizations","r"],"created_at":"2025-10-20T14:34:40.472Z","updated_at":"2026-02-21T17:02:14.864Z","avatar_url":"https://github.com/mritchielab.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\r\n  \u003cimg src=\"https://github.com/hasaru-k/GlimmaV2-docs/blob/master/documentation/glimma_des1.png\"\u003e\r\n\u003c/p\u003e\r\n\r\n[![Build Status](https://travis-ci.org/hasaru-k/GlimmaV2.svg?branch=master)](https://travis-ci.org/hasaru-k/GlimmaV2)\r\n[![codecov](https://codecov.io/gh/hasaru-k/GlimmaV2/branch/master/graph/badge.svg)](https://codecov.io/gh/hasaru-k/GlimmaV2)\r\n# \r\nGlimma 2.0 is an interactive R widget for creating plots for differential expression analysis, created using the [Vega](https://vega.github.io/vega/) and [htmlwidgets](https://www.htmlwidgets.org/) frameworks. It's an update/reimplementation of [Glimma 1.0](https://github.com/Shians/Glimma)! New features include:\r\n- 🧬 multiple gene selections\r\n- 📓 full integration with Quarto and R markdown\r\n- 🎨 support for interactive switching between contrasts in limma-style objects\r\n- 🖼 exporting plots to PNG/SVG/CSV formats\r\n\r\n#### Available on [Bioconductor](https://bioconductor.org/packages/release/bioc/html/Glimma.html).\r\n\r\nFeedback is welcome, please feel free to open an issue for any enhancements you would like to see in future.\r\n\r\n| Function | Example |\r\n| ------------- | ------------- |\r\n| **glimmaMA**: _MA plot_ | \u003cimg src=\"https://github.com/hasaru-k/GlimmaV2-docs/blob/master/documentation/MA.gif\" /\u003e |\r\n| **glimmaVolcano**: _Volcano plot_ | \u003cimg src=\"https://github.com/hasaru-k/GlimmaV2-docs/blob/master/documentation/volcano.gif\"/\u003e |\r\n| **glimmaMDS**: _Multidimensional scaling plot_ | \u003cimg src=\"https://github.com/hasaru-k/GlimmaV2-docs/blob/master/documentation/MDS.png\"/\u003e |\r\n\r\n## Installation\r\nYou can install the development version of GlimmaV2 using devtools from the R command line.\r\n```R\r\ndevtools::install_github(\"mritchielab/GlimmaV2\")\r\n```\r\n## Features\r\n\r\n### Multiple contrast selection\r\n\r\nYou now can interactively switch between multiple contrasts within _limma_ style objects:\r\n\u003cimg src=\"https://github.com/hasaru-k/GlimmaV2-docs/blob/master/documentation/contrasts.gif\" width=\"600px\"/\u003e\r\n\r\n### Expression plot controls\r\n\r\n| Y-axis | Jitter |\r\n| ------------- | ------------- |\r\n| You can **fix** the **y-axis** when switching between genes by specifying ```Y min``` and ```Y max``` values: \u003cimg src=\"https://github.com/hasaru-k/GlimmaV2-docs/blob/master/documentation/axis.gif\"/\u003e | Jitter can be interactively applied when samples are overlying each other: \u003cimg src=\"https://github.com/hasaru-k/GlimmaV2-docs/blob/master/documentation/jitter.gif\"/\u003e |\r\n\r\n### Plot Colouring (MA/Volcano/XY)\r\nThe default mapping between the status vector and color of the gene is given below:\r\n```\r\n-1 (downreg)   =\u003e  blue\r\n 0 (not DE)    =\u003e  silver\r\n 1 (upreg)     =\u003e  red\r\n```\r\nAccordingly, 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\n```R\r\nglimmaMA(fit, dge=rnaseq, status.colours=c(\"#3977db\",\"#3d3f42\",\"#db0d4e\"))\r\n```\r\n```R\r\nglimmaVolcano(fit, dge=rnaseq, status.colours=c(\"blue\", \"darkgrey\", \"red\"))\r\n```\r\n```R\r\nglimmaXY(x=fit$coef, y=fit$lod, dge=rnaseq, status=dtFit, status.colours=c(\"cyan\", \"grey\", \"hotpink\"))\r\n```\r\n### Gene Symbol Text (MA/Volcano/XY)\r\nGene 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. \r\n\r\n- 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\r\n- for glimmaXY, ```anno``` is always ```NULL``` by default\r\n\r\n\r\n### MDS Options\r\nThe ```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\n```R\r\nglimmaMDS(rnaseq, groups=groups, continuous.colour=TRUE)\r\n```\r\nThe 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.\r\n\r\n### Exporting Standalone HTML\r\n\r\nSpecifying 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\n\r\n```R\r\nglimmaMA(fit, dge=rnaseq, html=\"MA_plot.html\")\r\n```\r\nIf 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](https://rdrr.io/cran/htmlwidgets/man/saveWidget.html).\r\n```R\r\nglMA \u003c- glimmaMA(fit, dge=rnaseq)\r\nhtmlwidgets::saveWidget(glMA, file=\"glimmaV2Example.html\")\r\n```\r\n\r\n### Sizing\r\nThe 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\n```R\r\nglimmaMA(fit, dge=rnaseq, width=1200, height=1200)\r\n```\r\nAll 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.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmritchielab%2Fglimmav2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmritchielab%2Fglimmav2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmritchielab%2Fglimmav2/lists"}