Skip to main content

OMERO Vitessce multimodal data viewer plugin for OMERO.web

Project description

Badge_OMERO Badge_PyPI

OMERO.omero_vitessce

OMERO Vitessce multimodal data viewer.

Installation

This section assumes that an OMERO.web is already installed.

Install the app using pip:

NB: You need to ensure that you are running pip from the python environment where omero-web is installed.

$ pip install -U omero-vitessce

Add the app to the omero.web.apps setting:

$ omero config append omero.web.apps '"omero_vitessce"'

Add omero_vitessce as a tab in the right-hand-side panel:

$ omero config append omero.web.ui.right_plugins '["Vitessce", "omero_vitessce/webclient_plugins/right_plugin.vitessce.js.html", "vitessce_tab"]'

Add omero_vitessce as an open-with option:

omero config append omero.web.open_with '["omero_vitessce", "open_vitessce", {"supported_objects": ["project", "dataset", "image"], "label": "Vitessce"}]'

Add the omero web address (replace ´'"http://localhost:4080"'´ with your address):

$ omero config set omero.web.omero_vitessce.serveraddress '"http://localhost:4080"'

Now restart OMERO.web as normal for the configuration above to take effect.

omero-web-zarr

While omero-web-zarr is not a requirement, but it is strongly recommended to have it installed and enabled for using this plugin omero-web-zarr is necessary to take advantage fully of the autogenerated config files for the Vitessce viewer, as they rely on omero-web-zarr to serve the images to the viewer.

Please see https://pypi.org/project/omero-web-zarr/ for instructions on installing and enabling the omero-web-zarr plugin.

Usage

Selecting the viewer

The plugin can be used with:

  • Vitessce Tab on the right hand side panel.
  • Open with -> Vitessce on the left side panel.

Right-hand-side panel:

  • Prexisting config files:

Clicking the link will open a new tab with the viewer displaying the selected configuration.
Link-List-image

  • Generating custom config files:

The form allows the user to automatically generate a config file with the selected parameters. After clicking the Generate Config button a config file is generated and attached to the dataset/image. The viewer displaying the autogenerated configuration will open in a new tab.
Form-image

Open-with:

Right click on a dataset or an images in the left-panel and select open-with -> Vitessce.
This will open the vitessce viewer in a new tab using the first configuration file attachement. Openwith-image

Viewer window

After autogenerating or selecting a config file, the Vitessce viewer is opened in a new tab: Viewer GIF

Config files

The omero-vitessce plugin considers all files with the .json extension attached to the image or dataset as config files for the viewer. The config files should follow the vitessce view-config-json format: http://vitessce.io/docs/view-config-json/

Custom config files generated from the right-tab

Config files can be generated for:

  • images
  • datasets

Assumes that omero-web-zarr is available to serve the images. The attachements must be in .csv format and the column with the cell identifiers should be consistent across attachements. Only files attached to the dataset/image are available in the form.

The following fields are available:

  • Config file name (required, "VitessceConfig-YYYY.MM.DD_HHMMSS.json"): Name of the config file to attach, a ".json" extension is added if missing.
  • Images (required): OMERO Image(s) to view, assumes the same pixel size for all images.
  • Segmentation (optional, None): Label image to overlay on the image, pixel values correspond to cell identities.
  • Cell identities (optional, None): .csv file with at least 2 columns: Cell id column and Label column defined in the 2 fields below.
  • Cell id column (optional, "cell_id"): Name of the Cell id column used in Cell identities, Expression, Embeddings.
  • Label column (optional, "label"): Name of the Label used in Cell identities.
  • Expression (optional, None): .csv file with the Cell id column all other columns are considered as expression values and should be numerical.
  • Embeddings (optional, None): .csv file with the Cell id column and the Embedding x and Embedding y columns defined in the 2 fields below.
  • Embedding x (optional, "UMAP_1"): Name of the Embedding x used in Embeddings.
  • Embedding y (optional, "UMAP_2"): Name of the Embedding y used in Embeddings.
  • Molecules (optional, None): .csv file with at least 4 columns: Molecule id, label, x, y (headers in the fields below).
  • Molecule id (optional, "id"): Name of the Molecule id column used in Molecules.
  • Molecule label (optional, "gene"): Name of the Molecule label column used in Molecules.
  • Molecule x (optional, "x"): Name of the Molecule x column used in Molecules.
  • Molecule y (optional, "y"): Name of the Molecule y column used in Molecules.
  • Histograms (required , True): Add 3 plots showing: The number of transcripts per cell, the number of cells in each set, gene expression in each set.
  • Heatmap (required , True): Adds an heatmap.
  • Status (required , False): Adds a status panel to display info on the selected cell.
  • Description (required , False): Adds a description panel to display info on the dataset/image (taken from the description metadata field from OMERO).

The Expression and Cell identities files are required to show the histograms.
The Embeddings file is necessary to show the cells in a scatterplot. The Molecules file is used to overlay molecules on the image. All molecules are displayed and selecting by gene is not yet possible.
The Status panel will be empty unless a Segmentation or Embeddings are provided.

Attaching preexisting config files

Custom config files should have a .json extension and added as attachements to a dataset or an image. The configuration files does not need to refer to the dataset / image it is attached to and can refer to other images.

For how to create a custom config file see:

Serving the images / data /metadata

Images and data can be served through:

  • omero-web-zarr: OME-NGFF images only.
  • omero-openlink: all images and file attachements.
  • webclient/annotation/ endpoint: only for Annotations (useful for file attachments).

Development

Sources

The main sources this project relies on are:

Tests

Test dataset

The dataset used for automated testing is at: test/data/MB266 This is a cropped version derived from larger images and their associated data available at: https://doi.org/10.5281/zenodo.13832665

The original data are available at: https://www.ebi.ac.uk/biostudies/bioimages/studies/S-BIAD1093

The associated publication is available at: https://www.biorxiv.org/content/10.1101/2024.04.03.586404v1

omero-test-infra configuration

omero-test-infra is used for automated tests with github-actions. The workflow setups an omero installation in docker and then:

  1. Runs app-config to set up the omero-web plugin configuration.
  2. Runs app-build which:

It is possible to perform these tests locally by:

  1. Starting the docker daemon.
  2. Cloning the omero-test infra repository inside the base folder of omero-vitessce: git clone https://github.com/openmicroscopy/omero-test-infra .omero
  3. Running: .omero/app-docker

React web app

omero_vitessce web app

We serve a custom version of the vitesce app: http://vitessce.io/

The app sets up a vitessce view configured through a text file in json format: http://vitessce.io/docs/view-config-json/

The configuration file is taken from the ?config url parameter.

Installation

This project was created with Create React App.

You can run this project in development mode or as an OMERO.web Django app.

To get started:

$ cd vitessce_app
$ npm install

In the project directory, you can run:

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

npm run build

Builds the app for production to the build folder and copies the html and static files to the Django app in vitessce app. See the deploy_build.sh script.

You also need to install the app into your omero-web environment:

# cd to the root of the repo
$ pip install -e .

You will need to have the app configured in your OMERO.web install:

$ omero config append omero.web.apps '"omero_vitessce"'
$ omero config append omero.web.ui.right_plugins '["Vitessce", "omero_vitessce/webclient_plugins/right_plugin.vitessce.js.html", "vitessce_tab"]'
$ omero config set omero.web.omero_vitessce.serveraddress '"http://localhost:4080"'

It bundles React in production mode and optimizes the build for the best performance.

See the Create React App section about deployment for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omero_vitessce-1.0.5.tar.gz (10.0 MB view details)

Uploaded Source

Built Distribution

omero_vitessce-1.0.5-py3-none-any.whl (10.1 MB view details)

Uploaded Python 3

File details

Details for the file omero_vitessce-1.0.5.tar.gz.

File metadata

  • Download URL: omero_vitessce-1.0.5.tar.gz
  • Upload date:
  • Size: 10.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.6

File hashes

Hashes for omero_vitessce-1.0.5.tar.gz
Algorithm Hash digest
SHA256 7945b88ca92c0bf06b7330dc6d6a7e3214af487c1b4c62f08625c591c1235faa
MD5 84897824e908e98155a159c31d66e32c
BLAKE2b-256 bf22e483be12346c2d1e43c90db781b2a36a08db618466221d395fc336672c94

See more details on using hashes here.

Provenance

File details

Details for the file omero_vitessce-1.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for omero_vitessce-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0104307bdd51390e7f818d39945cd3245996d360cabfd4a4050c39ffd8331b00
MD5 9fd619dbb647bae748ac0df98ad0feda
BLAKE2b-256 fc569cda302a414fee88d9f0c3302ad67d9da7eba38d3bfad18b949986dfa26d

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page