Skip to content

ga4gh/htsget-compliance

This branch is 9 commits ahead of master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bc0f049 · Feb 3, 2025

History

70 Commits
Jan 24, 2025
Jan 23, 2025
Feb 3, 2025
Jan 20, 2025
Jan 20, 2025
Jan 20, 2025
Jan 23, 2025
Jan 20, 2020
Jan 29, 2025
Jan 20, 2025
Jan 24, 2020
Jan 28, 2025
Jan 21, 2025

Repository files navigation

Build Status Coverage Status License Python 3.12

htsget Compliance

The htsget Compliance Suite determines a web service's compliance with the htsget API specification for serving large alignment and variant datasets. The specification, developed by the Global Alliance for Genomics and Health, serves to provide a standardized, interoperable API framework across different institutions.

Installation

First, required pre-requisites are samtools, bcftools, htsfile and crypt4gh are assumed to be pre-installed in the system, i.e:

apt-get install samtools uv  (OSX: brew install samtools uv)
uv venv .
pip install crypt4gh

To install htsget-compliance, clone the Github repository, then install via setuptools:

source .venv/bin/activate
git clone https://github.com/ga4gh/htsget-compliance.git
cd htsget-compliance
python setup.py install

Quickstart

Running the following:

% htsget-compliance https://htsget.ga4gh-demo.org  | jq '.["summary"]'

Should ideally yield:

{
  "run": 12,
  "passed": 12,
  "warned": 0,
  "failed": 0,
  "skipped": 0
}

Usage

The compliance tests can be run via htsget-compliance ${HTSGET_URL}, where HTSGET_URL is the base url to an htsget service. For example:

htsget-compliance https://htsget.ga4gh-demo.org

Additional commandline options can be specified to:

  • write JSON report to file (-f)
  • change the url path to alignment objects from the default /reads/{id} (-r)
  • change the url path to variant objects from the default /variants/{id} (-v)
  • etc.

A full list of options can be displayed via htsget-compliance --help

License

See the LICENSE

Issues

Please raise any issues on Github