OpenMS
Loading...
Searching...
No Matches
IsoelectricPoint Class Reference

#include <OpenMS/CHEMISTRY/IsoelectricPoint.h>

Classes

struct  PkaValues
 Internal struct holding pKa values for a given scale. More...
 

Static Public Member Functions

static double computeCharge (const AASequence &seq, double pH, ProteomicsPkaScale scale=ProteomicsPkaScale::LEHNINGER)
 Computes the net charge of an amino acid sequence at a given pH.
 
static double computePI (const AASequence &seq, ProteomicsPkaScale scale=ProteomicsPkaScale::LEHNINGER, double tolerance=1e-4)
 Computes the isoelectric point (pI) of an amino acid sequence via bisection.
 

Static Private Member Functions

static const PkaValuesgetPkaValues_ (ProteomicsPkaScale scale)
 Returns the pKa values for the specified scale.
 
static double chargeAcidic_ (double pH, double pKa)
 Charge contribution from an acidic group (COOH, side chains of D, E, C, Y)
 
static double chargeBasic_ (double pH, double pKa)
 Charge contribution from a basic group (NH2, side chains of H, K, R)
 

Class Documentation

◆ OpenMS::IsoelectricPoint::PkaValues

struct OpenMS::IsoelectricPoint::PkaValues

Internal struct holding pKa values for a given scale.

Collaboration diagram for IsoelectricPoint::PkaValues:
[legend]
Class Members
double C Cysteine side chain.
double cterm pKa of the C-terminal carboxyl group (default; overridden per residue when cterm_by_residue is non-empty)
unordered_map< char, double > cterm_by_residue Per-residue C-terminal pKa (Bjellqvist scale). Overrides cterm for the last residue when non-empty.
double D Aspartate side chain.
double E Glutamate side chain.
double H Histidine side chain.
double K Lysine side chain.
double nterm pKa of the N-terminal amino group (default; overridden per residue when nterm_by_residue is non-empty)
unordered_map< char, double > nterm_by_residue Per-residue N-terminal pKa (Bjellqvist scale). Overrides nterm for the first residue when non-empty.
double R

Arginine side chain

double Y Tyrosine side chain.

Member Function Documentation

◆ chargeAcidic_()

static double chargeAcidic_ ( double  pH,
double  pKa 
)
staticprivate

Charge contribution from an acidic group (COOH, side chains of D, E, C, Y)

◆ chargeBasic_()

static double chargeBasic_ ( double  pH,
double  pKa 
)
staticprivate

Charge contribution from a basic group (NH2, side chains of H, K, R)

◆ computeCharge()

static double computeCharge ( const AASequence seq,
double  pH,
ProteomicsPkaScale  scale = ProteomicsPkaScale::LEHNINGER 
)
static

Computes the net charge of an amino acid sequence at a given pH.

Parameters
seqThe amino acid sequence
pHThe pH value at which to compute the charge
scaleThe pKa scale to use (default: Lehninger)
Returns
The net charge of the peptide at the given pH
Exceptions
Exception::InvalidValueif the sequence is empty

◆ computePI()

static double computePI ( const AASequence seq,
ProteomicsPkaScale  scale = ProteomicsPkaScale::LEHNINGER,
double  tolerance = 1e-4 
)
static

Computes the isoelectric point (pI) of an amino acid sequence via bisection.

Parameters
seqThe amino acid sequence
scaleThe pKa scale to use (default: Lehninger)
toleranceThe convergence tolerance for the bisection (default: 1e-4)
Returns
The isoelectric point (pH where net charge ≈ 0)
Exceptions
Exception::InvalidValueif the sequence is empty

◆ getPkaValues_()

static const PkaValues & getPkaValues_ ( ProteomicsPkaScale  scale)
staticprivate

Returns the pKa values for the specified scale.