[package]
name = "molframe"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
description = "A batteries-included structural bioinformatics engine"
[dependencies]
molframe-core.workspace = true
molframe-engine.workspace = true
molframe-adapters = { workspace = true, optional = true }
molframe-audit = { workspace = true, optional = true }
molframe-bcif = { workspace = true, optional = true }
molframe-cif = { workspace = true, optional = true }
molframe-chem = { workspace = true, optional = true }
molframe-spatial = { workspace = true, optional = true }
molframe-geom = { workspace = true, optional = true }
molframe-fx = { workspace = true, optional = true }
molframe-ic = { workspace = true, optional = true }
molframe-interop = { workspace = true, optional = true }
molframe-modelcif = { workspace = true, optional = true }
molframe-pdb = { workspace = true, optional = true }
molframe-query = { workspace = true, optional = true }
molframe-xtal = { workspace = true, optional = true }
molframe-surface = { workspace = true, optional = true }
molframe-analysis = { workspace = true, optional = true }
molframe-validate = { workspace = true, optional = true }
molframe-seq = { workspace = true, optional = true }
molframe-compare = { workspace = true, optional = true }
molframe-traj = { workspace = true, optional = true }
serde.workspace = true
serde_json.workspace = true
thiserror.workspace = true
toml.workspace = true
[dev-dependencies]
criterion.workspace = true
flate2.workspace = true
molframe-bench.workspace = true
sha2.workspace = true
tempfile.workspace = true
[[test]]
name = "golden_tests"
required-features = ["full"]
[[test]]
name = "golden_workflows"
required-features = ["full"]
[[test]]
name = "assembly_query"
required-features = ["full"]
[[test]]
name = "writer_metadata"
required-features = ["full"]
[[test]]
name = "ncs_real"
required-features = ["full"]
[[test]]
name = "modelcif_real"
required-features = ["full"]
[[bench]]
name = "facade"
harness = false
required-features = ["full"]
[[bench]]
name = "golden"
harness = false
required-features = ["full"]
[features]
default = ["mmcif", "pdb", "chemistry", "spatial"]
mmcif = ["dep:molframe-cif", "molframe-engine/mmcif"]
bcif = ["mmcif", "dep:molframe-bcif", "molframe-engine/bcif"]
modelcif = ["mmcif", "dep:molframe-modelcif", "molframe-engine/modelcif"]
pdb = ["dep:molframe-pdb", "molframe-engine/pdb"]
geometry = ["dep:molframe-geom", "molframe-engine/geometry"]
ic = ["geometry", "dep:molframe-ic", "molframe-engine/ic"]
query = ["dep:molframe-query", "molframe-engine/query"]
spatial = ["query", "dep:molframe-spatial", "molframe-engine/spatial"]
chemistry = ["dep:molframe-chem", "molframe-engine/chemistry"]
embedded-tables = ["chemistry", "molframe-chem/embedded-tables"]
interop = ["dep:molframe-interop", "molframe-engine/interop"]
adapters = ["dep:molframe-adapters", "dep:molframe-chem", "molframe-engine/adapters"]
crystal = ["dep:molframe-xtal", "spatial", "molframe-engine/crystal"]
surface = ["spatial", "dep:molframe-surface", "molframe-engine/surface"]
analysis = ["spatial", "geometry", "chemistry", "dep:molframe-analysis", "surface", "molframe-engine/analysis"]
validation = ["spatial", "geometry", "chemistry", "dep:molframe-validate", "molframe-engine/validation"]
sequence = ["chemistry", "dep:molframe-seq", "molframe-engine/sequence"]
compare = ["geometry", "chemistry", "sequence", "dep:molframe-compare", "molframe-engine/compare"]
trajectory = ["dep:molframe-traj", "molframe-engine/trajectory"]
audit = ["analysis", "dep:molframe-audit", "molframe-engine/audit"]
motif = ["geometry", "chemistry", "dep:molframe-fx", "molframe-engine/motif"]
gzip = ["molframe-core/gzip", "molframe-engine/gzip"]
zstd = ["molframe-core/zstd", "molframe-engine/zstd"]
mmap = ["molframe-core/mmap", "molframe-engine/mmap"]
full = ["mmcif", "bcif", "modelcif", "pdb", "geometry", "ic", "query", "spatial", "chemistry", "crystal", "surface", "analysis", "validation", "sequence", "compare", "trajectory", "audit", "motif", "adapters", "interop", "gzip", "zstd", "mmap"]
[lints]
workspace = true