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

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