[package] name = "mehari" version = "0.30.1" edition = "2021" authors = ["Manuel Holtgrewe "] 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