Skip to content

Releases: genome-spy/genome-spy-python

v0.6.0

Choose a tag to compare

@okunator okunator released this 01 Oct 13:17
f34bd8c

GenomeSpy for Python 0.6.0

This release upgrades the bundled GenomeSpy runtime to 1.0.0 and improves typed authoring, sequence editing, and examples.

Highlights

  • Updated Core, controls, and Inspector to GenomeSpy 1.0.0.
  • Added animationHalfLife to transform_displace2d(), accepting a number or gs.expr(...) to control label animation speed.
  • Added the prepared airway_review dataset for gene-review examples.
  • Extended the sequence-editing notebook to support multi-base edits across the displayed locus.

Improvements and fixes

  • Exposed selection predicate classes and typed endpoint projection setters, avoiding raw dictionaries in composed conditions.
  • Restricted sequence-logo and alignment-logo zoom to the position axis and shared one bottom alignment axis.
  • Fixed the ASCAT fitting example title.
  • Improved interaction documentation, PISA explanations, gallery expressions, and README animations.

Full changelog: [v0.5.0…v0.6.0](v0.5.0...v0.6.0)

v0.5.0

Choose a tag to compare

@okunator okunator released this 25 Sep 13:25

genome-spy-python 0.5.0

This release upgrades GenomeSpy to 0.89.0 and expands selection authoring and the example gallery.

  • Compose gs.when() conditions with and, or, and not, endpoint projections, and named predicates.
  • Explore new PISA squid and interaction-matrix examples with brushing, conditional highlighting, and zoom-dependent labels.
  • Browse 54 examples organized into 13 focused categories.
  • Access generated support for 2D displacement, bidirectional arrows, debounced parameters and transforms, and tickStep expressions.
  • Preserve compatibility with explicitly wrapped ExprParameter declarations.

Compatibility notes: Interval brushes now use half-open boundaries. View-level scales require explicit axis settings when no positional encoding supplies an axis.

v0.4.0

Choose a tag to compare

@okunator okunator released this 18 Sep 09:05

0.4.0 — Interactive workflows and live chart selections

This release connects chart interactions to Python and adds interactive examples you can try directly in the documentation.

  • Experimental embed API: listen for selections, read selected records, update parameters, and send annotations or edited data back to charts.
  • Four interactive workflows: annotate genomic intervals with BED export, brush or individually select genes with CSV export, and edit nucleotides against a reference with FASTA export. Each includes a runnable notebook and Python code.
  • Expanded gallery: ONT direct-RNA coverage and reads, adaptive DynSeq tracks, BAM pileups, heatmaps, t-SNE, and more.
  • Zoomable gene-selection plots with points that grow when zoomed in.
  • Bundled JavaScript: use inline=True to avoid CDN dependencies when displaying charts or saving HTML. Remote data and other external assets still require network access.
  • GenomeSpy 0.88.1, including conditional draw ordering and reactive zoom expressions, plus fixes for order encodings, licensing notices, and documentation builds.

The embed API remains experimental. Web demos run without a Python kernel; Python callbacks require a connected Python host.

0.3.0

Choose a tag to compare

@okunator okunator released this 09 Sep 13:31

Changed

  • Replace the P53 example dataset with 34 protein sequences aligned with MAFFT L-INS-i.
  • Update the P53 gallery with alignment-based conservation, gap-free fractions, and sequence logos.
  • Build the brush notebook progressively and add an effect-size zero baseline in the notebook and gallery.

Dataset migration

The p53_sequence_comparison dataset now contains FASTA text instead of the previous JSON table mapping. Load it with load_dataset("p53_sequence_comparison", as_format="text"). Code expecting the old prepared tables must be updated.

GenomeSpy Core remains at 0.87.0.

Full changelog: https://github.com/genome-spy/genome-spy-python/blob/v0.3.0/CHANGELOG.md

genome-spy-python 0.2.0

Choose a tag to compare

@okunator okunator released this 09 Sep 09:47

Added

  • Python lists and tuples in gs.expr() for array expressions containing values, parameters, and calculations.
  • A brush-linked notebook example with an Open in Colab link.

Changed

  • Require AnyWidget 0.11.0 or newer to match the widget lifecycle API used for rendering.
  • Simplified contributing and notebook setup documentation.

Fixed

  • PIK3CA lollipop connectors now reach the protein track.
  • Packaged datasets can be imported on Python 3.14.

GenomeSpy Core remains at 0.87.0.

genome-spy-python 0.1.0

Choose a tag to compare

@okunator okunator released this 09 Sep 06:45

0.1.0 - 2026-09-09

First public alpha release, targeting GenomeSpy Core 0.87.0.

Added

  • Declarative, schema-backed Python API for authoring GenomeSpy specifications.
  • Altair-style marks, encodings, transforms, parameters, conditions, and chart
    composition.
  • Genomics-native locus channels, genome assemblies, genomic data sources, and
    coordinated multi-view interactions.
  • Specification validation and serialization to dictionaries, JSON, and
    standalone HTML.
  • Interactive notebook rendering in Jupyter, VS Code, and Marimo through
    anywidget.
  • Arrow transport and live named-dataset updates for pandas, Polars, and
    PyArrow tables.
  • Per-render GenomeSpy controls and embed options, including image export and
    full-window display controls.
  • Packaged example datasets, documentation, tutorials, and an interactive
    visualization gallery.