Skip to content

A FastAPI server for converting workflows from Galaxy's API to Open Geospatial Consortium (OGC) API - Processes

Notifications You must be signed in to change notification settings

dmeaux/fair-ease-galaxy-ogcapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FAIR-EASE Galaxy OGC API

The intent of this project is to create a bridge server between Galaxy's API and Open Geospatial Consortium APIs. It was originally created as a response to a challenge during the FAIR-EASE Hackathon that took place 2024-03-17 through 2024-03-21.

Technology Used

This project is written in Python and currently requires Python 3.12.

Required Libraries

These can be installed using pip:

pip install -r requirements.txt

Configuration TOML File

After cloning this repository you will need to create a file named credentials.toml at the root level with the following parameters set. You will then need to replace the value of GALAXY_URL with the galaxy URL that you use and the value of GALAXY_ACCESS_KEY with an API access key that you have set up under your login.

NOTE : .gitignore is already set so that this file is not synced with GitHub.

[galaxy]
GALAXY_URL = "https://usegalaxy.eu"
GALAXY_ACCESS_KEY = "<the API access ley you created under your login>"

Phase 1 (FAIR-EASE Hackathon 2025-03-17 - 2025-03-21)

Explored the Galaxy API related to workflows to see how it could be interrogated in order to be served as an OGC API - Processes compliant service. The first step was to be able to interrogate Galaxy's API for a given workflow and search for relavant tool data to fill in the corresponding parts for describing a process compliant with the OGC API - Processes standard. A FastAPI server application (app/mmain.py) and its associated data structures (app/model/ogc_api_processes.py) were created to return an OGC API - Process record with very basic information from a Galaxy workflow_id.

Currently, using the Swagger interface of FastAPI, you can return an OGC API - Process record with very basic information using a Galaxy workflow_id.

Example:

Request:

OGC API - Processes request

Response:

OGC API - Processes response

TODO

  • Finish converting Galaxy workflow tool inputs to OGC Process inputs.
    • Debug pydantic model validation for Process inputs.
  • Finish converting Galaxy workflow tool outputs to OGC Process outputs.

About

A FastAPI server for converting workflows from Galaxy's API to Open Geospatial Consortium (OGC) API - Processes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published