pdbrust 0.7.0

A comprehensive Rust library for parsing and analyzing Protein Data Bank (PDB) files
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.85.0"
name = "pdbrust"
version = "0.7.0"
authors = ["Hosein Fooladi <fooladi.hosein@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A comprehensive Rust library for parsing and analyzing Protein Data Bank (PDB) files"
documentation = "https://docs.rs/pdbrust"
readme = "README.md"
keywords = [
    "bioinformatics",
    "protein",
    "pdb",
    "structural-biology",
    "chemistry",
]
categories = [
    "science",
    "parser-implementations",
    "data-structures",
]
license = "MIT"
repository = "https://github.com/hfooladi/pdbrust"
resolver = "2"

[package.metadata.maintenance]
status = "actively-developed"

[package.metadata.docs.rs]
all-features = true

[features]
analysis = [
    "filter",
    "descriptors",
    "quality",
    "summary",
    "dssp",
    "ligand-quality",
    "dockq",
]
default = []
descriptors = []
dockq = ["geometry"]
dssp = []
filter = []
full = [
    "parallel",
    "geometry",
    "analysis",
    "rcsb",
    "rcsb-async",
    "gzip",
]
geometry = ["nalgebra"]
gzip = ["flate2"]
ligand-quality = []
parallel = ["rayon"]
quality = []
rcsb = [
    "reqwest",
    "serde",
    "serde_json",
]
rcsb-async = [
    "rcsb",
    "tokio",
    "futures",
]
summary = [
    "descriptors",
    "quality",
]

[lib]
name = "pdbrust"
path = "src/lib.rs"

[[example]]
name = "analysis_workflow"
path = "examples/analysis_workflow.rs"

[[example]]
name = "async_download_demo"
path = "examples/async_download_demo.rs"

[[example]]
name = "atom_interactive"
path = "examples/atom_interactive.rs"

[[example]]
name = "b_factor_demo"
path = "examples/b_factor_demo.rs"

[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"

[[example]]
name = "batch_processing"
path = "examples/batch_processing.rs"

[[example]]
name = "dockq_demo"
path = "examples/dockq_demo.rs"

[[example]]
name = "dockq_detailed_comparison"
path = "examples/dockq_detailed_comparison.rs"

[[example]]
name = "dockq_validation"
path = "examples/dockq_validation.rs"

[[example]]
name = "filtering_demo"
path = "examples/filtering_demo.rs"

[[example]]
name = "full_pdb_benchmark"
path = "examples/full_pdb_benchmark.rs"

[[example]]
name = "geometry_demo"
path = "examples/geometry_demo.rs"

[[example]]
name = "lddt_demo"
path = "examples/lddt_demo.rs"

[[example]]
name = "ligand_quality_demo"
path = "examples/ligand_quality_demo.rs"

[[example]]
name = "rcsb_workflow"
path = "examples/rcsb_workflow.rs"

[[example]]
name = "read_pdb"
path = "examples/read_pdb.rs"

[[example]]
name = "rust_benchmark"
path = "examples/rust_benchmark.rs"

[[example]]
name = "secondary_structure_demo"
path = "examples/secondary_structure_demo.rs"

[[example]]
name = "selection_demo"
path = "examples/selection_demo.rs"

[[example]]
name = "validate_new_files"
path = "examples/validate_new_files.rs"

[[example]]
name = "write_pdb"
path = "examples/write_pdb.rs"

[[test]]
name = "alphafold_tests"
path = "tests/alphafold_tests.rs"

[[test]]
name = "descriptors_tests"
path = "tests/descriptors_tests.rs"

[[test]]
name = "dihedral_tests"
path = "tests/dihedral_tests.rs"

[[test]]
name = "dockq_tests"
path = "tests/dockq_tests.rs"

[[test]]
name = "dssp_tests"
path = "tests/dssp_tests.rs"

[[test]]
name = "filter_tests"
path = "tests/filter_tests.rs"

[[test]]
name = "geometry_tests"
path = "tests/geometry_tests.rs"

[[test]]
name = "hbond_api_tests"
path = "tests/hbond_api_tests.rs"

[[test]]
name = "interaction_tests"
path = "tests/interaction_tests.rs"

[[test]]
name = "lddt_tests"
path = "tests/lddt_tests.rs"

[[test]]
name = "ligand_quality_tests"
path = "tests/ligand_quality_tests.rs"

[[test]]
name = "mmcif_tests"
path = "tests/mmcif_tests.rs"

[[test]]
name = "parsing_tests"
path = "tests/parsing_tests.rs"

[[test]]
name = "property_tests"
path = "tests/property_tests.rs"

[[test]]
name = "quality_tests"
path = "tests/quality_tests.rs"

[[test]]
name = "rcsb_async_tests"
path = "tests/rcsb_async_tests.rs"

[[test]]
name = "rcsb_tests"
path = "tests/rcsb_tests.rs"

[[test]]
name = "selection_tests"
path = "tests/selection_tests.rs"

[[test]]
name = "summary_tests"
path = "tests/summary_tests.rs"

[[bench]]
name = "parsing_benchmark"
path = "benches/parsing_benchmark.rs"
harness = false

[dependencies.flate2]
version = "1.0"
optional = true

[dependencies.futures]
version = "0.3"
optional = true

[dependencies.itertools]
version = "0.12"

[dependencies.nalgebra]
version = "0.32"
optional = true

[dependencies.rayon]
version = "1.8"
optional = true

[dependencies.reqwest]
version = "0.12"
features = [
    "json",
    "blocking",
]
optional = true

[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true

[dependencies.serde_json]
version = "1.0"
optional = true

[dependencies.thiserror]
version = "1.0"

[dependencies.tokio]
version = "1.0"
features = [
    "rt-multi-thread",
    "sync",
    "time",
    "fs",
    "io-util",
    "macros",
]
optional = true

[dev-dependencies.codecov]
version = "0.4"

[dev-dependencies.criterion]
version = "0.5"

[dev-dependencies.proptest]
version = "1.4"

[dev-dependencies.tempfile]
version = "3.9"