Skip to content

Calculation of interatomic interactions in molecular structures

License

Notifications You must be signed in to change notification settings

y1zhou/arpeggia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arpeggia

This is a port of the Arpeggio library to Rust, with a focus on identifying certain protein-protein interactions in PDB and mmCIF files.

Features

  • 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

Installation

Cargo install

TODO: publish to crates.io

Pre-built binaries

Binaries for tagged releases can be found at the GitHub Releases page.

Build from source

  1. Clone the repository:

    git clone https://github.com/y1zhou/arpeggia.git
    cd arpeggia
  2. Build and install using Cargo:

    cargo install --path .

This will install the arpeggia binary to your Cargo binary directory (usually ~/.cargo/bin).

Usage

To see all available commands and options:

arpeggia help

TODO: document how the contacts, sasa, and seq commands can be used.