Crates.io | htsget-actix |
lib.rs | htsget-actix |
version | 0.7.2 |
source | src |
created_at | 2023-01-06 05:37:35.635507 |
updated_at | 2024-11-22 02:47:34.760403 |
description | A webserver instance of htsget-rs using actix-web. |
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 | 174,252 |
[!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:
This application has the same functionality as htsget-axum. To use it, following the htsget-axum instructions, and
replace any calls to htsget-axum
with htsget-actix
.
It is recommended to use htsget-axum because it better fits with the rest of htsget-rs. For example htsget-actix uses the actix-web framework for the ticket server, however it depends on htsget-axum for the data server. Also, components in htsget-lambda use Axum dependencies.
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:
s3-storage
: used to enable S3Storage
functionality.url-storage
: used to enable UrlStorage
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. Light benchmarks can be performed by executing:
cargo bench -p htsget-axum -- 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 to run the heavy benchmark:
cargo bench -p htsget-axum -- HEAVY
This project is licensed under the MIT license.