Skip to content

An API for ingesting, organizing and querying data from transcriptomics experiments.

License

Notifications You must be signed in to change notification settings

bento-platform/transcriptomics_data_service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

14baf97 · Nov 21, 2024
Nov 21, 2024
Oct 16, 2024
Nov 14, 2024
Nov 11, 2024
Nov 15, 2024
Nov 21, 2024
Oct 11, 2024
Aug 1, 2024
Aug 1, 2024
Nov 15, 2024
Oct 8, 2024
Nov 13, 2024
Nov 21, 2024
Oct 11, 2024
Aug 1, 2024
Nov 14, 2024
Nov 14, 2024
Oct 28, 2024
Oct 28, 2024
Nov 21, 2024

Repository files navigation

transcriptomics_data_service

WORK IN PROGRESS.

The Transcriptomics Data Service (TDS) is intended to ingest, organize and query data from transcriptomics experiments through an API.

Starting a standalone TDS

Start the TDS server with a database for testing by running the following command.

# start
docker compose up --build -d

# stop
docker compose down

The --build argument forces the image to be rebuilt. Be sure to use it if you want code changes to be present.

You can now interact with the API by querying localhost:5000/{endpoint}

For the OpenAPI browser interface, go to localhost:5000/docs.

Local dev

For local development, you can use the docker-compose.dev.yaml file to start a TDS development container that mounts the local directory. The server starts in reload mode to quickly reflect local changes, and debugpy is listening on the container's internal port 9511.

# Set UID for directory permissions in the container
export UID=$(id -u)

# start
docker compose -f ./docker-compose.dev.yaml up --build -d

# stop
docker compose -f ./docker-compose.dev.yaml down

You can then attach VS Code to the tds container, and use the preconfigured Python Debugger (TDS) for interactive debugging.

Authorization plugin

The Transcriptomics Data Service is meant to be a reusable microservice that can be integrated in existing stacks. Since authorization schemes vary across projects, TDS allows adopters to code their own authorization plugin, enabling adopters to leverage their existing access control code, tools and policies.

See the authorization docs for more information on how to create and use the authz plugin with TDS.

Endpoints

  • /service-info
    • GA4GH service info
  • /ingest (TODO)