-
Notifications
You must be signed in to change notification settings - Fork 1
/
Cargo.toml
88 lines (72 loc) · 3.11 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
[package]
name = "plascad"
version = "0.7.8"
edition = "2021"
authors = ["David O'Connor <[email protected]>"]
#description = "Tools for plasmid and primer design, PCR, and related."
description = "PlasCAD"
keywords = ["plasmid", "vector", "primer", "biology", "pcr"]
categories = [
"science", "science::bioinformatics",
]
repository = "https://github.com/David-OConnor/plascad"
documentation = "https://docs.rs/plascad"
readme = "README.md"
license = "MIT"
exclude = [".gitignore"]
default-run = "plascad"
[[bin]]
name = "plascad"
path = "src/main.rs"
#[[bin]]
#name = "feature_db_builder"
#path = "src/feature_db_builder.rs"
[dependencies]
eframe = "^0.29.1"
egui_extras = "^0.29.1" # For tables.
egui-file-dialog = "^0.7.0" # For file dialogs.
# todo: Evaluate size etc of this plotting lib.
#egui_plot = "^0.28.1"
chrono = "^0.4.38"
serde = { version = "^1.0.206", features = ["derive"] }
num_enum = "^0.7.3" # reversing a u8-repr.
# For FASTA read and write. Note: We can ditch this for a custom parser; FASTA is easy.
# Note, 2024-08-09: Removing this appears to have minimal impact on binary size.
bio = "^2.0.1"
quick-xml = {version = "0.37.1", features = ["serialize"]} # For Snapgene feature parsing and writing.
# For parsing and writing GenBank files. todo: This seems to have a lot of sub-deps; Increases binary size a bit.
gb-io = "^0.7.1"
# We use bincode for saving and loading to files using our custom format.
bincode = "^2.0.0-rc.3"
# For opening BLAST. Hopefully this doesn't increase binary size too much.
webbrowser = "^1.0.1"
url = "^2.5.2"
# For creating JSON payloads for the PDB search API.
#tinyjson = "^2.5.1"
serde_json = {version = "^1.0.127"}
# For clipboard operations not supported directly by EGUI
copypasta = "^0.10.1"
#winreg = "0.52.0" # For setting up file associations on Windows
# HTTP client, for loading PDB data.
# ureq = { version = "^3.0.0", features = ["tls"], default-features = false } # todo: This is getting a major release update to 3.0 soon.
ureq = { version = "^2.10.1", features = ["tls"], default-features = false } # todo: This is getting a major release update to 3.0 soon.
# We use strum to iterate over enums.
# todo: Check sup-deps/binary impact etc
strum = "^0.26.3"
strum_macros = "^0.26.4"
#na_seq = { path = "../na_seq" }
na_seq = "^0.2.4"
byteorder = "1.5.0" # Currently used in the AB1 parser. Remove A/R
[build-dependencies]
# These are for embedding an application icon, on Windows.
winresource = "^0.1.17"
# https://doc.rust-lang.org/cargo/reference/profiles.html
[profile.release]
strip = true # Strip symbols from binary. Very little improvement in size.
# Optimize for size. May make it tough to use with a debugger. Possibly could make it slower(?); the docs imply
# experimenting is required.
# opt-level = 'z' # Optimize for binary size; gives about 60% of the original size.
# opt-level = 's' # Optimize for binary size; gives about 60% of the original size.
#codegen-units = 1 # Small decrease in binary size; longer compile time.
lto = true # Can produce better optimized code, at the cost of [significantly]longer linking time.
# Very little size improvement.