[package]
edition = "2024"
rust-version = "1.87.0"
name = "fgumi"
version = "0.1.2"
authors = [
"Nils Homer <nils@fulcrumgenomics.com>",
"Tim Fennell <tim@fulcrumgenomics.com>",
]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance tools for UMI-tagged sequencing data: extraction, grouping, and consensus calling"
homepage = "https://github.com/fulcrumgenomics/fgumi"
documentation = "https://docs.rs/fgumi"
readme = "README.md"
keywords = [
"bioinformatics",
"umi",
"consensus",
"sequencing",
"ngs",
]
categories = [
"command-line-utilities",
"science",
]
license = "MIT"
repository = "https://github.com/fulcrumgenomics/fgumi"
resolver = "2"
[features]
codec = ["fgumi-consensus/codec"]
compare = []
default = [
"simplex",
"duplex",
"codec",
]
dhat-heap = ["dep:dhat"]
duplex = ["fgumi-consensus/duplex"]
memory-debug = [
"dep:libmimalloc-sys",
"dep:sysinfo",
]
profile-adjacency = []
simplex = ["fgumi-consensus/simplex"]
simulate = []
stress-tests = []
[lib]
name = "fgumi_lib"
path = "src/lib/mod.rs"
[[bin]]
name = "fgumi"
path = "src/main.rs"
[[test]]
name = "integration"
path = "tests/integration/main.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[bench]]
name = "core_functions"
path = "benches/core_functions.rs"
harness = false
[dependencies.ahash]
version = "0.8"
[dependencies.anyhow]
version = "1.0.102"
[dependencies.approx]
version = "0.5.1"
[dependencies.bgzf]
version = "0.3.0"
[dependencies.bstr]
version = "1.12.1"
[dependencies.bytemuck]
version = "1.14"
features = ["derive"]
[dependencies.bytes]
version = "1"
[dependencies.bytesize]
version = "2.3"
[dependencies.clap]
version = "4"
features = [
"derive",
"string",
]
[dependencies.crc32fast]
version = "1.4"
[dependencies.crossbeam-channel]
version = "0.5"
[dependencies.crossbeam-queue]
version = "0.3"
[dependencies.crossbeam-utils]
version = "0.8.21"
[dependencies.csv]
version = "1.1"
[dependencies.dhat]
version = "0.3"
optional = true
[dependencies.enum_dispatch]
version = "0.3.13"
[dependencies.env_logger]
version = "0.11.8"
[dependencies.fgoxide]
version = "0.6.0"
[dependencies.fgumi-bgzf]
version = "0.1.2"
[dependencies.fgumi-consensus]
version = "0.1.2"
default-features = false
[dependencies.fgumi-dna]
version = "0.1.2"
[dependencies.fgumi-metrics]
version = "0.1.2"
[dependencies.fgumi-raw-bam]
version = "0.1.2"
features = ["noodles"]
[dependencies.fgumi-sam]
version = "0.1.2"
[dependencies.fgumi-umi]
version = "0.1.2"
[dependencies.flate2]
version = "1.1"
[dependencies.indexmap]
version = "2"
[dependencies.itertools]
version = "0.14.0"
[dependencies.libdeflater]
version = "1.22"
[dependencies.libmimalloc-sys]
version = "0.1.44"
features = ["extended"]
optional = true
[dependencies.log]
version = "0"
[dependencies.lru]
version = "0.16.3"
[dependencies.memchr]
version = "2"
[dependencies.mimalloc]
version = "0.1.48"
default-features = false
[dependencies.murmur3]
version = "0.5"
[dependencies.noodles]
version = "0.106.0"
features = [
"bam",
"fasta",
"sam",
"bgzf",
"core",
"vcf",
]
[dependencies.noodles-bgzf]
version = "0.46.0"
features = ["libdeflate"]
[dependencies.noodles-csi]
version = "0.54.0"
[dependencies.parking_lot]
version = "0.12"
[dependencies.rand]
version = "0.10"
[dependencies.rand_distr]
version = "0.6"
[dependencies.rayon]
version = "1.10"
[dependencies.read-structure]
version = "0.2.0"
[dependencies.seq_io]
version = "0.3.4"
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.statrs]
version = "0.18"
[dependencies.sysinfo]
version = "0.38"
features = ["system"]
optional = true
default-features = false
[dependencies.tempfile]
version = "3.3.0"
[dependencies.thiserror]
version = "2"
[dependencies.wide]
version = "1.1"
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.fgumi-raw-bam]
version = "0.1.2"
features = ["test-utils"]
[dev-dependencies.proptest]
version = "1.10"
[dev-dependencies.rstest]
version = "0"
[build-dependencies.built]
version = "0"
features = ["git2"]
[profile.profiling]
debug = "line-tables-only"
inherits = "release"
[profile.release]
lto = "fat"
codegen-units = 1