propka
Heuristic pKa calculations with ligands
What it is and what it does
PROPKA is a mature bioinformatics library that calculates pKa values—the pH at which ionizable amino acid residues protonate or deprotonate—directly from protein 3D structures. It uses empirical heuristics calibrated on experimental data and handles both standalone proteins and protein-ligand complexes. The method is described in peer-reviewed literature and has been in use since at least 2011.
The package provides both a command-line interface and a Python API for integration into computational workflows. It requires only a PDB structure file as input and has no external runtime dependencies, making it straightforward to install and use in analysis pipelines. However, the project shows dormant maintenance (last release January 2024, no recent commits tracked), so users should verify that its predictions meet their accuracy requirements before relying on it for new research.
Use it for:
- Calculate protonation states of proteins at physiological pH for molecular dynamics simulations or docking studies.
- Predict ionizable residue pKa shifts caused by protein-ligand binding to understand binding thermodynamics.
- Batch-process PDB structures to generate pKa tables for structural biology databases or annotation pipelines.
- Rationalize experimental pH-dependent protein behavior by mapping predicted pKa values to observed titration curves.
- Prepare protein structures for pH-dependent computational studies by assigning appropriate protonation states.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PROPKA predicts pKa values of ionizable groups in proteins and protein-ligand complexes from 3D structure using empirical heuristics.
Yes, if you need offline pKa prediction from PDB structures and can verify the method's accuracy for your use case. The package is mature, has no dependencies, and installs easily. However, dormant maintenance and lack of recent commits mean you should test predictions against your own data or literature benchmarks before using results in new publications. The LGPL copyleft license requires derivative works to remain open-source.
Install
propka on PyPI
pip
pip install propkauv
uv add propkapoetry
poetry add propkaInstalling propka
Before you install
Low install friction with no runtime dependencies. Dormant maintenance status (955 days since last release) but marked mature and supporting current Python versions through 3.12.
License in practice
Licensed under LGPL v2.1 (copyleft). Derivative works and modifications must be distributed under the same license; static linking or bundling requires careful compliance review.
Quickstart
pip install propka
from propka.molecular_container import MolecularContainer
mol = MolecularContainer('protein.pdb')
mol.calculate_pka()
Requires a valid PDB structure file as input; PROPKA is a command-line and library tool for offline calculation, not a web service.
Verify before relying
- Whether the dormant status (no commits tracked) reflects genuine maintenance or only PyPI release infrequency.
- Performance characteristics and accuracy benchmarks for modern protein structures or large complexes.
- Whether ligand handling in version 3.1+ is production-ready or still experimental.
Package facts
| License | LGPL v2.1 (copyleft) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | dormant — 955 days since the last release |
| First released | |
| Downloads | 436,779/month — #6,673 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: propka-3.5.1-py3-none-any.whl
Keywords: science
Tags
More Bio-Informatics packages
NetworkX provides data structures and…
permissive · top 1,000 on PyPI
biopythonBiopython provides Python tools for…
unclear · top 5,000 on PyPI
firecrawl-pyClient library for the Firecrawl API that…
permissive · top 5,000 on PyPI
intervaltreeA self-balancing interval tree data structure…
permissive · top 5,000 on PyPI
albumentationsAlbumentations applies image transformations to…
permissive · top 5,000 on PyPI
PubChemPyPubChemPy is a Python wrapper around the…
permissive · top 5,000 on PyPI
pdb2pqrPDB2PQR prepares protein structures from PDB…
permissive · top 15,000 on PyPI
prolifProLIF generates interaction fingerprints from…
permissive · top 15,000 on PyPI
tmtoolsProvides Python bindings to the TM-align…
copyleft · top 15,000 on PyPI
mordredcommunityCalculates molecular descriptors from chemical…
permissive · top 15,000 on PyPI
pydsspPyDSSP assigns protein secondary structure…
permissive · top 15,000 on PyPI
py3DmolEmbeds an interactive 3D molecular viewer in…
permissive · top 15,000 on PyPI
fair-esmProvides pre-trained transformer protein…
permissive · top 15,000 on PyPI
chempropChemprop trains and deploys message passing…
permissive · top 15,000 on PyPI
mhctoolsUnified Python interface to multiple MHC…
permissive · top 15,000 on PyPI
pdbeccdutilsParse and process small molecule definitions…
permissive · top 15,000 on PyPI