Skip to main content

PyPI version PyPI - Downloads

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)

Source distribution for pkai 1.2.0
File Size Uploaded
pKAI-1.2.0.tar.gz 27.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pkai 1.2.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1

2 release files

1.0

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page