HiGlass is a web-based viewer for datasets too large to view at once. It features synchronized navigation of multiple views as well as continuous zooming and panning for navigation across genomic loci and resolutions. It supports visual comparison of genomic (e.g., Hi-C, ChIP-seq, or bed annotations) and other data (e.g., geographic maps, gigapixel images, or abstract 1D and 2D sequential data) from different experimental conditions and can be used to efficiently identify salient outcomes of experimental perturbations, generate new hypotheses, and share the results with the community.
A live instance can be found at http://higlass.io. A Docker container is available for running an instance locally, although we recommend using the higlass-manage package to start, stop and configure local instances.
For documentation about how to use and install HiGlass, please visit http://docs.higlass.io.
Kerpedjiev, P., Abdennur, N., Lekschas, F., McCallum, C., Dinkla, K., Strobelt, H., ... & Gehlenborg, N. HiGlass: Web-based Visual Exploration and Analysis of Genome Interaction Maps. Genome Biology (2018): 19:125. https://doi.org/10.1186/s13059-018-1486-1
To run higlass from its source code simply run the following:
npm clean-install // use --legacy-peer-deps if you get peer dependency errors
npm run start
This starts a server in development mode at http://localhost:5173/.
Warning The following examples need to be migrated to the latest build. Once started, a list of the examples can be found at http://localhost:8080/examples.html. Template viewconfs located at
/docs/examples/viewconfs
can viewed directly at urls such as http://localhost:8080/apis/svg.html?/viewconfs/overlay-tracks.json.
The tests for the React components and API functions are located in the test
directory.
Tests are run with web-test-runner
, which you can learn more about the CLI in the documentation.
Useful commands:
- Run all tests:
npm test
- Run all tests in interactive "watch" mode:
npm test -- --watch
- Run a specific test or "glob" of tests:
npm test -- test/APITests.js [--watch]
- Manually run individual tests in an open browser window:
npm test -- --manual
There can sometimes be import issues due to timeouts when running tests after a clean installation. It is best to run npm run optimize
prior to running tests for the first time.
Troubleshooting:
-
If the installation fails due to
sharp
>node-gyp
try installing the node packages usingpython2
:npm ci --python=/usr/bin/python2 && rm -rf node_modules/node-sass && npm ci
HiGlass provides an API for controlling the component from with JavaScript. Below is a minimal working example to get started and the complete documentation is availabe at docs.higlass.io.
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>Minimal Working Example · HiGlass</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://unpkg.com/higlass@1.6.6/dist/hglib.css">
<style type="text/css">
html, body {
width: 100vw;
height: 100vh;
overflow: hidden;
}
</style>
<script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
<script crossorigin src="https://unpkg.com/pixi.js@5/dist/pixi.min.js"></script>
<script crossorigin src="https://unpkg.com/react-bootstrap@0.32.1/dist/react-bootstrap.min.js"></script>
<script crossorigin src="https://unpkg.com/higlass@1.6.6/dist/hglib.min.js"></script>
</head>
<body></body>
<script>
const hgApi = window.hglib.viewer(
document.body,
'https://higlass.io/api/v1/viewconfs/?d=default',
{ bounded: true },
);
</script>
</html>
- HiGlass Clodius - Package that provides implementations for aggregation and tile generation for many common 1D and 2D data types
- HiGlass Python - Python bindings to the HiGlass for tile serving, view config generation, and Jupyter Notebook + Lab integration.
- HiGlass Manage - Easy to use interface for deploying a local HiGlass instance
- HiGlass Docker - Build an image containing all the components necessary to deploy HiGlass
- HiGlass Server - Server component for serving multi-resolution data
- HiGlass App - The code for the web application hosted at http://higlass.io
- Cooler - Package for efficient storage of and access to sparse 2D data
HiGlass is provided under the MIT License.