Skip to main content

omero-quay

![Actions Status][actions-badge] Documentation Status

PyPI version PyPI platforms

omero-quay is a microscopy data transport layer between data management tools.

Currently, it supports the iRODS — OMERO architecture built at France BioImaging fbi-omero.

omero-quay orchestrate data transport between iRODS and OMERO

Objectives

  • Interact with data management tools APIs
  • Trigger actions:
    • Create / Read / Update / Delete
    • Transport / Import
  • Synch databases ⚠️

Schema driven development

  • manifest.yml defines the data schema in LinkML
  • follows an Investigation Study Assay hierarchy
  • maps APIs, objects ids, ACLs
  • only transports "crates", not individual files

Generate the pydantic classes:

gen-pydantic src/omero_quay/schema/manifest-schema.yml --template-dir=src/omero_quay/templates  > src/omero_quay/core/manifest.py

ZeroMQ

{ width="70%" }

  • Message = json dump of a manifest instance
  • Central brocker routes messages based on state

Example route:

{ width="60%" }

Install

This is early stage and only meant for developers.

For now, install from source.

  1. Get and install a conda distribution. We prefer micromamba
  2. Download omero-quay from this repository (as an archive or with git)
  3. In the omero-quay directory:
    • create the conda environment conda env create -f environment.yml
    • activate it conda activate quay
    • install omero-quay in editable mode pip install -e .[dev]

For now, this software alone is not very useful, and works only within the omero-fbi frameworks. Work on setting up a docker compose view of this format is in the works. Look into the tests folder for examples.

Configuration

The configuration is described in quay.yml. On the client or server machine, adapt this file and copy it to /home/user/.config/quay.yml

Usage

Remote client

Install

  • Install omero-quay (see above)
  • add irods server IP to /etc/hosts
  • Write the client configuration file and save it to $HOME/.config/quay.yml
---
irods:
  # This is the configuration for Montpellier
  IRODS_HOST: irods-mtp.omero-fbi.fr
ingest:
  POST_URL: https://mtp.omero-fbi.fr/post

Import data

(all paths below are relative to the omero-quay root directory where this README file resides)

  • Put an excel file with the relevant data at the root of the directory you want to import

  • Run the import client (make sure the quay environment is activated):

python scripts/desktop_cli.py other/path/to/your.xlsx path_in_irods

Service

On the OMERO server machine:

python scripts/run_service.py

Excel client

On a client machine

python scripts/excel_import.py

Autoingest with iRODS

TODO

Tests

In order to run tests, you need to boot up docker containers for the omero server, irods catalog provider and nfsrods.

This is achieved by running up.sh script in tests/containers

cd tests/containers
./up.sh

After some minutes and possible connection retries, you should have the containers running.

You can then run the tests from the root of the repo with pytest

Metadata

Release files for omero_quay 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for omero_quay 1.2.0
File Size Uploaded
omero_quay-1.2.0.tar.gz 2.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for omero_quay 1.2.0
File Interpreter ABI Platform
omero_quay-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.6 MB

Release files / omero_quay-1.2.0.tar.gz

Download URL omero_quay-1.2.0.tar.gz
Size 2.5 MB
Tags Source
SHA-256 checksum
How to use checksums
e7bfca71f43aa915e3c320cf76f5ae54027a7e6e943f91c02ea3bd8b0bd9430c
BLAKE2b-256 checksum
How to use checksums
ab56ef4be7793fc753ec3fe46518dfc8a651333c34036b050ee9391ce81dee05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.28.1

Release files / omero_quay-1.2.0-py3-none-any.whl

Download URL omero_quay-1.2.0-py3-none-any.whl
Size 121.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d444a3c83f0321978138cbc491f71cd9767146fb4febaf91aa8199fd1b835340
BLAKE2b-256 checksum
How to use checksums
158e50ad3063926bf758e568a599b6a3445ebe3cd3248b04e9ab7dbf258c3abb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.28.1

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page