Skip to main content

A python module for flexible Poisson-Boltzmann based pKa calculations with proton tautomerism

Project description

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.

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

pKAI-1.2.0.tar.gz (27.3 MB view details)

Uploaded Source

Built Distribution

pKAI-1.2.0-py3-none-any.whl (27.3 MB view details)

Uploaded Python 3

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

Hashes for pKAI-1.2.0.tar.gz
Algorithm Hash digest
SHA256 e673c257570cb0597fbfefabd7bab027dab8d01ae6767310e96c0dd3e01ae5ba
MD5 dbe1f5b2ae3a4a23d6aeef7ef3035ecc
BLAKE2b-256 8201eded6772cc3428bebb96c64c935be6b78435281709e85e1704053804ad6a

See more details on using hashes here.

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

Hashes for pKAI-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d9c55fa2fb51f4e7cff1b4a4315f7c9359625489433be6dbd64e16ee77d1e5d1
MD5 a9d1875dfd93769b1b3795577125009a
BLAKE2b-256 4fdda3a29323af0686fdda73a4b0a47350b0513ec6843ccf523625ae43113185

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page