[package] name = "lorikeet-genome" version = "0.8.2" authors = ["Rhys Newell "] license = "GPL-3.0" description = "Strain resolver and variant caller via local reassembly for metagenomics" homepage = "https://rhysnewell.github.io/Lorikeet/" repository = "https://github.com/rhysnewell/Lorikeet" documentation = "https://github.com/rhysnewell/Lorikeet" readme = "README.md" keywords = ["bioinformatics", "metagenomics", "variant-calling", "strain-anlaysis"] categories = ["bioinformatics::metagenomics", "bioinformatics::variant-calling", "bioinformatics::strain-analysis"] include = [ "/src", "/LICENSE", "/README.md", "/Cargo.toml" ] default-run = "lorikeet" edition = "2021" [features] # Force openssl-sys to staticly link in the openssl library. Necessary when # cross compiling to x86_64-unknown-linux-musl. # vendored-openssl = ["openssl-sys/vendored"] default = ["fst", "bam"] fst = ["dep:pyo3"] bam = [] [dependencies] approx = "^0.5" ansi_term = "^0.12" bio = "^1.1" bio-types = "^1.0" bird_tool_utils = "^0.4" bird_tool_utils-man = "^0.4" bstr = "^0.2.17" clap = { version="^4", features = ["cargo"] } # cargo feature required for crate_version! clap_complete = "^4" compare = "^0.1" hashlink = "^0.7" enum-ordinalize = "^3.1" env_logger = "^0.6" glob = "^0.3" gkl = "^0.1.1" indexmap = "^1.7" itertools = "^0.8" lazy_static = "^1.3" log = "^0.4" libm = "^0.2" mathru = "^0.14" multimap = "^0.9" ndarray-npy = "^0.8" ndarray = {version = "^0.15", features = ["rayon"]} needletail = "^0.5" nix = "0.26.2" num = "0.4.0" ordered-float = "1" partitions = "^0.2" petgraph = {version = "^0.6", features = ["stable_graph"]} pyo3 = { version = "^0.17", optional = true } rand = "0.6" rayon = "^1.5.1" roff = "^0.2" rust-htslib = { version="^0.44", default-features = false} serde = "^1" serde_derive = "^1" strum = "^0.17" strum_macros = "^0.17" statrs = "^0.16" tempdir = "^0.3" tempfile = "^3" term = "^0.7" indicatif = "^0.17" scoped_threadpool = "^0.1.9" anyhow = "1.0.70" [lib] bench = false #[[bench]] #name = "benchmarks" #harness = false [dev-dependencies] assert_cli = "0.6.*" # Run things before commit but not push #cargo-husky = { version="1", default-features = false, features=["precommit-hook", "run-cargo-test", "run-cargo-fmt"] } # The development profile, used for `cargo build`. [profile.dev] opt-level = 0 # controls the `--opt-level` the compiler builds with. # 0-1 is good for debugging. 2 is well-optimized. Max is 3. # 's' attempts to reduce size, 'z' reduces size even more. debug = true # (u32 or bool) Include debug information (debug symbols). # Equivalent to `-C debuginfo=2` compiler flag. rpath = false # controls whether compiler should set loader paths. # If true, passes `-C rpath` flag to the compiler. lto = true # Link Time Optimization usually reduces size of binaries # and _2 libraries. Increases compilation time. # If true, passes `-C lto` flag to the compiler, and if a # string is specified like 'thin' then `-C lto=thin` will # be passed. debug-assertions = true # controls whether debug assertions are enabled # (e.g., debug_assert!() and arithmetic overflow checks) codegen-units = 16 # if > 1 enables parallel code generation which improves # compile times, but prevents some optimizations. # Passes `-C codegen-units`. panic = 'unwind' # panic strategy (`-C panic=...`), can also be 'abort' incremental = true # whether or not incremental compilation is enabled # This can be overridden globally with the CARGO_INCREMENTAL # environment variable or `build.incremental` config # variable. Incremental is only used for path sources. overflow-checks = true # use overflow checks for integer arithmetic. # Passes the `-C overflow-checks=...` flag to the compiler. # The release profile, used for `cargo build --release` (and the dependencies # for `cargo test --release`, including the local library or binary). [profile.release] opt-level = 3 debug = false rpath = false strip = true lto = true debug-assertions = false codegen-units = 16 panic = 'unwind' incremental = false overflow-checks = false # The testing profile, used for `cargo test` (for `cargo test --release` see # the `release` and `bench` profiles). [profile.test] opt-level = 3 debug = 2 rpath = false lto = true debug-assertions = true codegen-units = 16 panic = 'unwind' incremental = true overflow-checks = true # The benchmarking profile, used for `cargo bench` (and the test targets and # unit tests for `cargo test --release`). [profile.bench] opt-level = 3 debug = false rpath = false lto = true debug-assertions = false codegen-units = 16 panic = 'unwind' incremental = false overflow-checks = false