[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"