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.3.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.3-py3-none-any.whl (11.1 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pkasso-0.5.3.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.3.tar.gz
Algorithm Hash digest
SHA256 1713982ee31e69102a15c60f6d17595eb659909384831a5da9c4edbd5758a028
MD5 6824844fb5f80e0ad654133bf6665d03
BLAKE2b-256 f0040cada1db253980ebf4f53da9baf863d92794b6bcfc606be5c998d4bf2055

See more details on using hashes here.

Provenance

The following attestation bundles were made for pkasso-0.5.3.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.3-py3-none-any.whl.

File metadata

  • Download URL: pkasso-0.5.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c6de07a6389dd4e2cc125bc9411ca93de9fb1adff302d7e3f91128798748aec3
MD5 d32d4eacaf3295a7864ada56b9feb35a
BLAKE2b-256 476f83d3d819842589d0aa5c18705c0fcd6b426a5551e4fcb1f07e3426a3a567

See more details on using hashes here.

Provenance

The following attestation bundles were made for pkasso-0.5.3-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