Skip to main content

Prediction of protonation states for small molecules

Project description

pKasso

pKasso determines protonation states for small molecules based on the pKa predictor MolGpKa (https://github.com/Xundrug/MolGpKa).

One protonation microstate describes a unique charge pattern on the protonable sites of molecules. pKasso enumerates protonation microstates, screens pKa values between connected microstates, and predicts pH-dependent microstate frequencies based on the graph of free energy differences between microstates.

The easiest way to run pKasso is via the webserver: [ADD LINK TO WEBSERVER]

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 (e.g. in a notebook)

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 in example/example.ipynb.

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 [ADD LINK].

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: pkasso-0.5.0.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.0.tar.gz
Algorithm Hash digest
SHA256 38f9f40f9e04eda1cc3d843f73cde1d722b51808d2fc264ebfb5c13809ba4da9
MD5 dfce3ee9b789439501eef825e5283a66
BLAKE2b-256 b0075dd98f337ecc95f14e50105ea5c6fd2faf1b0157973b6f82453a4f78ee14

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pkasso-0.5.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e8ea5600d5b386bd9f24ca7e7b1e9534d25b15a9676b95fb487f2f267e43b082
MD5 acbaa5e31eb3e5f2281b92aa09c2911a
BLAKE2b-256 773e0026575aabc8bc84e58f4792d0ce69f68afbea811d01d8c2a3f0468bd2f9

See more details on using hashes here.

Provenance

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