Skip to content
anandojhaPublic

About

GPU-accelerated Python toolkit for computing bimolecular association rate constants via rigid-body Brownian dynamics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Repository files navigation

██████╗ ██╗   ██╗███████╗████████╗ █████╗ ██████╗  ██████╗
██╔══██╗╚██╗ ██╔╝██╔════╝╚══██╔══╝██╔══██╗██╔══██╗██╔════╝
██████╔╝ ╚████╔╝ ███████╗   ██║   ███████║██████╔╝██║     
██╔═══╝   ╚██╔╝  ╚════██║   ██║   ██╔══██║██╔══██╗██║     
██║        ██║   ███████║   ██║   ██║  ██║██║  ██║╚██████╗
╚═╝        ╚═╝   ╚══════╝   ╚═╝   ╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝

Python Simulation Toolkit for Association Rate Constants

GPU-accelerated rigid body and flexible chain Brownian dynamics simulations for bimolecular association rate constants


CI codecov CodeFactor

PyPI Downloads Python 3.11+ CUDA

License: MIT Code style: black Dependabot Lines of Code

PySTARC Brownian dynamics demonstration

Overview

PySTARC computes the bimolecular association rate constants by implementing rigid-body Brownian dynamics within the Northrup-Allison-McCammon formalism. Trajectories run in parallel on the GPU with a NumPy CPU fallback.

Installation

GPU (Linux / HPC):

git clone https://github.com/anandojha/PySTARC.git
cd PySTARC
bash install_PySTARC.sh

Mac / CPU:

git clone https://github.com/anandojha/PySTARC.git
cd PySTARC
conda create -n PySTARC python=3.11 -y
conda activate PySTARC
conda install -c conda-forge ambertools apbs rdkit openbabel -y
conda install -c openeye openeye-toolkits -y
pip install matplotlib pdb2pqr
pip install pystarc --force-reinstall

Testing

python -m pytest tests/
python -m pytest tests/ -v

Quick start

conda activate PySTARC
module load cuda                # HPC only
cd examples/two_charged_spheres
bash run.sh

Tutorials

See examples/ for the tutorials. Each complex has its own README listing the inputs, run commands, and outputs. Start with two_charged_spheres to validate the installation against the analytical rate. The barnase_barstar tutorial demonstrates the flexible chain workflow.

examples/
├── two_charged_spheres/              Analytical validation for the exact Smoluchowski solution
├── trypsin_benzamidine/              Protein-ligand complex
├── beta_cyclodextrin_guests/         Host-guest complexes
├── thrombin_thrombomodulin/          Protein-protein complex
├── p38_mapk_sb203580/                Protein-ligand complex
├── carbonic_anhydrase_inhibitors/    Protein-ligand complexes
├── hsp90_inhibitors/                 Protein-ligand complexes
├── ttk_inhibitors/                   Protein-ligand complexes
└── barnase_barstar/                  Protein-protein complex with a flexible chain on CPUs

Requirements

Python 3.11+
AmberTools
APBS
OpenBabel
RDKit
OpenEye Toolkits
NumPy
SciPy
Click
Numba
Matplotlib
pdb2pqr
CuPy

OpenEye Toolkits require a license (OE_LICENSE). Only setup.py in the p38, HSP90, and TTK examples uses them.

License

MIT

Citation

When using PySTARC, please cite

Anupam Anand Ojha, Gary Huber, Shiksha Dutta, Sonya M. Hanson. PySTARC: GPU-accelerated Brownian dynamics for bimolecular association rate constants (2026). https://doi.org/10.64898/2026.09.28.754770

About

GPU-accelerated Python toolkit for computing bimolecular association rate constants via rigid-body Brownian dynamics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages