This is a port of the Arpeggio library to Rust, with a focus on identifying certain protein-protein interactions in PDB and mmCIF files.
- Parse PDB and mmCIF files
- Parse user selection of chain groups
- Extract protein chains and residues
- Calculate distances between residues
- Identify protein-protein interactions
- Steric clashes
- VdW interactions
- Hydrophobic interactions
- Aromatic interactions
- Cation-pi interactions
- Ionic interactions
- Hydrogen bonds
- Weak hydrogen bonds
- Disulfide bonds
- Covalent bonds
- Output results in various formats (e.g., JSON, CSV)
- Bundle into a
PyO3
extension module -
Add hydrogens to the structure model
TODO: publish to crates.io
Binaries for tagged releases can be found at the GitHub Releases page.
-
Clone the repository:
git clone https://github.com/y1zhou/arpeggia.git cd arpeggia
-
Build and install using Cargo:
cargo install --path .
This will install the arpeggia
binary to your Cargo binary directory (usually ~/.cargo/bin
).
To see all available commands and options:
arpeggia help
TODO: document how the
contacts
,sasa
, andseq
commands can be used.