PDBRust
A fast Rust library for parsing and analyzing PDB and mmCIF protein structure files.
Installation
[]
= "0.2"
With optional features:
[]
= { = "0.2", = ["filter", "descriptors", "rcsb"] }
Quick Start
use ;
Features
| Feature | Description |
|---|---|
filter |
Filter atoms, extract chains, remove ligands, clean structures |
descriptors |
Radius of gyration, amino acid composition, geometric metrics |
quality |
Structure quality assessment (altlocs, missing residues, etc.) |
summary |
Combined quality + descriptors in one call |
rcsb |
Search and download structures from RCSB PDB |
Examples
Filter and Clean Structures
use parse_pdb_file;
let structure = parse_pdb_file?;
// Extract CA coordinates
let ca_coords = structure.get_ca_coords;
// Chain operations with fluent API
let chain_a = structure
.remove_ligands
.keep_only_chain
.keep_only_ca;
Compute Structural Descriptors
let structure = parse_pdb_file?;
let rg = structure.radius_of_gyration;
let max_dist = structure.max_ca_distance;
let composition = structure.aa_composition;
// Or get everything at once
let descriptors = structure.structure_descriptors;
Download from RCSB PDB
use ;
// Download a structure
let structure = download_structure?;
// Search RCSB
let query = new
.with_text
.with_organism
.with_resolution_max;
let results = rcsb_search?;
Performance
Benchmarks against equivalent Python code show 40-260x speedups for in-memory operations:
| Operation | Speedup |
|---|---|
| Parsing | 2-3x |
| get_ca_coords | 240x |
| max_ca_distance | 260x |
| radius_of_gyration | 100x |
Documentation
License
MIT