Code Monkey home page Code Monkey logo

pkai's Introduction

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.

pkai's People

Contributors

pedrishi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.