gggenomes is a versatile graphics package for comparative genomics. It extends the popular R visualization packageggplot2 by adding dedicated plot functions for genes, syntenic regions, etc. and verbs to manipulate the plot to, for example, quickly zoom in into gene neighborhoods.
Visualization is a corner stone of both exploratory analysis and science communication. Bioinformatics workflows, unfortunately, tend to generate a plethora of data products often in adventurous formats making it quite difficult to integrate and co-visualize the results. Instead of trying to cater to the all these different formats explicitly, gggenomes embraces the simple tidyverse-inspired credo:
As a result gggenomes helps bridge the gap between data generation, visual exploration, interpretation and communication, thereby accelerating biological research.
Under the hood gggenomes uses a light-weight track system to accommodate a mix of related data sets, essentially implementing ggplot2 with multiple tidy tables instead of just one. The data in the different tables are tied together through a global genome layout that is automatically computed from the input and defines the positions of genomic sequences (chromosome/contigs) and their associated features in the plot.
gggenomes stands on the shoulder of giants. It was born out of admiration of David Wilkins’ gggenes package, draws from other ggplot2 extensions such as Guangchuang Yu’s ggtree, and is fundamentally inspired by Thomas Lin Pedersen’s incredibly rich ggraph package.
gggenomes is at this point still in an alpha release state, and therefoe only available as developmental package.
# install ggtree # https://bioconductor.org/packages/release/bioc/html/ggtree.html if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager") BiocManager::install("ggtree") # install.packages("devtools") devtools::install_github("thackl/thacklr") devtools::install_github("thackl/gggenomes")