[package] name = "plascad" version = "0.7.6" edition = "2021" authors = ["David O'Connor "] #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.36.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.1" [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 longer linking time. Very little size improvement.