A visualization grammar and GPU-accelerated toolkit for genomic data
GenomeSpy is a visualization toolkit for genomic (and other) data. It has a Vega-Lite inspired visualization grammar and a high-performance, WebGL-powered graphics renderer.
The software is still work in progress. Documentation and examples for the current version can be found at https://genomespy.app/
GenomeSpy is split into several packages, two (core and app) of which are the most important:
The core library provides the visualization grammar and a WebGL-powered rendering engine.
The app builds upon the core, extending the visualization grammar with support for faceting multiple (up to thousands of) patient samples. It provides a user interface for interactive analysis of the samples, which can be filtered, sorted, and grouped flexibly. A session handling with provenance, url hashes, and bookmarks is included.
The embed-examples package contains examples of how to embed GenomeSpy in web applications and use the API for advanced use cases.
git clone [email protected]:genome-spy/genome-spy.git
cd genome-spy
npm install
(use npm7!)npm start
(starts a development server with the app package)The packages/core/examples
directory contains some random view specification that can be accessed through urls like http://localhost:8080/?spec=examples/first.json
.
The packages/core/private/
directory is in .gitignore
and served by the development server: http://localhost:8080/?spec=private/foo.json
. Use it for experiments that should not go into version control.
If you want to use or develop the core library, launch a single-page app using: npm -w @genome-spy/core run dev
Please see the CONTRIBUTING.md file for more information.
Copyright (c) 2019-2024 Kari Lavikka. See LICENSE for details.
GenomeSpy is developed in The Systems Biology of Drug Resistance in Cancer group at the University of Helsinki.
This project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No. 965193 (DECIDER) and No. 847912 (RESCUER), the Sigrid Jusélius Foundation and the Cancer Foundation Finland.
Contains some code copied and adapted from the following projects: