-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCargo.toml
More file actions
93 lines (79 loc) · 2.87 KB
/
Copy pathCargo.toml
File metadata and controls
93 lines (79 loc) · 2.87 KB
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
[package]
authors = ["Ash Vardanian <1983160+ashvardanian@users.noreply.github.com>"]
categories = ["command-line-utilities", "science"]
description = "Command-line utilities for processing memory-mapped FASTA and FASTQ files"
edition = "2021"
keywords = ["bioinformatics", "fasta", "fastq", "cli", "sequence-analysis"]
license = "Apache-2.0"
name = "fasterfasta"
readme = "README.md"
repository = "https://github.com/unum-bio/FasterFASTA"
version = "0.1.0"
[features]
# The stream codecs are on by default because real datasets ship compressed and a toolkit
# that cannot open them is a toolkit nobody reaches for. Each is one dependency, so a build
# that wants none of them turns them off one at a time.
bzip2 = ["dep:bzip2"]
default = ["gzip", "zstd", "bzip2", "xz", "lz4"]
gzip = ["dep:flate2"]
lz4 = ["dep:lz4_flex"]
xz = ["dep:lzma-rust2"]
zstd = ["dep:zstd"]
[dependencies]
bzip2 = {version = "0.6", optional = true}
clap = {version = "4.5", features = ["derive"]}
flate2 = {version = "1.1", default-features = false, features = ["zlib-rs"], optional = true}
# StringZilla links the same worker pool with `use forkunion as _;`, which re-exports nothing,
# so the scheduler has to name it directly. Cargo unifies the two into one build.
forkunion = "3.0.2"
lz4_flex = {version = "0.14", optional = true}
lzma-rust2 = {version = "0.19", default-features = false, features = ["std", "xz", "encoder", "optimization"], optional = true}
memmap2 = "0.9"
# Kept ahead of its first use: deduplication and sorting both need a tape of borrowed
# spans over one payload, and StringZilla already pulls the same crate in.
stringtape = {path = "../StringTape"}
stringzilla = {version = "5", features = ["cpus"]}
zstd = {version = "0.13", default-features = false, optional = true}
[dev-dependencies]
tempfile = "3.10"
# Bound to the manifest rather than to a CI invocation, so a plain `cargo build` enforces the
# same rules a reviewer would. `unwrap_used` stays allowed in tests, where a panic is the
# assertion.
# `missing_debug_implementations` is deliberately absent: the access types are generic over
# their byte container, so deriving `Debug` would force a `B: Debug` bound on every one of
# them to serve a trait nothing in this crate calls.
[lints.rust]
unreachable_pub = "warn"
[lints.clippy]
doc_markdown = "warn"
needless_pass_by_value = "warn"
uninlined_format_args = "warn"
[profile.release]
codegen-units = 1
lto = true
opt-level = 3
strip = true
[[bin]]
name = "fasta-dedup"
path = "bin/fasta_dedup.rs"
[[bin]]
name = "fasta-sample"
path = "bin/fasta_sample.rs"
[[bin]]
name = "fasta-revcomp"
path = "bin/fasta_revcomp.rs"
[[bin]]
name = "fasta-dna2rna"
path = "bin/fasta_dna2rna.rs"
[[bin]]
name = "fastq-filter"
path = "bin/fastq_filter.rs"
[[bin]]
name = "fastq-trim"
path = "bin/fastq_trim.rs"
[[bin]]
name = "fastq-stats"
path = "bin/fastq_stats.rs"
[[bin]]
name = "fastq-to-fasta"
path = "bin/fastq_to_fasta.rs"