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

genomics gene bioconductor-package ontology sequencing bioconductor redundancy tibble tidy tidy-data
Last synced: 10 months ago · JSON representation

Repository

Basic Info
Statistics
  • Stars: 330
  • Watchers: 7
  • Forks: 28
  • Open Issues: 21
  • Releases: 0
Created almost 7 years ago · Last pushed about 1 year ago
Metadata Files
Readme License

README.md

GitHub R package version R build status <!-- badges: end -->

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

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

All Time
  • Total Commits: 1,764
  • Total Committers: 13
  • Avg Commits per committer: 135.692
  • Development Distribution Score (DDS): 0.117
Past Year
  • Commits: 51
  • Committers: 5
  • Avg Commits per committer: 10.2
  • Development Distribution Score (DDS): 0.255
Top Committers
Name Email 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
enhancement (15) bug (9) genome-wide🧬 (1) documentation (1)
Pull Request Labels
enhancement (1) in progress (1)

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

  • Versions: 10
  • Dependent Packages: 4
  • Dependent Repositories: 0
  • Downloads: 17,409 Total
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 23.1%
Downloads: 69.3%
Last synced: 11 months ago

Dependencies

DESCRIPTION cran
  • 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
.github/workflows/check-bioc-devel.yml actions
  • 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
.github/workflows/check-bioc.yml actions
  • 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