-
Notifications
You must be signed in to change notification settings - Fork 3
/
Cargo.toml
134 lines (124 loc) · 4.66 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
[package]
name = "rosella"
version = "0.5.4"
authors = ["Rhys Newell <[email protected]"]
license = "GPL-3.0"
description = "Metagenome assembled genome recovery from metagenomes using UMAP and HDBSCAN"
homepage = "https://rhysnewell.github.io/rosella/"
repository = "https://github.com/rhysnewell/rosella"
documentation = "https://github.com/rhysnewell/rosella"
readme = "README.md"
exclude = [
"tests/*"
]
default-run = "rosella"
edition = "2021"
[features]
deafult = []
no_flight = ["dep:linfa", "dep:linfa-nn", "dep:linfa-preprocessing", "dep:petal-clustering", "dep:finch", "dep:hnsw_rs", "dep:petgraph", "dep:annembed"]
[dependencies]
anyhow = "^1.0"
annembed = { version = "^0.0.11", features = ["intel-mkl-static"], optional = true }
# annembed = { git = "https://github.com/rhysnewell/annembed", features = ["intel-mkl-static"], optional = true}
bird_tool_utils = "^0.4"
bird_tool_utils-man = "^0.4"
clap = { version="^4", features = ["cargo"] } # cargo feature required for crate_version!
clap_complete = "^4"
csv = "1"
env_logger = "0.6"
finch = { version = "^0.6", optional = true }
hnsw_rs = { version = "^0.1", optional = true }
itertools = "0.8"
lazy_static = "1.3.0"
linfa = { version = "^0.6", optional = true }
linfa-nn = { version = "^0.6", optional = true }
linfa-preprocessing = { version = "^0.6", optional = true}
log = "0.4"
petgraph = { version = "0.6.3", optional = true }
petal-clustering = { version = "^0.5", optional = true }
rand = "0.6"
rayon = "^1.5.1"
roff = "^0.2"
serde = "1"
serde_derive = "1"
serde_json = "1"
serde_yaml = "0.8"
statrs = "^0.16"
tempfile = "3.0"
indicatif = { version = "^0.16" }
ndarray-npy = { version = "^0.8" }
ndarray = { version = "^0.15", features = ["rayon"] }
needletail = "^0.5"
num-traits = { version = "0.2.15", optional = true }
[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