Skip to content

GenomeSpy

Logo

GenomeSpy is a toolkit for creating interactive visualizations of genomic and other data. Its visualization grammar uses JSON specifications to describe what to display and how it should appear. You can combine charts and genome tracks into custom views, such as a genome browser. Software developers can write the JSON directly; bioinformaticians and data scientists may prefer GenomeSpy for Python, which builds the same specifications from Python chart definitions.

GenomeSpy Core renders these visualizations in a web browser. Its WebGL-based engine supports smooth interaction with datasets containing several million rows.

GenomeSpy App builds on Core for analyzing large sample collections, such as cancer cohorts. In a configured App, researchers can inspect genomic measurements alongside metadata and sort, filter, and group samples. If you are using an existing App, start with Analyzing Sample Collections.

Minimal genomic example

This illustrative copy-number view shows three segments on chromosome 3. The x and x2 encodings place each segment along the genomic axis, and color distinguishes loss, neutral, and gain.

{
  "description": "Illustrative copy-number states along chromosome 3",

  "assembly": "hg38",

  "data": {
    "values": [
      { "chrom": "chr3", "start": 500000, "end": 560000, "state": "loss" },
      { "chrom": "chr3", "start": 560000, "end": 830000, "state": "neutral" },
      { "chrom": "chr3", "start": 830000, "end": 900000, "state": "gain" }
    ]
  },

  "scales": {
    "x": {
      "domain": [
        { "chrom": "chr3", "pos": 450000 },
        { "chrom": "chr3", "pos": 950000 }
      ]
    }
  },

  "mark": "rect",

  "encoding": {
    "x": {
      "chrom": "chrom",
      "pos": "start",
      "type": "locus",
      "axis": { "title": "Position on chr3" }
    },
    "x2": { "chrom": "chrom", "pos": "end" },
    "color": {
      "field": "state",
      "type": "nominal",
      "scale": {
        "domain": ["loss", "neutral", "gain"],
        "range": ["#4e79a7", "#d8d8d8", "#e15759"]
      }
    }
  }
}

More genomic examples

The same grammar supports more specialized views. These examples show translated sequence context and splice-junction evidence.

See Genomic Data Examples for the full list.

About

GenomeSpy is developed by Kari Lavikka and contributors. It originated in 2018 as his Master's thesis project 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, the Cancer Foundation Finland, and Orion Research Foundation.