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

Uploaded Python 3

File details

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

File metadata

  • Download URL: pkasso-0.5.1.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.1.tar.gz
Algorithm Hash digest
SHA256 1513928e6b3edd250a510730efb41cc8b478a59025a7a81d7bedcf35f0af265b
MD5 b7e2d46948fc42be8b9f2e1d9d59636f
BLAKE2b-256 70a060467f3af4dc21e15456f564da0d18407a904fcd52066fb09d17068cadc9

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pkasso-0.5.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0142f756c14325da610ed8e3b3836cd9914b3492066968eed0dce606cbbaa21e
MD5 0ddd4cdebd14ccfcf2b61785200137cb
BLAKE2b-256 375623b21b8114fa5269995f531f16a75ad07cdb10e51679fe8ba0d1d361a932

See more details on using hashes here.

Provenance

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