No retraction, correction or concern found when last checked on Oct 16, 2026.
karyoploteR: an R/Bioconductor package to plot customizable genomes displaying arbitrary data
Bernat Gel, Eduard Serra
Bioinformatics · 2017 · CC BY
Abstract
Motivation. Data visualization is a crucial tool for data exploration, analysis and interpretation. For the visualization of genomic data there lacks a tool to create customizable non-circular plots of whole genomes from any species.
Results. We have developed karyoploteR, an R/Bioconductor package to create linear chromosomal representations of any genome with genomic annotations and experimental data plotted along them. Plot creation process is inspired in R base graphics, with a main function creating karyoplots with no data and multiple additional functions, including custom functions written by the end-user, adding data and other graphical elements. This approach allows the creation of highly customizable plots from arbitrary data with complete freedom on data positioning and representation.
Availability and implementation. karyoploteR is released under Artistic-2.0 License. Source code and documentation are freely available through Bioconductor (http://www.bioconductor.org/packages/karyoploteR) and at the examples and tutorial page at https://bernatgel.github.io/karyoploter_tutorial.
Full text
From PubMed Central, U.S. National Library of Medicine, as current on Oct 16, 2026. Paragraph numbers are ours, so an answer can point at one.
1 Introduction
Data visualization is an important part of data analysis. It efficiently summarizes complex data, facilitates exploration and can reveal non-obvious patterns in the data. A natural representation for genomic data is positioned along the genome next to the ideograms of the different chromosomes. This type of representation is specially useful to identify the relation between different types of experimental data and genomic annotations. Various genomic visualization tools are available. Circos produces highly customizable high quality circular plots, as does ites R counterpart RCircos. There are other R packages capable of plotting whole genome diagrams such as: ggbio, based on the grammar of graphics that can produce different plot types including ideogram and karyogram plots; IdeoViz, to plot binned data along the genome either as lines or bars; or chromPlot, to plot up to four datasets given in a predefined format. These packages are either limited in the amount or type of data they can plot (IdeoViz and chromPlot) or have limited customization options (ggbio). In addition, the Bioconductor package Gviz is a powerful tool to create track-based plots of diverse biological data but it does not produce plots of the whole genome. There is a lack of a tool in R to create non-circular whole genome plots, able to plot arbitrary data in any organism and with ample customization capabilities.
Here we present karyoploteR, an extendable and customizable R/Bioconductor package to plot genome ideograms and genomic data positioned along them. It’s inspired on the R base graphics, building plots with multiple successive calls to simple plotting functions.
2 Features
The interface of karyoploteR and the process to create a complete plot is very similar to that of base R graphics. We first create a simple or even empty plot with an initializing function and then add additional graphic elements with successive calls to other plotting functions. The first call creates and initializes the graphical device and returns a karyoplot object with all the information needed to add data to it. The karyoplot object contains a coordinate change function mapping genomic coordinates into plotting coordinates, which is used by all plotting functions. Plotting functions are classified into three groups: the ones adding non-data elements to the plot and two data plotting groups, low-level functions and high-level functions. karyoploteR also takes some ideas from Circos, such as not defining fixed tracks but leaving complete freedom to the user with respect to data positioning using the r0 and r1 parameters. All non-data elements in the karyoplot (main title, chromosome names, …) are drawn by specific functions. These functions accept standard graphical parameters but it’s also possible to swap them for custom functions if a higher level of customization is needed.
2.1 Ideogram plotting
Ideogram plotting is the basic functionality of karyoploteR. Default ideograms can be plotted with a single function call (Fig. 1A). However, itwe possible to customize them: positioning the chromosomes in different arrangements, representing just a subset of chromosomes or change whether the cytobands are included and how they are represented. It is also possible to create different data plotting regions either above or below the ideograms as well as customizing all sizings and margins by changing the values stored in plot.params.
2.2 Not only human
karyoploteR is not restricted to human data in any way. It is possible to specify other organisms when creating a karyoplot. Genome data for a small set of organisms is included with the package and it will use functionality from regioneR to get it from UCSC or Bioconductor for other genomes. If an organism is not available anywhere, it is possible to plot it providing its genome information. Therefore, if required, it’s possible to create custom genomes for specific purposes.
2.3 Data plotting
Data plotting functions are divided in two groups: low-level and high-level. Low-level data plotting functions plot graphical primitives such as points, lines and polygons. Except for the additional chr parameter, they mimic the behaviour of their base graphics counterparts including the usage of most of the standard graphical parameters. These plotting functions offer a flexible signature and are completely data agnostic: they know nothing about biological concepts, giving the user total freedom on how to use them. High-level functions, in contrast, are used to create more complex data representations. They understand some basic concepts such as ‘genomic region’ and they usually perform some kind of computation prior to data plotting (Fig. 1B).
2.4 Customization and extensibility
In addition to customizing sizings and margins and the using custom genomes, karyoploteR can be extended with custom plotting functions. All internal functions, including the main coordinate change function, are exported and documented in the package vignette. With this it is possible to create custom plotting functions adapted to specific data types and formats.
3 Conclusion
We have developed an R/Bioconductor package, karyoploteR, to plot arbitrary genomes with data positioned on them. It offers a flexible API inspired in R base graphics, with low-level functions to plot graphical primitives and high-level functions to plot complex data. The plots are highly customizable in data positioning and appearance and it is possible to extend the package functionality with custom plotting functions. karyoploteR requires R ≥ 3.4 and Bioconductor ≥ 3.5. More information and examples can be found at the package Bioconductor page and at https://bernatgel.github.io/karyoploter_tutorial
References 7
- 1.
- 2.
Hahne F., Ivanek R. (2016 ) Visualizing genomic data using Gviz and bioconductor. Methods Mol. Biol., 1418, 335–351.
Not in our library10.1007/978-1-4939-3578-9_16
- 3.
Krzywinski M. et al (2009 ) Circos: an information aesthetic for comparative genomics. Genome Res., 19, 1639–1645.
Not in our library10.1101/gr.092759.109
- 4.
Oróstica K.Y., Verdugo R.A. (2016 ) ChromPlot: Visualization of genomic data in chromosomal context. Bioinformatics, 32, 2366–2368.
Not in our library10.1093/bioinformatics/btw137
- 5.
Pai S., Ren J. (2014 ) IdeoViz: Plots data (continuous/discrete) along chromosomal ideogram. R package version 1.8.0.
Not in our library
- 6.
- 7.
Cited by papers we hold 16
- European and African ancestry-specific plasma protein-QTL and metabolite-QTL analyses identify ancestry-specific T2D effector proteins and metabolites · 2025Not checked
- A disease-associated gene desert directs macrophage inflammation through ETS2 · 2024No notice
- NextDenovo: an efficient error correction and accurate assembly tool for noisy long reads · 2024No notice
- MYC drives aggressive prostate cancer by disrupting transcriptional pause release at androgen receptor targets · 2022No notice
- Single-cell genomic variation induced by mutational processes in cancer · 2022No notice
- The complete sequence of a human genome · 2022No notice
- Dynamics of genome architecture and chromatin function during human B cell differentiation and neoplastic transformation · 2021No notice
- eccDNAs are apoptotic products with high innate immunostimulatory activity · 2021No notice
- <i>Austropuccinia psidii</i>, causing myrtle rust, has a gigabase-sized genome shaped by transposable elements · 2020Not checked
- RIdeogram : drawing SVG graphics to visualize and map genome-wide data on the idiograms · 2020No notice
- A comparative genomics study of 23 Aspergillus species from section Flavi · 2020No notice
- Emergence of the Ug99 lineage of the wheat stem rust pathogen through somatic hybridisation · 2019No notice
- Systematic analysis of dark and camouflaged genes reveals disease-relevant genes hiding in plain sight · 2019No notice
- The genomic landscape of metastatic castration-resistant prostate cancers reveals multiple distinct genotypes with potential clinical impact · 2019No notice
- Three-Dimensional Genomic Structure and Cohesin Occupancy Correlate with Transcriptional Activity during Spermatogenesis · 2019No notice
- Increased intron retention is a post‐transcriptional signature associated with progressive aging and Alzheimer’s disease · 2019No notice
Reads
Read by people on this page
None yet.
Checked or read by AI through naulon
None yet.
A person counts once a day per paper. We keep no cookie and no address: a reader is a hash that changes every day. Any month under five reads shows no number.
Are you an author?
Is this your paper?
Claim it to add your note and be paid when agents cite it. Free.