ref-solver 0.1.0

Solve reference genome identification from BAM/SAM headers
Documentation
[package]
name = "ref-solver"
version = "0.1.0"
edition = "2021"
authors = ["Fulcrum Genomics"]
description = "Solve reference genome identification from BAM/SAM headers"
license = "MIT"
repository = "https://github.com/fulcrumgenomics/ref-solver"
readme = "README.md"
keywords = ["bioinformatics", "genomics", "bam", "sam", "reference-genome"]
categories = ["command-line-utilities", "science"]
rust-version = "1.75"
exclude = ["deploy/", ".github/"]

[dependencies]
# CLI
clap = { version = "4.5", features = ["derive"] }

# Bioinformatics file parsing - use noodles umbrella crate to avoid version conflicts
noodles = { version = "0.86", features = ["sam", "bam", "cram", "vcf", "fasta"] }

# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
bincode = "1.3"

# Web server
axum = { version = "0.8", features = ["multipart"] }
tokio = { version = "1.43", features = ["full"] }
tower = { version = "0.5", features = ["limit"] }
tower-http = { version = "0.6", features = ["fs", "limit", "timeout", "set-header"] }

# Utilities
anyhow = "1.0"
thiserror = "2.0"
md5 = "0.7"
chrono = { version = "0.4", features = ["serde"] }
open = "5.0"
flate2 = "1.0"

# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

# Security
tempfile = "3.15"
tower_governor = "0.6"

[build-dependencies]
serde_json = "1.0"

[dev-dependencies]
assert_cmd = "2.0"
predicates = "3.0"

[profile.release]
lto = true
codegen-units = 1
strip = true

[[bin]]
name = "ref-solver"
path = "src/main.rs"