plotgardener
Science Score: 23.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
-
○Academic publication links
-
✓Committers with academic emails
5 of 13 committers (38.5%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.5%) to scientific vocabulary
Keywords from Contributors
Repository
Basic Info
- Host: GitHub
- Owner: PhanstielLab
- License: other
- Language: R
- Default Branch: devel
- Homepage: https://phanstiellab.github.io/plotgardener/
- Size: 127 MB
Statistics
- Stars: 330
- Watchers: 7
- Forks: 28
- Open Issues: 21
- Releases: 0
Metadata Files
README.md
Overview
plotgardener is a genomic data visualization package for R. Using grid
graphics, plotgardener empowers users to programmatically and flexibly
generate multi-panel figures. plotgardener accomplishes these goals by
utilizing 1) a coordinate-based plotting system, and 2) edge-to-edge
containerized data visualization. The coordinate-based plotting system
grants users precise control over the size, position, and arrangement of
plots. Its edge-to-edge plotting functions preserve the mapping between
user-specified containers and the represented data. This allows users to
stack plots with confidence that vertically aligned data will correspond
to the same regions. For more information about plotgardener’s philosophy
and design, check out the Our Philosophy page.
Specialized for genomic data, plotgardener also contains functions to read
and plot multi-omic data quickly and easily. These functions are
integrated with Bioconductor packages to flexibly accommodate a large variety
of genomic assemblies. plotgardener can address an
endless number of use cases, including: dynamic exploration of genomic
data, arrangement into multi-omic layouts, and survey plotting for
quickly viewing data across the genome. Check out our vignettes for
detailed examples and suggested use cases!
Citation
To cite plotgardener in publications use:
Nicole E Kramer, Eric S Davis, Craig D Wenger, Erika M Deoudes, Sarah M Parker, Michael I Love, Douglas H Phanstiel, Plotgardener: cultivating precise multi-panel figures in R, Bioinformatics, 2022.
Installation
plotgardener can be installed from Bioconductor version 3.19
(R version 4.4) as follows:
``` r if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")
BiocManager::install(version = "3.19")
BiocManager::install("plotgardener")
```
Example datasets and files are included with the package plotgardenerData:
r
BiocManager::install("plotgardenerData")
Usage

``` r
Load libraries and datasets
library("plotgardener") library("org.Hs.eg.db") library("TxDb.Hsapiens.UCSC.hg19.knownGene") library("plotgardenerData") library("AnnotationHub") data("GM12878HiC10kb") data("IMR90HiC10kb") data("GM12878ChIPCTCFsignal") data("IMR90ChIPCTCFsignal") data("GM12878ChIPH3K27acsignal") data("IMR90ChIPH3K27acsignal")
Create a plotgardener page
pageCreate(width = 7, height = 4.25, default.units = "inches")
## Panel A
Text section label
plotText(label = "A", fontsize = 12, x = 0.25, y = 0.25, just = "left", default.units = "inches")
Set genomic and dimension parameters in a params object
params_a <- pgParams(chrom = "chr21", chromstart = 28000000, chromend = 30300000, assembly = "hg19", x = 0.25, width = 2.75, just = c("left", "top"), default.units = "inches")
Double-sided Hi-C Plot
hicPlottop <- plotHicSquare(data = GM12878HiC10kb, params = paramsa, zrange = c(0, 200), resolution = 10000, half = "top", y = 0.5, height = 2.75) hicPlotbottom <- plotHicSquare(data = IMR90HiC10kb, params = paramsa, zrange = c(0, 70), resolution = 10000, half = "bottom", y = 0.5, height = 2.75)
Annotate Hi-C heatmap legends
annoHeatmapLegend(plot = hicPlotbottom, fontsize = 7, x = 3.05, y = 0.5, width = 0.07, height = 0.5, just = c("left", "top"), default.units = "inches") annoHeatmapLegend(plot = hicPlottop, fontsize = 7, x = .125, y = 0.5, width = 0.07, height = 0.5, just = c("left", "top"), default.units = "inches")
Plot gene track
genesa <- plotGenes(params = paramsa, stroke = 1, fontsize = 6, y = 3.35, height = 0.4)
Annotate genome label
annoGenomeLabel(plot = genesa, params = paramsa, scale = "Mb", fontsize = 7, y = 3.85)
## Panel B
Text section label
plotText(label = "B", fontsize = 12, x = 3.5, y = 0.25, just = "left", default.units = "inches")
Plot ideogram
plotIdeogram(chrom = "chr21", assembly = "hg19", x = 3.5, y = 0.5, width = 3.25, height = 0.15, just = c("left", "top"), default.units = "inches")
Add text to ideogram
plotText(label = "Chromosome 21", fontsize = 8, fontcolor = "darkgrey", x = 6.75, y = 0.4, just = "right", default.units = "inches")
## Panel C
Text section label
plotText(label = "C", fontsize = 12, x = 3.5, y = 1, just = c("left", "top"), default.units = "inches")
Set genomic and dimension parameters in a params object
params_c <- pgParams(chrom = "chr21", chromstart = 28150000, chromend = 29150000, assembly = "hg19", x = 3.5, width = 1.5, default.units = "inches")
Set signal track data ranges
ctcfrange <- pgParams(range = c(0, 77), assembly = "hg19") hkrange <- pgParams(range = c(0, 32.6), assembly = "hg19")
Plot Hi-C triangle
hicgm <- plotHicTriangle(data = GM12878HiC10kb, params = paramsc, zrange = c(0, 200), resolution = 10000, y = 1.75, height = 0.75, just = c("left", "bottom"))
Annotate Hi-C heatmap legend
annoHeatmapLegend(plot = hic_gm, fontsize = 7, x = 5, y = 1, width = 0.07, height = 0.5, just = c("right", "top"), default.units = "inches")
Plot CTCF signal
ctcfgm <- plotSignal(data = GM12878ChIPCTCFsignal, params = c(paramsc, ctcfrange), fill = "#253494", linecolor = "#253494", y = 1.95, height = 0.6)
CTCF label
plotText(label = "CTCF", fontcolor = "#253494", fontsize = 8, x = 3.5, y = 1.95, just = c("left","top"), default.units = "inches")
Plot H3K27ac signal
hkgm <- plotSignal(data = GM12878ChIPH3K27acsignal, params = c(paramsc, hkrange), fill = "#37a7db", linecolor = "#37a7db", y = 3.25, height = 0.6, just = c("left", "bottom"))
H3K27ac label
plotText(label = "H3K27ac", fontcolor = "#37a7db", fontsize = 8, x = 3.5, y = 2.65, just = c("left","top"), default.units = "inches")
Plot genes
genesgm <- plotGenes(params = paramsc, stroke = 1, fontsize = 6, strandLabels = FALSE, y = 3.35, height = 0.4)
Annotate genome label
annoGenomeLabel(plot = genesgm, params = paramsc, scale = "Kb", fontsize = 7, y = 3.85)
## Panel D
Text section label
plotText(label = "D", fontsize = 12, x = 5.25, y = 1, just = c("left", "top"), default.units = "inches")
Set genomic and dimension parameters in a params object
params_d <- pgParams(chrom = "chr21", chromstart = 28150000, chromend = 29150000, assembly = "hg19", x = 6.75, width = 1.5, default.units = "inches")
Plot Hi-C triangle
hicimr <- plotHicTriangle(data = IMR90HiC10kb, params = paramsd, zrange = c(0, 70), resolution = 10000, y = 1.75, height = 0.75, just = c("right", "bottom"))
Annotate Hi-C heatmap legend
annoHeatmapLegend(plot = hic_imr, fontsize = 7, digits = 0, x = 6.75, y = 1, width = 0.07, height = 0.5, just = c("right", "top"))
Plot CTCF signal
ctcfimr <- plotSignal(data = IMR90ChIPCTCFsignal, params = c(paramsd, ctcfrange), fill = "#253494", linecolor = "#253494", y = 1.95, height = 0.6, just = c("right", "top"))
Plot H3K27ac signal
hkimr <- plotSignal(data = IMR90ChIPH3K27acsignal, params = c(paramsd, hkrange), fill = "#37a7db", linecolor = "#37a7db", y = 3.25, height = 0.6, just = c("right", "bottom"))
Plot gene track
genesimr <- plotGenes(params = paramsd, stroke = 1, fontsize = 6, strandLabels = FALSE, y = 3.35, height = 0.4, just = c("right", "top"))
Annotate genome label
annoGenomeLabel(plot = genesimr, params = paramsd, scale = "Kb", fontsize = 7, digits = 0, y = 3.85, just = c("right", "top"))
Hide page guides
pageGuideHide() ```
A word of caution
plotgardener is incredibly flexible and functional. However, due to this
flexibility and like all programming packages, it may not always prevent
users from making unintentional mistakes. If plot sizes are entered
incorrectly or data is mishandled, it is possible to connect multi-omic
data incorrectly. Make sure you utilize package features that reduce
human error and increase re-usability of code to get the most mileage out
of plotgardener.
Owner
- Name: The Phanstiel Lab
- Login: PhanstielLab
- Kind: organization
- Website: http://phanstiel-lab.med.unc.edu/
- Repositories: 15
- Profile: https://github.com/PhanstielLab
Code repo for the Phanstiel Lab at UNC
GitHub Events
Total
- Issues event: 6
- Watch event: 25
- Issue comment event: 4
- Push event: 11
- Pull request event: 5
- Create event: 1
Last Year
- Issues event: 6
- Watch event: 25
- Issue comment event: 4
- Push event: 11
- Pull request event: 5
- Create event: 1
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Nicole Kramer | n****r@l****u | 1,558 |
| Eric Davis | e****s@o****m | 59 |
| Craig Wenger | c****r@g****m | 40 |
| Nicole Kramer | 4****r | 35 |
| Sarah | s****0@g****m | 20 |
| dphansti | d****l@m****u | 20 |
| Teresa Mcgee | m****t@a****u | 10 |
| Doug Phanstiel | d****i@d****n | 8 |
| Nitesh Turaga | n****a@g****m | 4 |
| mikelove | m****e@g****m | 4 |
| Douglas Phanstiel | d****i@w****u | 2 |
| J Wokaty | j****y | 2 |
| J Wokaty | j****y@s****u | 2 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 78
- Total pull requests: 29
- Average time to close issues: about 1 month
- Average time to close pull requests: 10 days
- Total issue authors: 57
- Total pull request authors: 6
- Average comments per issue: 2.23
- Average comments per pull request: 0.24
- Merged pull requests: 21
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 4
- Pull requests: 5
- Average time to close issues: N/A
- Average time to close pull requests: 2 days
- Issue authors: 4
- Pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 0.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- EricSDavis (6)
- Rseq (5)
- ksmetz (3)
- seyoun209 (2)
- nekramer (2)
- Zepeng-Mu (2)
- jaclyn-marie (2)
- Knetsy (2)
- Kim-KL (2)
- benayang (1)
- Elliott77 (1)
- maxim-h (1)
- joreynajr (1)
- a-g-robertson (1)
- pieterjanvc (1)
Pull Request Authors
- nekramer (30)
- EricSDavis (5)
- aberhanu (2)
- sarmapar (2)
- mikelove (2)
- rishabhsvemuri (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- bioconductor 17,409 total
- Total dependent packages: 4
- Total dependent repositories: 0
- Total versions: 10
- Total maintainers: 2
bioconductor.org: plotgardener
Coordinate-Based Genomic Visualization Package for R
- Homepage: https://phanstiellab.github.io/plotgardener https://github.com/PhanstielLab/plotgardener
- Documentation: https://bioconductor.org/packages/release/bioc/vignettes/plotgardener/inst/doc/plotgardener.pdf
- License: MIT + file LICENSE
-
Latest release: 1.14.0
published about 1 year ago
Rankings
Maintainers (2)
Dependencies
- R >= 4.1.0 depends
- IRanges * imports
- RColorBrewer * imports
- Rcpp * imports
- curl * imports
- data.table * imports
- dplyr * imports
- ggplotify * imports
- grDevices * imports
- grid * imports
- methods * imports
- plyranges * imports
- purrr * imports
- rlang * imports
- stats * imports
- strawr * imports
- tools * imports
- utils * imports
- AnnotationDbi * suggests
- AnnotationHub * suggests
- BSgenome * suggests
- BSgenome.Hsapiens.UCSC.hg19 * suggests
- ComplexHeatmap * suggests
- GenomeInfoDb * suggests
- GenomicFeatures * suggests
- GenomicRanges * suggests
- InteractionSet * suggests
- TxDb.Hsapiens.UCSC.hg19.knownGene * suggests
- ggplot2 * suggests
- knitr * suggests
- org.Hs.eg.db * suggests
- plotgardenerData * suggests
- png * suggests
- rmarkdown * suggests
- rtracklayer * suggests
- scales * suggests
- showtext * suggests
- testthat >= 3.0.0 suggests
- actions/cache v2 composite
- actions/checkout v2 composite
- actions/upload-artifact master composite
- docker/build-push-action v1 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- actions/cache v2 composite
- actions/checkout v2 composite
- actions/upload-artifact master composite
- docker/build-push-action v1 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
