Skip to content

Htsget API implementation based on the Htsget protocol

License

Notifications You must be signed in to change notification settings

CanDIG/htsget_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f24b168 · Mar 21, 2025
Oct 30, 2024
Jul 24, 2023
Nov 20, 2024
Jan 28, 2025
Mar 18, 2025
Aug 16, 2024
Jul 25, 2020
Dec 31, 2024
Jul 10, 2023
Jul 26, 2019
Sep 27, 2023
Oct 10, 2024
Nov 20, 2024
Nov 5, 2024
Jul 5, 2019
Feb 24, 2025

Repository files navigation

Htsget Application

Htsget API implementation that is based on the Htsget retrieval API specifications.

Access to the underlying data objects is mediated through a "baby DRS" server which runs as a separate REST API. The OpenAPI file specifies a suggested format for DRS-compliant genomic variant, read, and index objects. Hopefully a compatible, separate DRS server will be able to implement this API as-is.

Thank you to gel-htsget for being a good starting point to this project

Build Status CodeFactor PyUp

Stack

Installation

The server software can be installed in a virtual environment:

python setup.py install

Running

This application can be configured by way of the config.ini file in the root of the project. The server can be run with:

python htsget_server/server.py

This application can also be set up in a docker container. A docker-compose file and Dockerfile are provided.

The default MinIO location specified in the config.ini file is the sandbox at MinIO, but a different location can be specified there as well. Be sure to update the access key and secret key values in config.ini.

Testing

For testing, a small test suite under tests/test_htsget_server.py can be run by starting the server and running:

pytest

For automated testing, activate the repo with Travis-CI