[package]
name = "deacon"
version = "0.14.0"
description = "Accelerated DNA sequence search and [host] depletion using minimizers"
authors = ["Bede Constantinides <b@bede.im>"]
edition = "2024"
repository = "https://github.com/bede/deacon"
homepage = "https://github.com/bede/deacon"
keywords = ["bioinformatics", "genomics", "filtering", "decontamination"]
categories = ["science", "command-line-utilities"]
license = "MIT"
exclude = ["bench/*", "data/*"]
[lib]
name = "deacon"
path = "src/lib.rs"
[dependencies]
clap = { version = "4.5", features = ["derive"] }
anyhow = "1.0"
thiserror = "2.0"
rayon = "1"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
bincode = { version = "2.0", features = ["serde"] }
rapidhash = "4.1.0"
parking_lot = "0.12"
indicatif = "0.18"
rand = "0.9"
packed-seq = "4.2.0"
simd-minimizers = "2.2.0"
needletail = { version = "0.6", default-features = false }
niffler = { version = "3", default-features = false }
paraseq = { version = "0.4.3", default-features = false, features = ["anyhow", "niffler"] }
liblzma = { version = "0.3", optional = true }
flate2 = { version = "1.1", features = ["zlib-rs"], optional = true }
zstd = { version = "0.13", optional = true }
gzp = { version = "2.0", default-features = false, features = ["deflate_rust"], optional = true }
minreq = { version = "2", features = ["https-rustls-probe"], optional = true }
ensure_simd = "0.1.0"
[lints.clippy]
too_many_arguments = "allow"
[dev-dependencies]
assert_cmd = "2.0"
predicates = "3.0"
tempfile = "3.20"
rstest = "0.26"
nix = { version = "0.30", features = ["fs"] }
[features]
compression = ["zstd", "liblzma", "flate2", "gzp", "needletail/compression", "paraseq/default"]
gz = ["niffler/gz", "flate2", "flate2/default"]
fetch = ["minreq"]
default = ["compression", "fetch"]
[[test]]
name = "cli_tests"
path = "tests/cli_tests.rs"
[[test]]
name = "index_tests"
path = "tests/index_tests.rs"
[[test]]
name = "filter_tests"
path = "tests/filter_tests.rs"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"
strip = false
debug = false
[profile.dist]
inherits = "release"