A python module for flexible Poisson-Boltzmann based pKa calculations with proton tautomerism
Project description
pKAI
A fast and interpretable deep learning approach to accurate electrostatics-driven pKa prediction
@article{pkai,
author = {Reis, Pedro B. P. S. and Bertolini, Marco and Montanari, Floriane and Machuqueiro, Miguel and Clevert, Djork-Arné},
title = {pKAI: A fast and interpretable deep learning approach to accurate electrostatics-driven pKa prediction},
note = {in preparation}
}
Installation & Basic Usage
We recommend installing pKAI on a conda enviroment. The pKAI+ model will be downloaded on the first execution and saved for subsequent runs.
python3 -m pip install pKAI
pKAI <pdbfile>
It can also be used as python function,
from pKAI.pKAI import pKAI
pks = pKAI(pdb)
where each element of the returned list is a tuple of size 4. (chain, resnumb, resname, pk)
pKAI+ vs pKAI models
pKAI+ (default model) aims to predict experimental pKa values from a single conformation. To do such, the interactions characterized in the input structure are given less weight and, as a consequence, the predictions are closer to the pKa values of the residues in water. This effect is comparable to an increase in the dielectric constant of the protein in Poisson-Boltzmann models. In these models, the dielectric constant tries to capture, among others, electronic polarization and side-chain reorganization. When including conformational sampling explicitly, one should use a lower value for the dielectric constant of the protein. Likewise, one should use pKAI -- instead of pKAI+ -- as in this model there is no penalization of the interactions' impact on the predicted pKa values.
tl;dr version
- use pKAI+ for pKa predictions arising from a single structure
- use pKAI for pKa predictions arising from multiple conformations
Change the model to be used in the calculation by evoking the model
argument:
pKAI <pdbfile> --model pKAI
Benchmark
Performed on 736 experimental values taken from the PKAD database1.
Method | RMSE | MAE | Quantile 0.9 | Error < 0.5 (%) |
---|---|---|---|---|
Null2 | 1.09 | 0.72 | 1.51 | 52.3 |
PROPKA3 | 1.11 | 0.73 | 1.58 | 51.1 |
PypKa4 | 1.07 | 0.71 | 1.48 | 52.6 |
pKAI | 1.15 | 0.75 | 1.66 | 49.3 |
pKAI+ | 0.98 | 0.64 | 1.37 | 55.0 |
[1] Pahari, Swagata et al. "PKAD: a database of experimentally measured pKa values of ionizable groups in proteins." doi:10.1093/database/baz024
[2] Thurlkill, Richard L et al. “pK values of the ionizable groups of proteins.” doi:10.1110/ps.051840806
[3] Olsson, Mats H M et al. “PROPKA3: Consistent Treatment of Internal and Surface Residues in Empirical pKa Predictions.” doi:10.1021/ct100578z
[4] Reis, Pedro B P S et al. “PypKa: A Flexible Python Module for Poisson-Boltzmann-Based pKa Calculations.” doi:10.1021/acs.jcim.0c00718
License
This source code is licensed under the MIT license found in the LICENSE file in the root directory of this source tree.
Contacts
Please submit a github issue to report bugs and to request new features. Alternatively, you may email the developer directly.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pKAI-1.2.0.tar.gz
.
File metadata
- Download URL: pKAI-1.2.0.tar.gz
- Upload date:
- Size: 27.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.10 CPython/3.8.10 Linux/5.4.0-105-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e673c257570cb0597fbfefabd7bab027dab8d01ae6767310e96c0dd3e01ae5ba |
|
MD5 | dbe1f5b2ae3a4a23d6aeef7ef3035ecc |
|
BLAKE2b-256 | 8201eded6772cc3428bebb96c64c935be6b78435281709e85e1704053804ad6a |
File details
Details for the file pKAI-1.2.0-py3-none-any.whl
.
File metadata
- Download URL: pKAI-1.2.0-py3-none-any.whl
- Upload date:
- Size: 27.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.10 CPython/3.8.10 Linux/5.4.0-105-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9c55fa2fb51f4e7cff1b4a4315f7c9359625489433be6dbd64e16ee77d1e5d1 |
|
MD5 | a9d1875dfd93769b1b3795577125009a |
|
BLAKE2b-256 | 4fdda3a29323af0686fdda73a4b0a47350b0513ec6843ccf523625ae43113185 |