Releases: higlass/higlass-python
v1.3.3
What's Changed
- Add
hg.chromsizes
helper @pkerpedjiev in #187
import higlass as hg
ts = hg.chromsizes('chromSizes_hg19_reordered.tsv')
hg.view(
(ts.track('horizontal-chromosome-labels'), 'top'),
(ts.track('horizontal-chromosome-labels'), 'left'),
)
Full Changelog: v1.3.2...v1.3.3
v1.3.2
What's Changed
- fix: Resolve jupyter server tile sources in combined tracks by @pkerpedjiev in #186
Full Changelog: v1.3.1...v1.3.2
v1.3.1
v1.3.0
This release deliberately contains backwards-incompatible changes. To avoid automatically picking up releases like this, you can pin the exact version of higlass-python
in your pyproject.toml
or requirements.txt
file .
HiGlass now uses Jupyter's built-in communication system to serve tilesets, removing the need for hg.server
. Previously, hg.server
ran a background HTTP server, but it caused issues on remote machines (e.g., authentication, port configuration).
This update removes hg.server
and replaces it with a Jupyter comms-based approach, leveraging existing WebSocket connections. This makes HiGlass more robust across different environments and simplifies setup.
If HiGlass already works for you, nothing should change! If you previously used hg.server.enable_proxy
, you can simple remove that line in your code:
-- hg.server.enable_proxy()
This is a new feature, so please report any issues!
With the removal of hg.server
, HiGlass now provides a simpler way to define custom tilesets.
Instead of hg.server.add(tileset)
, you can now subclass hg.Tileset
:
from dataclasses import dataclass
import higlass as hg
from clodius.tiles import cooler
@dataclass
class MyCustomCoolerTileset(hg.Tileset):
path: str
datatype = "matrix"
def tiles(self, tile_ids):
return cooler.tiles(self.path, tile_ids)
def info(self):
return cooler.tileset_info(self.path)
tileset = MyCustomCoolerTileset("test.mcool")
hg.view(tileset.track())
hg.Tileset
automatically registers the tileset via Jupyter comms and provides a .track()
method to create a HiGlass track with the correct tileset information.
higlass.fuse
was an incomplete and poorly documented feature that added complexity without clear benefits. Filehandle-like interfaces now provide a more reliable alternative. If you relied on this feature, please open an issue!
Full Changelog: v1.2.1...v1.3.0
v1.2.1
What's Changed
- Allow file pointers in tileset loaders by @pkerpedjiev in #161
- Suppress right-click event propagation by @manzt in #160
- Properly deep-copy pydantic models with
model_copy(deep=True)
by @pkerpedjiev in #163
Full Changelog: v1.2.0...v1.2.1
v1.2.0
What's Changed
- Breaking: Migrate to higlass-schema v0.2.0 (pydantic v2) by @manzt in #155
- Shorter automatic uids for Tracks and Views by @manzt in #157
- Upgrade HiGlass front-end to v1.13 by @manzt in #158
Full Changelog: v1.1.2...v1.2.0
This release does not introduce changes to the higlass-python
API itself. However, it migrates the core data objects created and modified by the higlass-python
API from Pydantic v1 to Pydantic v2. We are marking this as a breaking release, as some methods and attributes on these objects are now deprecated.
Libraries relying on higlass-schema
(Pydantic models for Python) may encounter breaking changes if they use methods that have changed between Pydantic v1 and v2. We expect this update to improve compatibility and make it easier to use higlass-python
in environments that depend on Pydantic v2 (which are increasing).
v1.1.2
v1.1.1
v1.1.0
v1.0.3
Full Changelog: v1.0.2...v1.0.3