A visualization grammar and a GPU-accelerated rendering engine for genomic (and other) data.
Use GenomeSpy to make your own visualizations!
GenomeSpy builds upon the concepts originally introduced in
The Grammar Of Graphics and later
implemented in ggplot2 and Vega-Lite.
The building blocks that GenomeSpy provides allow users to build tailored, interactive genomic
The carefully crafted GPU-accelerated rendering engine guarantees smoothly animated interactions
and a pleasant user experience for end users. Scroll down for live examples.
The Building Blocks
The application is still under construction, and a stable version is yet to be released.
Nevertheless, feel free to try GenomeSpy out with your own data using the Playground app or an
Please let me know if you use GenomeSpy for something serious and follow me on Twitter for updates:
A. Lahtinen et al., “Evolutionary states and trajectories characterized by distinct pathways
patients with ovarian high grade serous carcinoma,” Cancer Cell, May 2023, doi:
W. Senkowski et al., “A platform for efficient establishment and drug-response profiling of
serous ovarian cancer organoids,” Dev Cell, May 2023, doi: 10.1016/j.devcel.2023.04.012.
Abstract example: Using rect and text marks to specify a labeled bar chart.
Abstract example: Using rect and text marks to make a labeled heatmap.
The labels are automatically scaled to fit the cells. Try to zoom in and out!
A scatter plot with one and a half million points decorated with some
annotations visualizes a miserably failed t-SNE attempt.
A Manhattan plot for Genome-Wide Association Study (GWAS).
Multiple sequence alignment. Loads data from a fasta file and
displays it as a scrollable heatmap and a sequence logo.
A structural variation visualization that uses the link mark to show
pretty arcs connecting the breakpoints. There's also some segmented copy-number data.
GC content of the human genome: One dataset, two visual representations. The data
are loaded lazily from a BigWig file and the scale domains are autoscaled
to accommodate the region.
Using lazy data loading, data transformations, and multiple layers
to visualize the GENCODE gene annotation stored in a hierarchical
An Observable notebook describing how to replicate ASCAT's copy-number segmentation
visualization. The visualization is interactive and thoroughly commented.
Exploring a sample collection with the GenomeSpy App. The visualization shows
several cell-line samples with segmented copy numbers, loss of heterozygosity, and SNPs and INDELs.
GenomeSpy in action: Lahtinen, A., Lavikka, K., et al. (2023) Evolutionary states
and trajectories characterized by distinct pathways stratify patients
with ovarian high grade serous carcinoma.
SegmentModel Spy. Visualize GATK's copy-number segment models together
with read and allelic counts. An example of using GenomeSpy as a visualization
library in a special-purpose web application.