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.
Metadata
Release files for pkai 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pKAI-1.2.0.tar.gz | 27.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pKAI-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 54.5 MB
Release files / pKAI-1.2.0.tar.gz
| Download URL | pKAI-1.2.0.tar.gz |
|---|---|
| Size | 27.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e673c257570cb0597fbfefabd7bab027dab8d01ae6767310e96c0dd3e01ae5ba
|
|
BLAKE2b-256 checksum How to use checksums |
8201eded6772cc3428bebb96c64c935be6b78435281709e85e1704053804ad6a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.10 CPython/3.8.10 Linux/5.4.0-105-generic
|
Release files / pKAI-1.2.0-py3-none-any.whl
| Download URL | pKAI-1.2.0-py3-none-any.whl |
|---|---|
| Size | 27.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d9c55fa2fb51f4e7cff1b4a4315f7c9359625489433be6dbd64e16ee77d1e5d1
|
|
BLAKE2b-256 checksum How to use checksums |
4fdda3a29323af0686fdda73a4b0a47350b0513ec6843ccf523625ae43113185
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.10 CPython/3.8.10 Linux/5.4.0-105-generic
|