[package]
edition = "2024"
rust-version = "1.98.1"
name = "molframe"
version = "0.2.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A batteries-included structural bioinformatics engine"
readme = "README.md"
license = "MIT"
repository = "https://github.com/miguelcsx/molframe"
[features]
adapters = [
"dep:molframe-adapters",
"molframe-engine/adapters",
]
analysis = [
"spatial",
"geometry",
"chemistry",
"dep:molframe-analysis",
"dep:molframe-surface",
"molframe-engine/analysis",
]
audit = [
"analysis",
"dep:molframe-audit",
"molframe-engine/audit",
]
bcif = [
"mmcif",
"dep:molframe-bcif",
"molframe-engine/bcif",
]
chemistry = [
"dep:molframe-chem",
"molframe-engine/chemistry",
]
compare = [
"geometry",
"chemistry",
"sequence",
"dep:molframe-compare",
"molframe-engine/compare",
]
crystal = [
"dep:molframe-xtal",
"spatial",
"molframe-engine/crystal",
]
default = [
"mmcif",
"pdb",
]
full = [
"mmcif",
"bcif",
"modelcif",
"pdb",
"geometry",
"ic",
"query",
"spatial",
"chemistry",
"crystal",
"surface",
"analysis",
"validation",
"sequence",
"compare",
"trajectory",
"audit",
"motif",
"adapters",
"interop",
"gzip",
"zstd",
"mmap",
]
geometry = [
"dep:molframe-geom",
"molframe-engine/geometry",
]
gzip = [
"molframe-core/gzip",
"molframe-engine/gzip",
]
ic = [
"geometry",
"dep:molframe-ic",
"molframe-engine/ic",
]
interop = [
"dep:molframe-interop",
"molframe-engine/interop",
]
mmap = [
"molframe-core/mmap",
"molframe-engine/mmap",
]
mmcif = [
"dep:molframe-cif",
"molframe-engine/mmcif",
]
modelcif = [
"mmcif",
"dep:molframe-modelcif",
"molframe-engine/modelcif",
]
motif = [
"geometry",
"chemistry",
"dep:molframe-fx",
"molframe-engine/motif",
]
pdb = [
"dep:molframe-pdb",
"molframe-engine/pdb",
]
query = [
"dep:molframe-query",
"molframe-engine/query",
]
sequence = [
"dep:molframe-seq",
"molframe-engine/sequence",
]
spatial = [
"query",
"dep:molframe-spatial",
"molframe-engine/spatial",
]
surface = [
"spatial",
"dep:molframe-surface",
"molframe-engine/surface",
]
trajectory = [
"dep:molframe-traj",
"molframe-engine/trajectory",
]
validation = [
"spatial",
"geometry",
"chemistry",
"dep:molframe-validate",
"molframe-engine/validation",
]
zstd = [
"molframe-core/zstd",
"molframe-engine/zstd",
]
[lib]
name = "molframe"
path = "src/lib.rs"
[[test]]
name = "golden_tests"
path = "tests/golden_tests.rs"
required-features = ["full"]
[[test]]
name = "golden_workflows"
path = "tests/golden_workflows.rs"
required-features = ["full"]
[[bench]]
name = "facade"
path = "benches/facade.rs"
harness = false
required-features = ["full"]
[[bench]]
name = "golden"
path = "benches/golden.rs"
harness = false
required-features = ["full"]
[dependencies.molframe-adapters]
version = "0.2.1"
optional = true
[dependencies.molframe-analysis]
version = "0.2.1"
optional = true
[dependencies.molframe-audit]
version = "0.2.1"
optional = true
[dependencies.molframe-bcif]
version = "0.2.1"
optional = true
[dependencies.molframe-chem]
version = "0.2.1"
optional = true
[dependencies.molframe-cif]
version = "0.2.1"
optional = true
[dependencies.molframe-compare]
version = "0.2.1"
optional = true
[dependencies.molframe-core]
version = "0.2.1"
[dependencies.molframe-engine]
version = "0.2.1"
[dependencies.molframe-fx]
version = "0.2.1"
optional = true
[dependencies.molframe-geom]
version = "0.2.1"
optional = true
[dependencies.molframe-ic]
version = "0.2.1"
optional = true
[dependencies.molframe-interop]
version = "0.2.1"
optional = true
[dependencies.molframe-modelcif]
version = "0.2.1"
optional = true
[dependencies.molframe-pdb]
version = "0.2.1"
optional = true
[dependencies.molframe-query]
version = "0.2.1"
optional = true
[dependencies.molframe-seq]
version = "0.2.1"
optional = true
[dependencies.molframe-spatial]
version = "0.2.1"
optional = true
[dependencies.molframe-surface]
version = "0.2.1"
optional = true
[dependencies.molframe-traj]
version = "0.2.1"
optional = true
[dependencies.molframe-validate]
version = "0.2.1"
optional = true
[dependencies.molframe-xtal]
version = "0.2.1"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.toml]
version = "0.9"
[dev-dependencies.criterion]
version = "0.5"
features = ["cargo_bench_support"]
default-features = false
[dev-dependencies.flate2]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[lints.clippy]
cognitive_complexity = "warn"
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_debug_implementations = "warn"
missing_docs = "warn"