Skip to main content

Prediction of protonation states for small molecules

Project description

pKasso

Developed by Bind Research

Protonation state prediction for small molecules

pKasso determines protonation states for small molecules from SMILES strings or RDKit molecule objects. pKasso is open-source and free to use (MIT Licence).

Protonation microstates describe the unique charge patterns on protonable sites of molecules. The acid/base equilibria (micro-pKa values) of individual protonable sites are coupled, leading to a graph of free energy difference between protonation microstates. pKasso computes this graph based on micro-pKa predictions from MolGpKa. pKasso then converts the results into pH-dependent absolute microstate probabilities and predicts net acid/base equilibria (macro-pKa values) of the molecule.

pKasso is under active development. Features, prediction models, and results may change in future releases.

Run pKasso

The easiest way to run pKasso is via the webserver.

Local installation

# Create conda environment
conda create -n pkasso python=3.12
conda activate pkasso

# Install pkasso from PyPI
pip install pkasso

Command line interface

The command line interface is called via pkasso.

  1. pkasso single: Calculate single pH-dependent microstate probabilities given a SMILES string
  2. pkasso batch: Batch process a .smi file to calculate pH-dependent microstates
  3. pkasso scan: Scan a pH range and plot the microstate distributions for all pH values (for a single molecule); calculate macro-pKa values.
pkasso --smiles 'OC(=O)C(c1ccc(O)cc1)CNCCN'
# equivalent to
# pkasso single --smiles 'OC(=O)C(c1ccc(O)cc1)CNCCN'

Get help for different pKasso options (single prediction, batch prediction, pH scan) with

pkasso --help
pkasso single --help
pkasso batch --help
pkasso scan --help

Python interface

from pkasso import protonate

name = 'mymolecule'
smiles = r'OC(=O)C(c1ccc(O)cc1)CNCCN'
pH = 7.0

# Include microstates with probability of 20% compared to most probable microstate
# Select cutoff_export = 1. to only output the most likely microstate
cutoff_export = 0.2

# protonate accepts a smiles string or an rdkit Mol as input
smiles_out, mols_out = protonate(smiles, name=name, pH=pH, cutoff_export=cutoff_export)
print(smiles_out)

For more examples, see the jupyter notebook.

Local webserver

A local webserver can be hosted via pip install pkasso[webserver] followed by calling pkasso-web or by downloading and running the docker image (main).

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

pkasso-0.5.2.tar.gz (11.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pkasso-0.5.2-py3-none-any.whl (11.1 MB view details)

Uploaded Python 3

File details

Details for the file pkasso-0.5.2.tar.gz.

File metadata

  • Download URL: pkasso-0.5.2.tar.gz
  • Upload date:
  • Size: 11.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pkasso-0.5.2.tar.gz
Algorithm Hash digest
SHA256 f7a54fef0c49274e8669f7b67a9e87def7b4c8e728bbbd0dc035f0b13c4aa09e
MD5 4ce6f62f9bd8acf6b54cf7a59a634a61
BLAKE2b-256 2a5d109866a4aaf0029a74d77c2d27e91824c8f053b77425a6fcbf70a96e5f98

See more details on using hashes here.

Provenance

The following attestation bundles were made for pkasso-0.5.2.tar.gz:

Publisher: publish-pypi.yml on bindresearch/pkasso

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pkasso-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: pkasso-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 11.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pkasso-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c3f00932e30ff4e3d61d2252f6decda44ae7b6928670e36f441bf498b4c20c08
MD5 08d99b2aca58a1bdd893097d67060d53
BLAKE2b-256 54da7998b609550fced21b1246f0e61b010eb9a5ab661ffcc222d8fef719b39d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pkasso-0.5.2-py3-none-any.whl:

Publisher: publish-pypi.yml on bindresearch/pkasso

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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