Sign in

Kari Lavikka

@karilavikka.fi
66 followers 143 following 33 posts

Researcher working on bioinformatics, WebGL-powered cancer genome visualization, and tumor evolution.

PostsRepliesMedia
Kari Lavikka @karilavikka.fi · 01/10/2026
The grammar itself uses JSON, but there is now also a Python package, which makes GenomeSpy much easier to use in Python notebooks and workflows. GenomeSpy: genomespy.app GitHub: github.com/genome-spy/
genomespy.app
GenomeSpy — Interactive Genomic Visualization for Web and Notebooks
A visualization grammar and GPU-accelerated rendering engine for genomic (and other) data
010
Kari Lavikka @karilavikka.fi · 01/10/2026
GenomeSpy is an open-source toolkit for building interactive genome visualizations using a declarative grammar. A bit like ggplot2, but primarily for genome-aligned data with smooth interactivity. It also includes an application for exploring multi-sample genomic datasets, such as cancer cohorts.
100
Kari Lavikka @karilavikka.fi · 01/10/2026
I made a bold move: I bumped the GenomeSpy version from v0.90.0 to … v1.0.0! 🎉 I also wrote a blog post about it, reflecting a bit on the development journey: genomespy.app/blog/posts/2...
110
Kari Lavikka @karilavikka.fi · 26/08/2026
GenomeSpy used to be WebGL-first (or basically WebGL-only). Recent versions can also generate vector-graphics-editor-friendly SVGs, with automatic rasterization of dense layers. The R package uses this for SVG export. It's called MutGlyph: genomespy.app/MutGlyph/
genomespy.app
MutGlyph: Interactive Cancer Genomics Plots in R
Create interactive, zoomable oncoplots, rainfall plots, protein lollipop plots, and GISTIC copy-number landscapes in R with GenomeSpy.
000
Kari Lavikka @karilavikka.fi · 26/08/2026
This was also a good opportunity to demonstrate how GenomeSpy (genomespy.app) can be embedded in an R package. The package generates visualization specifications and lets GenomeSpy do the rendering. And finally, I like my plots prettier.
genomespy.app
GenomeSpy
A visualization grammar and GPU-accelerated rendering engine for genomic (and other) data
101
Kari Lavikka @karilavikka.fi · 26/08/2026
But why? There are a few reasons. Those huge oncoplot/oncoprint matrices look impressive, like Circos plots do, but they become barely readable once you throw enough data at them. Maybe interactivity helps. (PDFs are still static, though 🤔.)
100
Kari Lavikka @karilavikka.fi · 26/08/2026
I made an R package that creates oncoplots, lollipop plots, rainfall plots, and GISTIC plots with basic interactivity such as tooltips and zooming. It's almost a drop-in replacement for the corresponding maftools' plotting functions.
141
Kari Lavikka @karilavikka.fi · 04/08/2026
Let me know what you think and whether the visualization provides any new insights into purity/ploidy estimation!
000
Kari Lavikka @karilavikka.fi · 04/08/2026
The visualization also projects the inferred integer copy numbers back into LogR and BAF space, making it easier to see how well a selected solution explains the observed data. The visualization is here: genomespy.app/docs/example...
100
Kari Lavikka @karilavikka.fi · 04/08/2026
I implemented an interactive GenomeSpy visualization for this purpose. You can play with different samples from the simulated ASCAT example data and see how the choice of purity, ploidy, and other settings affects the estimated allele-specific copy numbers.
110
Kari Lavikka @karilavikka.fi · 04/08/2026
When doing copy-number analysis, have you ever struggled to interpret ASCAT sunrise plots and similar purity/p​​loidy grids? Have you wanted to compare how different solutions affect the allele-specific copy-number fit and better understand the fitting procedure?
120
Kari Lavikka @karilavikka.fi · 28/07/2026
These and many other examples are available in the documentation for you to play with: genomespy.app/docs/genomic... (3/3)
genomespy.app
Genomic Data Examples - GenomeSpy Docs
010
Kari Lavikka @karilavikka.fi · 28/07/2026
A reference sequence translated into amino acids in all three reading frames on both strands, and a simple read-alignment viewer for BAM files. They also use some new data transformations I added to the visualization grammar. (2/3)
110
Kari Lavikka @karilavikka.fi · 28/07/2026
I recently added a parameterizable arrow mark to GenomeSpy, my open-source toolkit for interactive genomic data visualization, and implemented a couple of fancy examples to showcase it. (1/3)
251
Reposted by Kari Lavikka
Helena Klara Jambor @helenajambor.bsky.social · 21/01/2026
see you in 1 hour! #BioVis #DataVis meetup
001
Kari Lavikka @karilavikka.fi · 06/08/2025
Congrats for the great work!
110
Kari Lavikka @karilavikka.fi · 23/06/2025
Parquet and Arrow are great columnar formats, but the abysmal performance of TextDecoder on Chrome (or maybe V8) completely kills any speed benefits when files contain lots of short, unique strings. Even #JavaScript CSV parsers are faster. It’s fine if you don’t need to access the string columns 🤷
010
Reposted by Kari Lavikka
Alex Russell @infrequently.org · 20/06/2025
Checks out: www.jonoalderson.com/conjecture/j...
jonoalderson.com
JavaScript broke the web (and called it progress)
We replaced simple websites with complex apps nobody asked for. Now it takes a complex build pipeline just to change a headline.
1711632
Kari Lavikka @karilavikka.fi · 17/06/2025
Selections can also drive filtering and aggregation, though the code is still entirely CPU-based for now. I’d like to explore columnar and GPU-based approaches in the future. (2/2)
020
Kari Lavikka @karilavikka.fi · 17/06/2025
It’s been a bit quiet on the GenomeSpy front, but I finally had time to implement interval selections and other fancy features. Vega-Lite–style conditional encodings are compiled into shader code, with selection tests running on the GPU—making interactions snappy. (1/2)
140
Kari Lavikka @karilavikka.fi · 30/04/2025
I've typically used R (with tidyverse) for analyses, but recently I've been familiarizing myself with Python. Pandas feels quite awkward to me, at least compared to dplyr. But @pola.rs is great! It works wonderfully with Parquet files too. ❤️
010
Kari Lavikka @karilavikka.fi · 03/03/2025
Thanks for your kind words! lesson learned! 😅 I'm glad you found my work interesting!
010
Kari Lavikka @karilavikka.fi · 03/03/2025
However, I didn’t realize that "Jellyfish," the tool that generates these plots, is not. This is embarrassing.
110
Kari Lavikka @karilavikka.fi · 03/03/2025
Dang. My bad. 😬 I'm the first author of this paper and should have ensured the tool's name was unique. The article is about "Jellyfish plots," which depict tumor evolution. We named them that because they resemble jellyfish with their bells and tentacles—and "jellyfish plot" was unique.
110
Kari Lavikka @karilavikka.fi · 26/02/2025
Finally, I'm grateful to all the collaborators and supervisors on this and the previous tumor evolution papers and the whole tumor evolution team! (7/7)
010
Kari Lavikka @karilavikka.fi · 26/02/2025
Jellyfish and Jellyfisher are available on GitHub: github.com/HautaniemiLa..., github.com/HautaniemiLa... (docs: hautaniemilab.github.io/jellyfisher/) #OpenSource #RStats #Bioinformatics (6/7)
github.com
GitHub - HautaniemiLab/jellyfish: Jellyfish Plotter for tumor evolution visualization
Jellyfish Plotter for tumor evolution visualization - HautaniemiLab/jellyfish
141
Kari Lavikka @karilavikka.fi · 26/02/2025
Jellyfish won the Best Abstract Award at @BioVis at ISMB/ECCB 2023! 🏆 x.com/biovis_net/s.... It took a while to wrap up this project, but I'm happy it's now published—this paper will also be the third and final publication in my PhD dissertation! (5/7)
x.com
BioVis on X: "Big congrats to @KariLavikka, Ilari Maarala, @jaanaoikkonen, Yilin Li, Alexandra Lahtinen, @Sampsa_H on their best abstract award at #BioVis at #ISMBECCB2023 for "Visualizing temporal and multi-regional evolution of tumor subclones with Jellyfish plots". https://t.co/e0laGVreOt" / X
Big congrats to @KariLavikka, Ilari Maarala, @jaanaoikkonen, Yilin Li, Alexandra Lahtinen, @Sampsa_H on their best abstract award at #BioVis at #ISMBECCB2023 for "Visualizing temporal and multi-regional evolution of tumor subclones with Jellyfish plots". https://t.co/e0laGVreOt
120
Kari Lavikka @karilavikka.fi · 26/02/2025
Jellyfish automates the drawing process and generates visually pleasing plots with ease. Based on the data used in the tumor evolution paper, we've now made auto-generated, interactive Jellyfish plots available at hautaniemilab.github.io/jellyfish/ (4/7)
100
Kari Lavikka @karilavikka.fi · 26/02/2025
The Jellyfish visualization design was initially published in our paper on tumor evolution in ovarian high-grade serous carcinoma (Lahtinen, Lavikka, Virtanen, et al., 2023, www.sciencedirect.com/science/arti...). However, in that paper, all Jellyfish plots were drawn manually. (3/7)
sciencedirect.com
Evolutionary states and trajectories characterized by distinct pathways stratify patients with ovarian high grade serous carcinoma
Ovarian high-grade serous carcinoma (HGSC) is typically diagnosed at an advanced stage, with multiple genetically heterogeneous clones existing in the…
100
Kari Lavikka @karilavikka.fi · 26/02/2025
Metastases in solid tumors consist of heterogeneous subclonal mixtures that evolve across space and time. Jellyfish integrates tumor phylogeny and subclonal compositions of spatiotemporal samples into a unified plot, making subclonal dynamics easier to interpret. #CancerResearch (2/7)
100
Kari Lavikka @karilavikka.fi · 26/02/2025
Jellyfish visualization tool and the Jellyfisher R package have now been published in OUP Bioinformatics! 🎉 doi.org/10.1093/bioi... #Bioinformatics #DataViz (1/7)
doi.org
Jellyfish: integrative visualization of spatio-temporal tumor evolution and clonal dynamics
AbstractSummary. Spatial and temporal intra-tumor heterogeneity drives tumor evolution and therapy resistance. Existing visualization tools often fail to c
131
Kari Lavikka @karilavikka.fi · 07/02/2025
Thrilled to announce that my R package 'jellyfisher' is now available on CRAN! It's my first package submission to CRAN, and a related paper will (hopefully) be published soon. Check it out: cran.r-project.org/web/packages....
cran.r-project.org
jellyfisher: Visualize Spatiotemporal Tumor Evolution with Jellyfish Plots
Generates interactive Jellyfish plots to visualize spatiotemporal tumor evolution by integrating sample and phylogenetic trees into a unified plot. This approach provides an intuitive way to analyze t...
010
Kari Lavikka @karilavikka.fi · 11/12/2024
Congrats!
010
Kari Lavikka @karilavikka.fi · 07/12/2024
It's not weird. It's relaxing. I've been doing the same.
010
Reposted by Kari Lavikka
Helena Klara Jambor @helenajambor.bsky.social · 22/08/2024
🚨 next #BioVis #Dataviz virtual meetup: Will Stahl-Timmins (The #BMJ) is joining us on Sept 18! "A picture of health: Visualisations in medical publishing" Details & Link: biovis.net/2024/meetup/
Announcement online meetup: A picture of health: Visualisations in medical publishing. Showing logo of BioVis community, a stylized bar chart, and a picture of the speaker.
053
Kari Lavikka @karilavikka.fi · 06/08/2024
My first first-author paper is now published: doi.org/10.1093/giga.... GenomeSpy is a grammar-based visualization toolkit for genomic data, powered by efficient WebGL rendering. Check the paper for examples on how we use it to explore a large ovarian high-grade serous carcinoma dataset.
academic.oup.com
Deciphering cancer genomes with GenomeSpy: a grammar-based visualization toolkit
AbstractBackground. Visualization is an indispensable facet of genomic data analysis. Despite the abundance of specialized visualization tools, there remai
0131