omero-quay
![Actions Status][actions-badge]
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.
Objectives
- Interact with data management tools APIs
- Trigger actions:
- Create / Read / Update / Delete
- Transport / Import
- Synch databases ⚠️
Schema driven development
manifest.ymldefines 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
manifestinstance - 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.
- Get and install a
condadistribution. We prefer micromamba - Download omero-quay from this repository (as an archive or with git)
- In the
omero-quaydirectory:- create the conda environment
conda env create -f environment.yml - activate it
conda activate quay - install
omero-quayin editable modepip install -e .[dev]
- create the conda environment
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
quayenvironment 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)
| File | Size | Uploaded | |
|---|---|---|---|
| omero_quay-1.2.0.tar.gz | 2.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|