# Bioconductor Biovizbase

> The biovizBase package is designed to provide a set of utilities, color schemes and conventions for genomic data. It serves as the base for various high-level packages for biological data visualization. This saves development effort and enc

- Skill: `biomate-ai/bioconductor-biovizbase` (Agent Skill)
- Install (CLI): `npx skillmds@latest add biomate-ai/bioconductor-biovizbase`
- Raw SKILL.md: https://api.skillmd.com/api/skills/biomate-ai/bioconductor-biovizbase/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: biomate-ai (https://skillmd.com/u/biomate-ai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/biomate-ai/bioconductor-biovizbase

---


# biovizBase

## Dependencies & Environment

> Package-intrinsic requirements from the Bioconductor landing page — reproduce in any R environment.

- **Version:** 1.60.0 · **Bioconductor:** 3.23 · **R:** ≥ 4.6
- **Imports:** scales, Hmisc, RColorBrewer, dichromat, BiocGenerics, S4Vectors, IRanges, Seqinfo, GenomeInfoDb, GenomicRanges, SummarizedExperiment, Biostrings, Rsamtools, GenomicAlignments, GenomicFeatures, AnnotationDbi, VariantAnnotation, ensembldb, AnnotationFilter, rlang
- **System requirements:** URL
- **Install:** `BiocManager::install("biovizBase")`

## When to Use
- Generating colorblind-safe palettes for biological data visualization using `colorBlindSafePal()`.
- Retrieving standardized, biologically sensible color schemes for cytobands, strands, or nucleotides using `getBioColor()`.
- Manipulating `GRanges` objects for plotting by adding disjoint stepping levels (`addStepping()`) or shrinking gaps (`shrinkageFun()`).
- Fetching chromosome ideograms from the UCSC genome browser using `getIdeogram()`.

## When NOT to Use
- For high-level, out-of-the-box static genomic plotting, use `ggbio` because `biovizBase` only provides the low-level utilities and color schemes.
- For interactive genomic graphics, use `visnab` because `biovizBase` is designed as a foundational infrastructure package rather than an interactive plotting tool.

## Data Requirements
- **Input Format**: `GRanges` objects (from the `GenomicRanges` package) for genomic manipulations, or character vectors of biological categories (e.g., "A", "C", "T", "G", "N") for color mapping.
- **Structure**: Genomic coordinates must be properly formatted in `GRanges` to use utilities like `addStepping()`, `maxGap()`, or `gaps()`.

## Key Parameters
- **repeatable** (TRUE): Controls whether to repeat colors if the required number exceeds the maximum colors allowed in `colorBlindSafePal()`.
- **source** ("default"): Specifies whether to retrieve colors from the default fixed settings or from the user's options in `getBioColor()`.
- **extend.size** (5): The size to extend ranges when adding stepping levels in `addStepping()`.
- **max.gap** (0): The maximum gap size allowed when shrinking gaps using `shrinkageFun()`.
- **cytoband** (TRUE): Logical indicating whether to include cytoband information when fetching an ideogram with `getIdeogram()`.

## Best Practices
- Use `getBioColor()` instead of accessing options directly to hide internal complexity and ensure uniform color schemes across all graphics.
- Check custom color palettes for colorblind safety using `dichromat()` to ensure accessibility for deuteranopia and protanopia.
- Use `plotColorLegend()` or `showColor()` to visually verify your selected color schemes before applying them to complex genomic plots.

## Common Pitfalls
- **Running out of colors in a palette**: Requesting more colors than a specific colorblind-safe palette supports returns `NA` or errors. Fix: Set `repeatable = TRUE` when calling the function returned by `colorBlindSafePal()`.
- **Inconsistent color themes across plots**: Hardcoding colors leads to mismatched figures. Fix: Temporarily edit colors in the global options (`options(biovizBase = opts)`) so `getBioColor()` returns uniform colors globally.

## Alternatives
- `ggbio`: Built on top of `biovizBase`, use this for actual static genomic plotting rather than just base utilities.
- `visnab`: Built on top of `biovizBase`, use this for interactive genomic graphics.
- `RColorBrewer`: Provides general color palettes, but lacks the built-in biological category mappings (like nucleotides or cytobands) provided by `biovizBase`.
- `dichromat`: Used for colorblindness simulation, but does not provide genomic-specific color generators out of the box.

## Citations
- Tengfei Yin, Michael Lawrence, Dianne Cook (2026). "An Introduction to biovizBase".

## References
- Homepage: https://bioconductor.org/packages/biovizBase
- Vignette: https://bioconductor.org/packages/release/bioc/vignettes/biovizBase/inst/doc/biovizBase.pdf

<!-- biomate-cta -->
---

## Run this on BioMate

This skill is the **knowledge layer** — when, why, and how to use `biovizbase`. To **run this analysis on your own data** with managed compute, automated QC, and reproducible outputs, use **[BioMate](https://www.biomate.ai?ref=kb&pkg=biovizbase)** — free to start.

▶ **[Open `biovizbase` on BioMate →](https://www.biomate.ai?ref=kb&pkg=biovizbase)**

