escheR
R package to visualize colocalization for single cell & spatially-resolved genomics data
Science Score: 26.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
-
✓DOI references
Found 4 DOI reference(s) in README -
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.4%) to scientific vocabulary
Keywords
Repository
R package to visualize colocalization for single cell & spatially-resolved genomics data
Basic Info
- Host: GitHub
- Owner: boyiguo1
- License: other
- Language: R
- Default Branch: devel
- Homepage: https://boyi-guo.com/escheR/
- Size: 101 MB
Statistics
- Stars: 7
- Watchers: 3
- Forks: 2
- Open Issues: 7
- Releases: 2
Topics
Metadata Files
README.md
escheR 
The goal of escheR is to create an unified multi-dimensional spatial visualizations for spatially-resolved transcriptomics data following Gestalt principles. Gestalt principles refer to a set of rules describing how humans perceive and interpret visual information and are commonly applied in art and designs. Our implementation is based on the state-of-art data visualization framework ggplot2 to map individual variables to different aesthetics to simultaneously display disparate variables, showing their relationship in a spatial context.

Our manuscript describing the innovative visualization is published in Bioinformatics Advances.
Installation
You can install the latest release version of escheR from Bioconductor. with using the following code will install version of the nnSVG package from Bioconductor. Additional details are shown on the Bioconductor page.
{r}
if (!require("BiocManager", quietly = TRUE)) {
install.packages("BiocManager")
}
BiocManager::install("escheR")
The latest development version can also be installed from the devel version of Bioconductor or from GitHub following
{r}
if (!require("devtools")) install.packages("devtools")
devtools::install_github("boyiguo1/escheR")
If you have R version before v4.3 and would like to install escheR, you can follow
{r}
if (!require("devtools")) install.packages("devtools")
devtools::install_github("boyiguo1/escheR@pre-R4.3")
WARNING: The purpose of having the branch
pre-R4.3is to allow users to useescheRbefore the formal release of R 4.3 and during the early stage of R 4.3 release. This branch will not update with any further development passingescheR v0.99.6. We recommend users to update their R versions up to date.
Tutorial
Please find an end-to-end tutorial at https://boyiguo1.github.io/escheR/
Syntax

Frequently Asked Questions
- Can I use
escheRonSingleCellExperimentobject?
Yes. Starting from Version 1.2.0, escheR supports the visualization of
dimensionality reduced embeddings of a SingleCellExperiment object by
providing values to the argument dimred. For more information, please see
Beyond Sequence-based Spatially-Resolved Data.
- How can I make plots to visualize dimensional reduced embeddings?
Yes, you can provide a string value to thedimred argument. The string value
should be included in reducedDimNames(object). For more information, please
see Beyond Sequence-based Spatially-Resolved Data.
- Can I highlight only a subset of groups/levels for a categorical variables?
Yes, please find the example in Adjusting aesthetics.
- Can
escheRbe directly applied toSeuratorGiottoobjects?
Unfortunately, Seurat or Giotto objects can not be directly pipe into
make_escheR function. Instead, we provide a generic function that works
with a data.frame object as input. Please find example via Beyond Bioconductor Eco-system.
- How can I make a paneled figure containing multiple
escheRplots?
You can compile and arrange individual plots by escheR via functions, e.g. cowplot::plot_grid, patchwork. Please find the
example via Plot Multiple Samples.
- How can I choose color palettes for
add_fillandadd_groundto minimize interference?
Interested user can explore the topic on bivariate color palette. The blog post by Jakub Nowosad and R package biscale could be helpful.
- Can I apply
escheRto plot image-based spatially resolved data?
In principle, escheR can be used to visualize image-based spatially-resolved (SR)
data. See examples via Image-based SpatialExperiment Object.
Nevertheless, we are still optimizing the design principles for image-based SR data due to the difference in throughput compared to the sequence-based spatially resolved data. Optimization for image-based SR data visualization will be the main focus of our upcoming updates. We are open to working with new ideas and seek collaboration.
- Can I plot polygons as each data points to show cell morphology?
Unfortunately, not now. We acknowledge it would be a very important feature to consider, and we are motivated to implement it in our future updates.
Citation
Our manuscript describing escheR is available via Bioinformatics Advances:
- Guo B, Huuki-Myers LA, Grant-Peters M, Collado-Torres L, Hicks SC (2023). “escheR: Unified multi-dimensional visualizations with Gestalt principles.” Volume 3, Issue 1, 2023, vbad179, https://doi.org/10.1093/bioadv/vbad179
Acknowledgement
The importance of visual analytics
The panel of relational plots is from the book the visual display of quantitative information by Edward Tufte. This book inspired me to think more about the meaning of visual analytics in the era of computational science, and motivates me to think about statistical graphics design and its meaning.
Development tools
- Continuous code testing is possible thanks to GitHub actions through biocthis,
- The documentation website is automatically updated thanks to pkgdown.
- The code is styled automatically thanks to styler.
- The documentation is formatted thanks to devtools and roxygen2.
Owner
- Name: Boyi Guo
- Login: boyiguo1
- Kind: user
- Location: Baltimore, MD
- Company: Johns Hopkins University
- Website: boyi-guo.com
- Twitter: BoyiGuo
- Repositories: 49
- Profile: https://github.com/boyiguo1
Biostatistician, Omics data scientist
GitHub Events
Total
Last Year
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Boyi Guo | b****k@g****m | 163 |
| J Wokaty | j****y | 2 |
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 25
- Total pull requests: 14
- Average time to close issues: about 2 months
- Average time to close pull requests: about 1 hour
- Total issue authors: 3
- Total pull request authors: 1
- Average comments per issue: 0.4
- Average comments per pull request: 0.0
- Merged pull requests: 14
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- boyiguo1 (23)
- calebhallinan (1)
- JayaniLakshika (1)
Pull Request Authors
- boyiguo1 (14)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- bioconductor 6,428 total
- Total dependent packages: 2
- Total dependent repositories: 0
- Total versions: 6
- Total maintainers: 1
bioconductor.org: escheR
Unified multi-dimensional visualizations with Gestalt principles
- Homepage: https://github.com/boyiguo1/escheR
- Documentation: https://bioconductor.org/packages/release/bioc/vignettes/escheR/inst/doc/escheR.pdf
- License: MIT + file LICENSE
-
Latest release: 1.8.0
published 10 months ago
Rankings
Maintainers (1)
Dependencies
- JamesIves/github-pages-deploy-action v4.4.1 composite
- actions/checkout v3 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
- R >= 4.3 depends
- ggplot2 * depends
- SpatialExperiment >= 1.6.1 imports
- SummarizedExperiment * imports
- rlang * imports
- spatialLIBD >= 1.11.3 imports
- BiocStyle * suggests
- STexampleData * suggests
- knitr * suggests
- rmarkdown * suggests