mehari 0.30.1

Variant effect prediction all in Rust
[package]
name = "mehari"
version = "0.30.1"
edition = "2021"
authors = ["Manuel Holtgrewe <manuel.holtgrewe@bih-charite.de>"]
description = "Variant effect prediction all in Rust"
license = "MIT"
repository = "https://github.com/varfish-org/mehari"
readme = "README.md"
rust-version = "1.75.0"

[features]
default = []
dhat-heap = []  # for heap profiling with dhats
documentation = []

[package.metadata.docs.rs]
all-features = true

[lib]
name = "mehari"
path = "src/lib.rs"

[[bin]]
name = "mehari"
path = "src/main.rs"

[dependencies]
actix-web = "4.9"
annonars = "0.41.3"
anyhow = "1.0"
async-compression = { version = "0.4", features = ["tokio", "gzip"] }
bgzip = "0.3"
bio = "2.0.3"
biocommons-bioutils = "0.1.4"
built = { version = "0.7", features = ["chrono", "semver"] }
byteorder = "1.4"
byte-unit = "5.1"
chrono = "0.4"
clap-verbosity-flag = "2.2"
clap = { version = "4.5", features = ["derive"] }
coz = "0.1.3"
csv = "1.3"
derivative = "2.2"
derive_builder = { version = "0.20", features = ["clippy"] }
derive-new = "0.7.0"
dhat = "0.3.3"
enumflags2 = { version = "0.7.10", features = ["serde"] }
env_logger = "0.11"
flate2 = "1.0"
futures = "0.3"
hgvs = "0.17.3"
indexmap = { version = "2.6", features = ["serde"] }
indicatif = { version = "0.17", features = ["rayon"] }
itertools = "0.13"
jsonl = "4.0"
log = "0.4"
nom = "7.1"
nutype = { version = "0.5.0", features = ["serde"] }
once_cell = "1.20.2"
parse-display = "0.10"
pbjson = "0.7"
pbjson-types = "0.7"
percent-encoding = "2.3"
procfs = "0.17"
prost = "0.13.3"
quick_cache = "0.6.9"
rand = "0.8"
rand_core = "0.6"
rayon = "1.10.0"
rocksdb = { version = "0.22.0", features = ["multi-threaded-cf"] }
rustc-hash = "2.0.0"
seqrepo = { version = "0.10.2", features = ["cached"] }
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
serde_with = { version = "3.11", features = ["alloc", "macros", "indexmap_2"], default-features = false }
serde_yaml = "0.9"
strum = { version = "0.26", features = ["derive"] }
tempfile = "3"
thousands = "0.2"
tokio = { version = "1.41", features = ["full"] }
tracing-subscriber = "0.3"
tracing = { version = "0.1", features = ["log"] }
uuid = { version = "1.11", features = ["fast-rng", "serde"] }
zstd = "0.13"
utoipa = { version = "4.2.3", features = ["actix_extras", "chrono", "indexmap", "openapi_extensions", "preserve_order", "yaml"] }
utoipa-swagger-ui = { version = "7.0.1", features = ["actix-web"] }
utoipa-actix-web = "0.1.2"

[dependencies.noodles]
version = "0.77.0"
features = ["async", "bgzf", "core", "vcf", "bcf", "csi", "fasta", "tabix"]

[build-dependencies]
anyhow = "1.0"
built = { version = "0.7", features = ["cargo-lock", "dependency-tree", "git2", "chrono", "semver"] }
pbjson-build = "0.7.0"
prost-build = "0.13.3"

[dev-dependencies]
async-std = { version = "1.13", features = ["attributes"] }
csv = "1.3"
hxdmp = "0.2"
insta = { version = "1.41", features = ["yaml"] }
pretty_assertions = "1.4"
rstest = "0.23"
temp_testdir = "0.2"
tracing-test = "0.2"
criterion = { version = "0.5.1", features = ["async_tokio"] }
pprof = { version = "0.13.0", features = ["flamegraph"] }

# Compile insta with full optimization.
[profile.dev.package.insta]
opt-level = 3
[profile.dev.package.similar]
opt-level = 3

[profile.release]
debug = false
lto = "fat"
codegen-units = 1

[profile.dev]
debug = true
lto = false
codegen-units = 128
opt-level = 3

[profile.profiling]
inherits = "release"
debug = true