Crates.io | htsget-actix |
lib.rs | htsget-actix |
version | 0.11.1 |
created_at | 2023-01-06 05:37:35.635507+00 |
updated_at | 2025-08-21 00:42:35.508527+00 |
description | A webserver instance of htsget-rs using actix-web, which serves data according to the htsget protocol. |
homepage | https://github.com/umccr/htsget-rs/blob/main/htsget-actix/README.md |
repository | https://github.com/umccr/htsget-rs |
max_upload_size | |
id | 752094 |
size | 193,592 |
[!IMPORTANT]
The functionality of htsget-axum is identical to this crate, and it is recommended for all projects to use htsget-axum instead.This crate will be maintained to preserve backwards compatibility, however htsget-axum is favoured because it contains components that better fit with the rest of htsget-rs.
Framework dependent code for a server instance of htsget-rs, using Actix Web.
This crate is used for running a local instance of htsget-rs. It is based on:
Launch a server instance:
cargo run -p htsget-actix
And fetch tickets from localhost:8080
:
curl 'http://localhost:8080/variants/data/vcf/sample1-bcbio-cancer'
This crate uses htsget-config for configuration. All options supported in htsget-axum are also supported here.
There shouldn't be any need to interact with this crate as a library, however some functions which deal with configuring routes are exposed in the public API.
This crate has the following features:
aws
: used to enable S3
location functionality.url
: used to enable Url
location functionality.experimental
: used to enable experimental features that aren't necessarily part of the htsget spec, such as Crypt4GH support through C4GHStorage
.Benchmarks for this crate written using Criterion.rs, and aim to compare the performance of this crate with the htsget Reference Server. There are a set of light benchmarks, and one heavy benchmark. For light benchmarks run:
cargo bench -p htsget-actix -- LIGHT
To run the heavy benchmark, an additional vcf file needs to be downloaded, and placed in the data/vcf
directory:
curl ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/data_collections/1000_genomes_project/release/20190312_biallelic_SNV_and_INDEL/ALL.chr14.shapeit2_integrated_snvindels_v2a_27022019.GRCh38.phased.vcf.gz > data/vcf/internationalgenomesample.vcf.gz
Then run the heavy benchmark:
cargo bench -p htsget-actix -- HEAVY
This project is licensed under the MIT license.